diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION deleted file mode 100644 index f7962df3..00000000 --- a/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -7.22.0-SNAPSHOT diff --git a/Makefile b/Makefile index adef30cd..adfcb916 100644 --- a/Makefile +++ b/Makefile @@ -8,10 +8,16 @@ DOCKER ?= docker .PHONY: gen-api-client -gen-api-client: fetch-spec +gen-api-client: fetch-spec gen-api-client-sync gen-api-client-async + +.PHONY: gen-api-client-sync +gen-api-client-sync: + mkdir -p koyeb/api/.openapi-generator $(DOCKER) run --rm \ -v `pwd`/spec:/spec \ - -v `pwd`:/builder openapitools/openapi-generator-cli:${OPENAPI_GENERATOR_VERSION} \ + -v `pwd`:/builder \ + -v `pwd`/koyeb/api/.openapi-generator:/builder/.openapi-generator \ + openapitools/openapi-generator-cli:${OPENAPI_GENERATOR_VERSION} \ generate \ --git-user-id ${GIT_USER_ID} \ --git-repo-id ${GIT_REPO_ID} \ @@ -24,6 +30,27 @@ gen-api-client: fetch-spec --additional-properties generateSourceCodeOnly=true git checkout -- koyeb/__init__.py +.PHONY: gen-api-client-async +gen-api-client-async: + mkdir -p koyeb/api_async/.openapi-generator + $(DOCKER) run --rm \ + -v `pwd`/spec:/spec \ + -v `pwd`:/builder \ + -v `pwd`/koyeb/api_async/.openapi-generator:/builder/.openapi-generator \ + openapitools/openapi-generator-cli:${OPENAPI_GENERATOR_VERSION} \ + generate \ + --git-user-id ${GIT_USER_ID} \ + --git-repo-id ${GIT_REPO_ID} \ + -i /spec/openapi.json \ + -g python \ + -o /builder \ + --package-name koyeb.api_async \ + --additional-properties packageVersion=${PACKAGE_VERSION} \ + --additional-properties licenseInfo="Apache-2.0" \ + --additional-properties generateSourceCodeOnly=true \ + --additional-properties library=httpx + git checkout -- koyeb/__init__.py + .PHONY: gen-docs gen-docs: diff --git a/README.md b/README.md index 56ab918c..78afd9ca 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,8 @@ This is the official Python SDK for Koyeb, a platform that allows you to deploy # Modules -- `koyeb.api`: Contains the API client and methods to interact with Koyeb's REST API. [Documentation](./docs/api.md) +- `koyeb.api`: Contains the synchronous API client and methods to interact with Koyeb's REST API. [Documentation](./docs/api.md) +- `koyeb.api_async`: Contains the asynchronous API client (httpx-based) and methods to interact with Koyeb's REST API. [Documentation](./docs/api_async.md) - `koyeb.sandbox`: Contains the Sandbox module. [Documentation](./docs/sandbox.md) ## Koyeb Sanboxes diff --git a/bumpver.toml b/bumpver.toml index 6c654f06..acc0f24c 100644 --- a/bumpver.toml +++ b/bumpver.toml @@ -14,3 +14,6 @@ push = false "koyeb/api/api_client.py" = ['OpenAPI-Generator/{version}'] "koyeb/api/configuration.py" = ['SDK Package Version: {version}'] "koyeb/sandbox/__init__.py" = ['__version__ = "{version}"'] +"koyeb/api_async/__init__.py" = ['__version__ = "{version}"'] +"koyeb/api_async/api_client.py" = ['OpenAPI-Generator/{version}'] +"koyeb/api_async/configuration.py" = ['SDK Package Version: {version}'] diff --git a/docs/api.md b/docs/api.md index 4c1af3eb..bba8e111 100644 --- a/docs/api.md +++ b/docs/api.md @@ -118,7 +118,7 @@ def __init__(host: Optional[str] = None, int, ServerVariablesT]] = None, ignore_operation_servers: bool = False, ssl_ca_cert: Optional[str] = None, - retries: Optional[Union[int, Any]] = None, + retries: Optional[Union[int, urllib3.util.retry.Retry]] = None, ca_cert_data: Optional[Union[str, bytes]] = None, cert_file: Optional[str] = None, key_file: Optional[str] = None, @@ -2157,6 +2157,52 @@ def testCreateServiceReply() Test CreateServiceReply + + +# koyeb/api.test.test\_ktest\_test\_auth\_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. + + + +## TestKtestTestAuthRequest Objects + +```python +class TestKtestTestAuthRequest(unittest.TestCase) +``` + +KtestTestAuthRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KtestTestAuthRequest +``` + +Test KtestTestAuthRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKtestTestAuthRequest + +```python +def testKtestTestAuthRequest() +``` + +Test KtestTestAuthRequest + # koyeb/api.test.test\_update\_app\_reply @@ -7152,6 +7198,52 @@ def testUpdateOrganizationReply() Test UpdateOrganizationReply + + +# koyeb/api.test.test\_ktest\_test\_auth\_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. + + + +## TestKtestTestAuthReply Objects + +```python +class TestKtestTestAuthReply(unittest.TestCase) +``` + +KtestTestAuthReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KtestTestAuthReply +``` + +Test KtestTestAuthReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKtestTestAuthReply + +```python +def testKtestTestAuthReply() +``` + +Test KtestTestAuthReply + # koyeb/api.test.test\_o\_auth\_callback\_reply @@ -9576,6 +9668,53 @@ def testListSecretsReply() Test ListSecretsReply + + +# koyeb/api.test.test\_test\_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. + + + +## TestTestApi Objects + +```python +class TestTestApi(unittest.IsolatedAsyncioTestCase) +``` + +TestApi unit test stubs + + + +#### test\_test\_anon + +```python +async def test_test_anon() -> None +``` + +Test case for test_anon + +Test anonymous call + + + +#### test\_test\_auth + +```python +async def test_test_auth() -> None +``` + +Test case for test_auth + +Test authenticated call + # koyeb/api.test.test\_archives\_api @@ -33443,6 +33582,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self] Create an instance of RedeployRequestInfo from a dict + + +# koyeb/api.models.ktest\_test\_auth\_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. + + + +## KtestTestAuthRequest Objects + +```python +class KtestTestAuthRequest(BaseModel) +``` + +KtestTestAuthRequest + + + +#### 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 KtestTestAuthRequest 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 KtestTestAuthRequest from a dict + # koyeb/api.models.get\_subscription\_reply @@ -42078,6 +42299,88 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self] Create an instance of LifecycleQuotas from a dict + + +# koyeb/api.models.ktest\_test\_auth\_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. + + + +## KtestTestAuthReply Objects + +```python +class KtestTestAuthReply(BaseModel) +``` + +KtestTestAuthReply + + + +#### 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 KtestTestAuthReply 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 KtestTestAuthReply from a dict + # koyeb/api.models.create\_service\_reply @@ -62881,7 +63184,7 @@ def create_invite( _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0) -> object ``` -create_invite +DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -62926,7 +63229,7 @@ def create_invite_with_http_info( ) -> ApiResponse[object] ``` -create_invite +DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -62971,7 +63274,7 @@ def create_invite_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -create_invite +DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -66667,7 +66970,7 @@ def switch_organization( Field(ge=0, le=0)] = 0) -> LoginReply ``` -Switch Organization context +Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -66717,7 +67020,7 @@ def switch_organization_with_http_info( ) -> ApiResponse[LoginReply] ``` -Switch Organization context +Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -66767,7 +67070,7 @@ def switch_organization_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Switch Organization context +Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -68562,7 +68865,7 @@ def login( Field(ge=0, le=0)] = 0) -> LoginReply ``` -Login user +Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -68610,7 +68913,7 @@ def login_with_http_info( ) -> ApiResponse[LoginReply] ``` -Login user +Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -68658,7 +68961,7 @@ def login_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Login user +Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -68701,7 +69004,7 @@ def logout(_request_timeout: Union[None, Annotated[StrictFloat, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0) -> object ``` -Logout user +Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -68744,7 +69047,7 @@ def logout_with_http_info( ) -> ApiResponse[object] ``` -Logout user +Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -68787,7 +69090,7 @@ def logout_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Logout user +Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -68832,7 +69135,7 @@ def new_session( New session -Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use "Switch organization". +Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use "Switch organization". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -68877,7 +69180,7 @@ def new_session_with_http_info( New session -Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use "Switch organization". +Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use "Switch organization". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -68922,7 +69225,7 @@ def new_session_without_preload_content( New session -Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use "Switch organization". +Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use "Switch organization". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -68965,7 +69268,7 @@ def refresh_token( Field(ge=0, le=0)] = 0) -> LoginReply ``` -Refresh token +Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -69008,7 +69311,7 @@ def refresh_token_with_http_info( ) -> ApiResponse[LoginReply] ``` -Refresh token +Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -69051,7 +69354,7 @@ def refresh_token_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Refresh token +Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -70157,7 +70460,7 @@ def accept_organization_invitation( ) -> AcceptOrganizationInvitationReply ``` -Accept Organization Invitation +Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -70206,7 +70509,7 @@ def accept_organization_invitation_with_http_info( ) -> ApiResponse[AcceptOrganizationInvitationReply] ``` -Accept Organization Invitation +Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -70255,7 +70558,7 @@ def accept_organization_invitation_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Accept Organization Invitation +Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -70438,7 +70741,7 @@ def decline_organization_invitation( ) -> DeclineOrganizationInvitationReply ``` -Decline Organization Invitation +Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -70487,7 +70790,7 @@ def decline_organization_invitation_with_http_info( ) -> ApiResponse[DeclineOrganizationInvitationReply] ``` -Decline Organization Invitation +Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -70536,7 +70839,7 @@ def decline_organization_invitation_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Decline Organization Invitation +Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -71144,7 +71447,7 @@ def get_user_organization_invitation( ) -> GetUserOrganizationInvitationReply ``` -Get User Organization Invitation +Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -71191,7 +71494,7 @@ def get_user_organization_invitation_with_http_info( ) -> ApiResponse[GetUserOrganizationInvitationReply] ``` -Get User Organization Invitation +Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -71238,7 +71541,7 @@ def get_user_organization_invitation_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Get User Organization Invitation +Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -71423,7 +71726,7 @@ def list_user_organization_invitations( ) -> ListUserOrganizationInvitationsReply ``` -List User Organization Invitations +List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -71481,7 +71784,7 @@ def list_user_organization_invitations_with_http_info( ) -> ApiResponse[ListUserOrganizationInvitationsReply] ``` -List User Organization Invitations +List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -71539,7 +71842,7 @@ def list_user_organization_invitations_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -List User Organization Invitations +List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -71808,7 +72111,7 @@ def login_method( Field(ge=0, le=0)] = 0) -> LoginMethodReply ``` -Get the login method for an email address +Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -71853,7 +72156,7 @@ def login_method_with_http_info( ) -> ApiResponse[LoginMethodReply] ``` -Get the login method for an email address +Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -71898,7 +72201,7 @@ def login_method_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Get the login method for an email address +Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72086,7 +72389,7 @@ def resend_email_validation( _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0) -> object ``` -Resend Email Verification +Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72131,7 +72434,7 @@ def resend_email_validation_with_http_info( ) -> ApiResponse[object] ``` -Resend Email Verification +Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72176,7 +72479,7 @@ def resend_email_validation_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Resend Email Verification +Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72220,7 +72523,7 @@ def reset_password( _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0) -> object ``` -Reset Password +Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72265,7 +72568,7 @@ def reset_password_with_http_info( ) -> ApiResponse[object] ``` -Reset Password +Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72310,7 +72613,7 @@ def reset_password_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Reset Password +Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72358,7 +72661,7 @@ def signup( Field(ge=0, le=0)] = 0) -> LoginReply ``` -Signup +Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72407,7 +72710,7 @@ def signup_with_http_info( ) -> ApiResponse[LoginReply] ``` -Signup +Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72456,7 +72759,7 @@ def signup_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Signup +Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72504,7 +72807,7 @@ def update_password( Field(ge=0, le=0)] = 0) -> LoginReply ``` -Update Password +Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72552,7 +72855,7 @@ def update_password_with_http_info( ) -> ApiResponse[LoginReply] ``` -Update Password +Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -72600,7 +72903,7 @@ def update_password_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Update Password +Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -73343,7 +73646,7 @@ def validate( Field(ge=0, le=0)] = 0) -> LoginReply ``` -Validate +Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -73391,7 +73694,7 @@ def validate_with_http_info( ) -> ApiResponse[LoginReply] ``` -Validate +Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -73439,7 +73742,7 @@ def validate_without_preload_content( Field(ge=0, le=0)] = 0) -> RESTResponseType ``` -Validate +Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. **Arguments**: @@ -73464,6 +73767,295 @@ in the spec for a single request. Returns the result object. + + +# koyeb/api.api.test\_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. + + + +## TestApi Objects + +```python +class TestApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### test\_anon + +```python +@validate_call +def test_anon( + _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) -> object +``` + +Test anonymous call + +**Arguments**: + +- `_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. + + + +#### test\_anon\_with\_http\_info + +```python +@validate_call +def test_anon_with_http_info( + _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[object] +``` + +Test anonymous call + +**Arguments**: + +- `_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. + + + +#### test\_anon\_without\_preload\_content + +```python +@validate_call +def test_anon_without_preload_content( + _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 +``` + +Test anonymous call + +**Arguments**: + +- `_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. + + + +#### test\_auth + +```python +@validate_call +def test_auth( + body: KtestTestAuthRequest, + _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 +) -> KtestTestAuthReply +``` + +Test authenticated call + +**Arguments**: + +- `body` (`KtestTestAuthRequest`): (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. + + + +#### test\_auth\_with\_http\_info + +```python +@validate_call +def test_auth_with_http_info( + body: KtestTestAuthRequest, + _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[KtestTestAuthReply] +``` + +Test authenticated call + +**Arguments**: + +- `body` (`KtestTestAuthRequest`): (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. + + + +#### test\_auth\_without\_preload\_content + +```python +@validate_call +def test_auth_without_preload_content( + body: KtestTestAuthRequest, + _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 +``` + +Test authenticated call + +**Arguments**: + +- `body` (`KtestTestAuthRequest`): (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. + # koyeb/api.api.catalog\_instances\_api diff --git a/docs/api_async.md b/docs/api_async.md new file mode 100644 index 00000000..e1e61410 --- /dev/null +++ b/docs/api_async.md @@ -0,0 +1,78140 @@ + + +# koyeb/api\_async + +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. + + + +# koyeb/api\_async.configuration + +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. + + + +## Configuration Objects + +```python +class Configuration() +``` + +This class contains various settings of the API client. + +:param host: Base url. + :param ignore_operation_servers + Boolean to ignore operation servers for the API client. + Config will use `host` as the base url regardless of the operation servers. + :param api_key: Dict to store API key(s). + Each entry in the dict specifies an API key. + The dict key is the name of the security scheme in the OAS specification. + The dict value is the API key secret. + :param api_key_prefix: Dict to store API prefix (e.g. Bearer). + The dict key is the name of the security scheme in the OAS specification. + The dict value is an API key prefix when generating the auth data. + :param username: Username for HTTP basic authentication. + :param password: Password for HTTP basic authentication. + :param access_token: Access token. + :param server_index: Index to servers configuration. + :param server_variables: Mapping with string values to replace variables in + templated server configuration. The validation of enums is performed for + variables with defined enum values before. + :param server_operation_index: Mapping from operation ID to an index to server + configuration. + :param server_operation_variables: Mapping from operation ID to a mapping with + string values to replace variables in templated server configuration. + The validation of enums is performed for variables with defined enum + values before. + :param verify_ssl: bool - Set this to false to skip verifying SSL certificate + when calling API from https server. + :param ssl_ca_cert: str - the path to a file of concatenated CA certificates + in PEM format. + :param retries: int - Retry configuration. + :param ca_cert_data: verify the peer using concatenated CA certificate data + in PEM (str) or DER (bytes) format. + :param cert_file: the path to a client certificate file, for mTLS. + :param key_file: the path to a client key file, for mTLS. + :param assert_hostname: Set this to True/False to enable/disable SSL hostname verification. + :param tls_server_name: SSL/TLS Server Name Indication (SNI). Set this to the SNI value expected by the server. + :param connection_pool_maxsize: Connection pool max size. None in the constructor is coerced to 100 for async and cpu_count * 5 for sync. + :param proxy: Proxy URL. + :param proxy_headers: Proxy headers. + :param safe_chars_for_path_param: Safe characters for path parameter encoding. + :param client_side_validation: Enable client-side validation. Default True. + :param socket_options: Options to pass down to the underlying urllib3 socket. + :param datetime_format: Datetime format string for serialization. + :param date_format: Date format string for serialization. + + :Example: + + API Key Authentication Example. + Given the following security scheme in the OpenAPI specification: + components: + securitySchemes: + cookieAuth: # name for the security scheme + type: apiKey + in: cookie + name: JSESSIONID # cookie name + + You can programmatically set the cookie: + +conf = koyeb.api_async.Configuration( + api_key={'cookieAuth': 'abc123'} + api_key_prefix={'cookieAuth': 'JSESSIONID'} +) + + The following cookie will be added to the HTTP request: + Cookie: JSESSIONID abc123 + + + + +#### \_\_init\_\_ + +```python +def __init__(host: Optional[str] = None, + api_key: Optional[Dict[str, str]] = None, + api_key_prefix: Optional[Dict[str, str]] = None, + username: Optional[str] = None, + password: Optional[str] = None, + access_token: Optional[str] = None, + server_index: Optional[int] = None, + server_variables: Optional[ServerVariablesT] = None, + server_operation_index: Optional[Dict[int, int]] = None, + server_operation_variables: Optional[Dict[ + int, ServerVariablesT]] = None, + ignore_operation_servers: bool = False, + ssl_ca_cert: Optional[str] = None, + retries: Optional[int] = None, + ca_cert_data: Optional[Union[str, bytes]] = None, + cert_file: Optional[str] = None, + key_file: Optional[str] = None, + verify_ssl: bool = True, + assert_hostname: Optional[bool] = None, + tls_server_name: Optional[str] = None, + connection_pool_maxsize: Optional[int] = None, + proxy: Optional[str] = None, + proxy_headers: Optional[Any] = None, + safe_chars_for_path_param: str = '', + client_side_validation: bool = True, + socket_options: Optional[Any] = None, + datetime_format: str = "%Y-%m-%dT%H:%M:%S.%f%z", + date_format: str = "%Y-%m-%d", + *, + debug: Optional[bool] = None) -> None +``` + +Constructor + + + +#### set\_default + +```python +@classmethod +def set_default(cls, default: Optional[Self]) -> None +``` + +Set default instance of configuration. + +It stores default configuration, which can be +returned by get_default_copy method. + +**Arguments**: + +- `default`: object of Configuration + + + +#### get\_default\_copy + +```python +@classmethod +def get_default_copy(cls) -> Self +``` + +Deprecated. Please use `get_default` instead. + +Deprecated. Please use `get_default` instead. + +**Returns**: + +The configuration object. + + + +#### get\_default + +```python +@classmethod +def get_default(cls) -> Self +``` + +Return the default configuration. + +This method returns newly created, based on default constructor, +object of Configuration class or returns a copy of default +configuration. + +**Returns**: + +The configuration object. + + + +#### logger\_file + +```python +@property +def logger_file() -> Optional[str] +``` + +The logger file. + +If the logger_file is None, then add stream handler and remove file +handler. Otherwise, add file handler and remove stream handler. + +**Arguments**: + +- `value`: The logger_file path. + + + +#### logger\_file + +```python +@logger_file.setter +def logger_file(value: Optional[str]) -> None +``` + +The logger file. + +If the logger_file is None, then add stream handler and remove file +handler. Otherwise, add file handler and remove stream handler. + +**Arguments**: + +- `value`: The logger_file path. + + + +#### debug + +```python +@property +def debug() -> bool +``` + +Debug status + +**Arguments**: + +- `value`: The debug status, True or False. + + + +#### debug + +```python +@debug.setter +def debug(value: bool) -> None +``` + +Debug status + +**Arguments**: + +- `value`: The debug status, True or False. + + + +#### logger\_format + +```python +@property +def logger_format() -> str +``` + +The logger format. + +The logger_formatter will be updated when sets logger_format. + +**Arguments**: + +- `value`: The format string. + + + +#### logger\_format + +```python +@logger_format.setter +def logger_format(value: str) -> None +``` + +The logger format. + +The logger_formatter will be updated when sets logger_format. + +**Arguments**: + +- `value`: The format string. + + + +#### get\_api\_key\_with\_prefix + +```python +def get_api_key_with_prefix(identifier: str, + alias: Optional[str] = None) -> Optional[str] +``` + +Gets API key (with prefix if set). + +**Arguments**: + +- `identifier`: The identifier of apiKey. +- `alias`: The alternative identifier of apiKey. + +**Returns**: + +The token for api key authentication. + + + +#### get\_basic\_auth\_token + +```python +def get_basic_auth_token() -> Optional[str] +``` + +Gets HTTP basic authentication header (string). + +**Returns**: + +The token for basic HTTP authentication. + + + +#### auth\_settings + +```python +def auth_settings() -> AuthSettings +``` + +Gets Auth Settings dict for api client. + +**Returns**: + +The Auth Settings information dict. + + + +#### to\_debug\_report + +```python +def to_debug_report() -> str +``` + +Gets the essential information for debugging. + +**Returns**: + +The report for debugging. + + + +#### get\_host\_settings + +```python +def get_host_settings() -> List[HostSetting] +``` + +Gets an array of host settings + +**Returns**: + +An array of host settings + + + +#### get\_host\_from\_settings + +```python +def get_host_from_settings(index: Optional[int], + variables: Optional[ServerVariablesT] = None, + servers: Optional[List[HostSetting]] = None) -> str +``` + +Gets host URL based on the index and variables + +**Arguments**: + +- `index`: array index of the host settings +- `variables`: hash of variable and the corresponding value +- `servers`: an array of host settings or None + +**Returns**: + +URL based on host settings + + + +#### host + +```python +@property +def host() -> str +``` + +Return generated host. + + + +#### host + +```python +@host.setter +def host(value: str) -> None +``` + +Fix base path. + + + +# koyeb/api\_async.test.test\_get\_metrics\_reply\_metric + +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. + + + +## TestGetMetricsReplyMetric Objects + +```python +class TestGetMetricsReplyMetric(unittest.TestCase) +``` + +GetMetricsReplyMetric unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetMetricsReplyMetric +``` + +Test GetMetricsReplyMetric +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetMetricsReplyMetric + +```python +def testGetMetricsReplyMetric() +``` + +Test GetMetricsReplyMetric + + + +# koyeb/api\_async.test.test\_list\_services\_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. + + + +## TestListServicesReply Objects + +```python +class TestListServicesReply(unittest.TestCase) +``` + +ListServicesReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListServicesReply +``` + +Test ListServicesReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListServicesReply + +```python +def testListServicesReply() +``` + +Test ListServicesReply + + + +# koyeb/api\_async.test.test\_kgitproxy\_indexing\_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. + + + +## TestKgitproxyIndexingStatus Objects + +```python +class TestKgitproxyIndexingStatus(unittest.TestCase) +``` + +KgitproxyIndexingStatus unit test stubs + + + +#### testKgitproxyIndexingStatus + +```python +def testKgitproxyIndexingStatus() +``` + +Test KgitproxyIndexingStatus + + + +# koyeb/api\_async.test.test\_declare\_stage\_progress\_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. + + + +## TestDeclareStageProgressRequest Objects + +```python +class TestDeclareStageProgressRequest(unittest.TestCase) +``` + +DeclareStageProgressRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeclareStageProgressRequest +``` + +Test DeclareStageProgressRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeclareStageProgressRequest + +```python +def testDeclareStageProgressRequest() +``` + +Test DeclareStageProgressRequest + + + +# koyeb/api\_async.test.test\_catalog\_instances\_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. + + + +## TestCatalogInstancesApi Objects + +```python +class TestCatalogInstancesApi(unittest.IsolatedAsyncioTestCase) +``` + +CatalogInstancesApi unit test stubs + + + +#### test\_get\_catalog\_instance + +```python +async def test_get_catalog_instance() -> None +``` + +Test case for get_catalog_instance + +Get Instance + + + +#### test\_list\_catalog\_instances + +```python +async def test_list_catalog_instances() -> None +``` + +Test case for list_catalog_instances + +List Instances + + + +# koyeb/api\_async.test.test\_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. + + + +## TestSnapshotStatus Objects + +```python +class TestSnapshotStatus(unittest.TestCase) +``` + +SnapshotStatus unit test stubs + + + +#### testSnapshotStatus + +```python +def testSnapshotStatus() +``` + +Test SnapshotStatus + + + +# koyeb/api\_async.test.test\_regional\_deployment\_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. + + + +## TestRegionalDeploymentStatus Objects + +```python +class TestRegionalDeploymentStatus(unittest.TestCase) +``` + +RegionalDeploymentStatus unit test stubs + + + +#### testRegionalDeploymentStatus + +```python +def testRegionalDeploymentStatus() +``` + +Test RegionalDeploymentStatus + + + +# koyeb/api\_async.test.test\_members\_summary + +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. + + + +## TestMembersSummary Objects + +```python +class TestMembersSummary(unittest.TestCase) +``` + +MembersSummary unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> MembersSummary +``` + +Test MembersSummary +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testMembersSummary + +```python +def testMembersSummary() +``` + +Test MembersSummary + + + +# koyeb/api\_async.test.test\_delete\_persistent\_volume\_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. + + + +## TestDeletePersistentVolumeReply Objects + +```python +class TestDeletePersistentVolumeReply(unittest.TestCase) +``` + +DeletePersistentVolumeReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeletePersistentVolumeReply +``` + +Test DeletePersistentVolumeReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeletePersistentVolumeReply + +```python +def testDeletePersistentVolumeReply() +``` + +Test DeletePersistentVolumeReply + + + +# koyeb/api\_async.test.test\_get\_deployment\_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. + + + +## TestGetDeploymentReply Objects + +```python +class TestGetDeploymentReply(unittest.TestCase) +``` + +GetDeploymentReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetDeploymentReply +``` + +Test GetDeploymentReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetDeploymentReply + +```python +def testGetDeploymentReply() +``` + +Test GetDeploymentReply + + + +# koyeb/api\_async.test.test\_organization\_member\_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. + + + +## TestOrganizationMemberStatus Objects + +```python +class TestOrganizationMemberStatus(unittest.TestCase) +``` + +OrganizationMemberStatus unit test stubs + + + +#### testOrganizationMemberStatus + +```python +def testOrganizationMemberStatus() +``` + +Test OrganizationMemberStatus + + + +# koyeb/api\_async.test.test\_list\_regions\_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. + + + +## TestListRegionsReply Objects + +```python +class TestListRegionsReply(unittest.TestCase) +``` + +ListRegionsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListRegionsReply +``` + +Test ListRegionsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListRegionsReply + +```python +def testListRegionsReply() +``` + +Test ListRegionsReply + + + +# koyeb/api\_async.test.test\_basic\_auth\_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. + + + +## TestBasicAuthPolicy Objects + +```python +class TestBasicAuthPolicy(unittest.TestCase) +``` + +BasicAuthPolicy unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> BasicAuthPolicy +``` + +Test BasicAuthPolicy +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testBasicAuthPolicy + +```python +def testBasicAuthPolicy() +``` + +Test BasicAuthPolicy + + + +# koyeb/api\_async.test.test\_deployment\_scaling\_target\_requests\_response\_time + +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. + + + +## TestDeploymentScalingTargetRequestsResponseTime Objects + +```python +class TestDeploymentScalingTargetRequestsResponseTime(unittest.TestCase) +``` + +DeploymentScalingTargetRequestsResponseTime unit test stubs + + + +#### make\_instance + +```python +def make_instance( + include_optional) -> DeploymentScalingTargetRequestsResponseTime +``` + +Test DeploymentScalingTargetRequestsResponseTime +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentScalingTargetRequestsResponseTime + +```python +def testDeploymentScalingTargetRequestsResponseTime() +``` + +Test DeploymentScalingTargetRequestsResponseTime + + + +# koyeb/api\_async.test.test\_upsert\_signup\_qualification\_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. + + + +## TestUpsertSignupQualificationRequest Objects + +```python +class TestUpsertSignupQualificationRequest(unittest.TestCase) +``` + +UpsertSignupQualificationRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpsertSignupQualificationRequest +``` + +Test UpsertSignupQualificationRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpsertSignupQualificationRequest + +```python +def testUpsertSignupQualificationRequest() +``` + +Test UpsertSignupQualificationRequest + + + +# koyeb/api\_async.test.test\_deployment\_port + +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. + + + +## TestDeploymentPort Objects + +```python +class TestDeploymentPort(unittest.TestCase) +``` + +DeploymentPort unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentPort +``` + +Test DeploymentPort +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentPort + +```python +def testDeploymentPort() +``` + +Test DeploymentPort + + + +# koyeb/api\_async.test.test\_get\_organization\_usage\_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. + + + +## TestGetOrganizationUsageReply Objects + +```python +class TestGetOrganizationUsageReply(unittest.TestCase) +``` + +GetOrganizationUsageReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetOrganizationUsageReply +``` + +Test GetOrganizationUsageReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetOrganizationUsageReply + +```python +def testGetOrganizationUsageReply() +``` + +Test GetOrganizationUsageReply + + + +# koyeb/api\_async.test.test\_get\_persistent\_volume\_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. + + + +## TestGetPersistentVolumeReply Objects + +```python +class TestGetPersistentVolumeReply(unittest.TestCase) +``` + +GetPersistentVolumeReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetPersistentVolumeReply +``` + +Test GetPersistentVolumeReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetPersistentVolumeReply + +```python +def testGetPersistentVolumeReply() +``` + +Test GetPersistentVolumeReply + + + +# koyeb/api\_async.test.test\_service\_list\_item + +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. + + + +## TestServiceListItem Objects + +```python +class TestServiceListItem(unittest.TestCase) +``` + +ServiceListItem unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ServiceListItem +``` + +Test ServiceListItem +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testServiceListItem + +```python +def testServiceListItem() +``` + +Test ServiceListItem + + + +# koyeb/api\_async.test.test\_organization\_summary + +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. + + + +## TestOrganizationSummary Objects + +```python +class TestOrganizationSummary(unittest.TestCase) +``` + +OrganizationSummary unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> OrganizationSummary +``` + +Test OrganizationSummary +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testOrganizationSummary + +```python +def testOrganizationSummary() +``` + +Test OrganizationSummary + + + +# koyeb/api\_async.test.test\_next\_invoice\_reply\_line\_period + +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. + + + +## TestNextInvoiceReplyLinePeriod Objects + +```python +class TestNextInvoiceReplyLinePeriod(unittest.TestCase) +``` + +NextInvoiceReplyLinePeriod unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> NextInvoiceReplyLinePeriod +``` + +Test NextInvoiceReplyLinePeriod +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNextInvoiceReplyLinePeriod + +```python +def testNextInvoiceReplyLinePeriod() +``` + +Test NextInvoiceReplyLinePeriod + + + +# koyeb/api\_async.test.test\_exec\_command\_request\_body + +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. + + + +## TestExecCommandRequestBody Objects + +```python +class TestExecCommandRequestBody(unittest.TestCase) +``` + +ExecCommandRequestBody unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ExecCommandRequestBody +``` + +Test ExecCommandRequestBody +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testExecCommandRequestBody + +```python +def testExecCommandRequestBody() +``` + +Test ExecCommandRequestBody + + + +# koyeb/api\_async.test.test\_create\_organization\_invitation\_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. + + + +## TestCreateOrganizationInvitationReply Objects + +```python +class TestCreateOrganizationInvitationReply(unittest.TestCase) +``` + +CreateOrganizationInvitationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateOrganizationInvitationReply +``` + +Test CreateOrganizationInvitationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateOrganizationInvitationReply + +```python +def testCreateOrganizationInvitationReply() +``` + +Test CreateOrganizationInvitationReply + + + +# koyeb/api\_async.test.test\_create\_secret\_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. + + + +## TestCreateSecretReply Objects + +```python +class TestCreateSecretReply(unittest.TestCase) +``` + +CreateSecretReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateSecretReply +``` + +Test CreateSecretReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateSecretReply + +```python +def testCreateSecretReply() +``` + +Test CreateSecretReply + + + +# koyeb/api\_async.test.test\_get\_budget\_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. + + + +## TestGetBudgetReply Objects + +```python +class TestGetBudgetReply(unittest.TestCase) +``` + +GetBudgetReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetBudgetReply +``` + +Test GetBudgetReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetBudgetReply + +```python +def testGetBudgetReply() +``` + +Test GetBudgetReply + + + +# koyeb/api\_async.test.test\_kgitproxy\_list\_repositories\_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. + + + +## TestKgitproxyListRepositoriesReply Objects + +```python +class TestKgitproxyListRepositoriesReply(unittest.TestCase) +``` + +KgitproxyListRepositoriesReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KgitproxyListRepositoriesReply +``` + +Test KgitproxyListRepositoriesReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKgitproxyListRepositoriesReply + +```python +def testKgitproxyListRepositoriesReply() +``` + +Test KgitproxyListRepositoriesReply + + + +# koyeb/api\_async.test.test\_desired\_deployment\_group + +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. + + + +## TestDesiredDeploymentGroup Objects + +```python +class TestDesiredDeploymentGroup(unittest.TestCase) +``` + +DesiredDeploymentGroup unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DesiredDeploymentGroup +``` + +Test DesiredDeploymentGroup +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDesiredDeploymentGroup + +```python +def testDesiredDeploymentGroup() +``` + +Test DesiredDeploymentGroup + + + +# koyeb/api\_async.test.test\_list\_credentials\_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. + + + +## TestListCredentialsReply Objects + +```python +class TestListCredentialsReply(unittest.TestCase) +``` + +ListCredentialsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListCredentialsReply +``` + +Test ListCredentialsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListCredentialsReply + +```python +def testListCredentialsReply() +``` + +Test ListCredentialsReply + + + +# koyeb/api\_async.test.test\_ksearch\_app + +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. + + + +## TestKsearchApp Objects + +```python +class TestKsearchApp(unittest.TestCase) +``` + +KsearchApp unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KsearchApp +``` + +Test KsearchApp +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKsearchApp + +```python +def testKsearchApp() +``` + +Test KsearchApp + + + +# koyeb/api\_async.test.test\_regional\_deployment\_definition + +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. + + + +## TestRegionalDeploymentDefinition Objects + +```python +class TestRegionalDeploymentDefinition(unittest.TestCase) +``` + +RegionalDeploymentDefinition unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RegionalDeploymentDefinition +``` + +Test RegionalDeploymentDefinition +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRegionalDeploymentDefinition + +```python +def testRegionalDeploymentDefinition() +``` + +Test RegionalDeploymentDefinition + + + +# koyeb/api\_async.test.test\_app\_life\_cycle + +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. + + + +## TestAppLifeCycle Objects + +```python +class TestAppLifeCycle(unittest.TestCase) +``` + +AppLifeCycle unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> AppLifeCycle +``` + +Test AppLifeCycle +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testAppLifeCycle + +```python +def testAppLifeCycle() +``` + +Test AppLifeCycle + + + +# koyeb/api\_async.test.test\_update\_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. + + + +## TestUpdateSnapshotRequest Objects + +```python +class TestUpdateSnapshotRequest(unittest.TestCase) +``` + +UpdateSnapshotRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateSnapshotRequest +``` + +Test UpdateSnapshotRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateSnapshotRequest + +```python +def testUpdateSnapshotRequest() +``` + +Test UpdateSnapshotRequest + + + +# koyeb/api\_async.test.test\_update\_password\_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. + + + +## TestUpdatePasswordRequest Objects + +```python +class TestUpdatePasswordRequest(unittest.TestCase) +``` + +UpdatePasswordRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdatePasswordRequest +``` + +Test UpdatePasswordRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdatePasswordRequest + +```python +def testUpdatePasswordRequest() +``` + +Test UpdatePasswordRequest + + + +# koyeb/api\_async.test.test\_ksearch\_user + +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. + + + +## TestKsearchUser Objects + +```python +class TestKsearchUser(unittest.TestCase) +``` + +KsearchUser unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KsearchUser +``` + +Test KsearchUser +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKsearchUser + +```python +def testKsearchUser() +``` + +Test KsearchUser + + + +# koyeb/api\_async.test.test\_create\_access\_token\_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. + + + +## TestCreateAccessTokenReply Objects + +```python +class TestCreateAccessTokenReply(unittest.TestCase) +``` + +CreateAccessTokenReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateAccessTokenReply +``` + +Test CreateAccessTokenReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateAccessTokenReply + +```python +def testCreateAccessTokenReply() +``` + +Test CreateAccessTokenReply + + + +# koyeb/api\_async.test.test\_get\_user\_organization\_invitation\_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. + + + +## TestGetUserOrganizationInvitationReply Objects + +```python +class TestGetUserOrganizationInvitationReply(unittest.TestCase) +``` + +GetUserOrganizationInvitationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetUserOrganizationInvitationReply +``` + +Test GetUserOrganizationInvitationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetUserOrganizationInvitationReply + +```python +def testGetUserOrganizationInvitationReply() +``` + +Test GetUserOrganizationInvitationReply + + + +# koyeb/api\_async.test.test\_list\_catalog\_instances\_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. + + + +## TestListCatalogInstancesReply Objects + +```python +class TestListCatalogInstancesReply(unittest.TestCase) +``` + +ListCatalogInstancesReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListCatalogInstancesReply +``` + +Test ListCatalogInstancesReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListCatalogInstancesReply + +```python +def testListCatalogInstancesReply() +``` + +Test ListCatalogInstancesReply + + + +# koyeb/api\_async.test.test\_exec\_command\_request\_terminal\_size + +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. + + + +## TestExecCommandRequestTerminalSize Objects + +```python +class TestExecCommandRequestTerminalSize(unittest.TestCase) +``` + +ExecCommandRequestTerminalSize unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ExecCommandRequestTerminalSize +``` + +Test ExecCommandRequestTerminalSize +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testExecCommandRequestTerminalSize + +```python +def testExecCommandRequestTerminalSize() +``` + +Test ExecCommandRequestTerminalSize + + + +# koyeb/api\_async.test.test\_create\_service\_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. + + + +## TestCreateServiceReply Objects + +```python +class TestCreateServiceReply(unittest.TestCase) +``` + +CreateServiceReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateServiceReply +``` + +Test CreateServiceReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateServiceReply + +```python +def testCreateServiceReply() +``` + +Test CreateServiceReply + + + +# koyeb/api\_async.test.test\_ktest\_test\_auth\_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. + + + +## TestKtestTestAuthRequest Objects + +```python +class TestKtestTestAuthRequest(unittest.TestCase) +``` + +KtestTestAuthRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KtestTestAuthRequest +``` + +Test KtestTestAuthRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKtestTestAuthRequest + +```python +def testKtestTestAuthRequest() +``` + +Test KtestTestAuthRequest + + + +# koyeb/api\_async.test.test\_update\_app\_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. + + + +## TestUpdateAppReply Objects + +```python +class TestUpdateAppReply(unittest.TestCase) +``` + +UpdateAppReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateAppReply +``` + +Test UpdateAppReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateAppReply + +```python +def testUpdateAppReply() +``` + +Test UpdateAppReply + + + +# koyeb/api\_async.test.test\_invite\_user\_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. + + + +## TestInviteUserRequest Objects + +```python +class TestInviteUserRequest(unittest.TestCase) +``` + +InviteUserRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> InviteUserRequest +``` + +Test InviteUserRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testInviteUserRequest + +```python +def testInviteUserRequest() +``` + +Test InviteUserRequest + + + +# koyeb/api\_async.test.test\_http\_header + +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. + + + +## TestHTTPHeader Objects + +```python +class TestHTTPHeader(unittest.TestCase) +``` + +HTTPHeader unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> HTTPHeader +``` + +Test HTTPHeader +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testHTTPHeader + +```python +def testHTTPHeader() +``` + +Test HTTPHeader + + + +# koyeb/api\_async.test.test\_update\_project\_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. + + + +## TestUpdateProjectReply Objects + +```python +class TestUpdateProjectReply(unittest.TestCase) +``` + +UpdateProjectReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateProjectReply +``` + +Test UpdateProjectReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateProjectReply + +```python +def testUpdateProjectReply() +``` + +Test UpdateProjectReply + + + +# koyeb/api\_async.test.test\_desired\_deployment + +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. + + + +## TestDesiredDeployment Objects + +```python +class TestDesiredDeployment(unittest.TestCase) +``` + +DesiredDeployment unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DesiredDeployment +``` + +Test DesiredDeployment +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDesiredDeployment + +```python +def testDesiredDeployment() +``` + +Test DesiredDeployment + + + +# koyeb/api\_async.test.test\_secret + +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. + + + +## TestSecret Objects + +```python +class TestSecret(unittest.TestCase) +``` + +Secret unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Secret +``` + +Test Secret +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testSecret + +```python +def testSecret() +``` + +Test Secret + + + +# koyeb/api\_async.test.test\_apps\_summary + +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. + + + +## TestAppsSummary Objects + +```python +class TestAppsSummary(unittest.TestCase) +``` + +AppsSummary unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> AppsSummary +``` + +Test AppsSummary +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testAppsSummary + +```python +def testAppsSummary() +``` + +Test AppsSummary + + + +# koyeb/api\_async.test.test\_create\_archive\_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. + + + +## TestCreateArchiveReply Objects + +```python +class TestCreateArchiveReply(unittest.TestCase) +``` + +CreateArchiveReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateArchiveReply +``` + +Test CreateArchiveReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateArchiveReply + +```python +def testCreateArchiveReply() +``` + +Test CreateArchiveReply + + + +# koyeb/api\_async.test.test\_region\_list\_item + +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. + + + +## TestRegionListItem Objects + +```python +class TestRegionListItem(unittest.TestCase) +``` + +RegionListItem unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RegionListItem +``` + +Test RegionListItem +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRegionListItem + +```python +def testRegionListItem() +``` + +Test RegionListItem + + + +# koyeb/api\_async.test.test\_login\_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. + + + +## TestLoginReply Objects + +```python +class TestLoginReply(unittest.TestCase) +``` + +LoginReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> LoginReply +``` + +Test LoginReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testLoginReply + +```python +def testLoginReply() +``` + +Test LoginReply + + + +# koyeb/api\_async.test.test\_deployment\_proxy\_port\_metadata + +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. + + + +## TestDeploymentProxyPortMetadata Objects + +```python +class TestDeploymentProxyPortMetadata(unittest.TestCase) +``` + +DeploymentProxyPortMetadata unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentProxyPortMetadata +``` + +Test DeploymentProxyPortMetadata +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentProxyPortMetadata + +```python +def testDeploymentProxyPortMetadata() +``` + +Test DeploymentProxyPortMetadata + + + +# koyeb/api\_async.test.test\_create\_persistent\_volume\_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. + + + +## TestCreatePersistentVolumeReply Objects + +```python +class TestCreatePersistentVolumeReply(unittest.TestCase) +``` + +CreatePersistentVolumeReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreatePersistentVolumeReply +``` + +Test CreatePersistentVolumeReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreatePersistentVolumeReply + +```python +def testCreatePersistentVolumeReply() +``` + +Test CreatePersistentVolumeReply + + + +# koyeb/api\_async.test.test\_declare\_step\_progress\_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. + + + +## TestDeclareStepProgressRequest Objects + +```python +class TestDeclareStepProgressRequest(unittest.TestCase) +``` + +DeclareStepProgressRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeclareStepProgressRequest +``` + +Test DeclareStepProgressRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeclareStepProgressRequest + +```python +def testDeclareStepProgressRequest() +``` + +Test DeclareStepProgressRequest + + + +# koyeb/api\_async.test.test\_get\_idenfy\_token\_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. + + + +## TestGetIdenfyTokenReply Objects + +```python +class TestGetIdenfyTokenReply(unittest.TestCase) +``` + +GetIdenfyTokenReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetIdenfyTokenReply +``` + +Test GetIdenfyTokenReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetIdenfyTokenReply + +```python +def testGetIdenfyTokenReply() +``` + +Test GetIdenfyTokenReply + + + +# koyeb/api\_async.test.test\_get\_intercom\_profile\_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. + + + +## TestGetIntercomProfileReply Objects + +```python +class TestGetIntercomProfileReply(unittest.TestCase) +``` + +GetIntercomProfileReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetIntercomProfileReply +``` + +Test GetIntercomProfileReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetIntercomProfileReply + +```python +def testGetIntercomProfileReply() +``` + +Test GetIntercomProfileReply + + + +# koyeb/api\_async.test.test\_sso\_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. + + + +## TestSsoApi Objects + +```python +class TestSsoApi(unittest.IsolatedAsyncioTestCase) +``` + +SsoApi unit test stubs + + + +#### test\_canny\_auth + +```python +async def test_canny_auth() -> None +``` + +Test case for canny_auth + + + +#### test\_discourse\_auth + +```python +async def test_discourse_auth() -> None +``` + +Test case for discourse_auth + + + +# koyeb/api\_async.test.test\_deployment\_provisioning\_info\_stage + +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. + + + +## TestDeploymentProvisioningInfoStage Objects + +```python +class TestDeploymentProvisioningInfoStage(unittest.TestCase) +``` + +DeploymentProvisioningInfoStage unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentProvisioningInfoStage +``` + +Test DeploymentProvisioningInfoStage +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentProvisioningInfoStage + +```python +def testDeploymentProvisioningInfoStage() +``` + +Test DeploymentProvisioningInfoStage + + + +# koyeb/api\_async.test.test\_plan + +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. + + + +## TestPlan Objects + +```python +class TestPlan(unittest.TestCase) +``` + +Plan unit test stubs + + + +#### testPlan + +```python +def testPlan() +``` + +Test Plan + + + +# koyeb/api\_async.test.test\_metrics\_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. + + + +## TestMetricsApi Objects + +```python +class TestMetricsApi(unittest.IsolatedAsyncioTestCase) +``` + +MetricsApi unit test stubs + + + +#### test\_get\_metrics + +```python +async def test_get_metrics() -> None +``` + +Test case for get_metrics + +Get Metrics + + + +# koyeb/api\_async.test.test\_notification\_list + +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. + + + +## TestNotificationList Objects + +```python +class TestNotificationList(unittest.TestCase) +``` + +NotificationList unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> NotificationList +``` + +Test NotificationList +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNotificationList + +```python +def testNotificationList() +``` + +Test NotificationList + + + +# koyeb/api\_async.test.test\_user + +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. + + + +## TestUser Objects + +```python +class TestUser(unittest.TestCase) +``` + +User unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> User +``` + +Test User +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUser + +```python +def testUser() +``` + +Test User + + + +# koyeb/api\_async.test.test\_has\_unpaid\_invoices\_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. + + + +## TestHasUnpaidInvoicesReply Objects + +```python +class TestHasUnpaidInvoicesReply(unittest.TestCase) +``` + +HasUnpaidInvoicesReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> HasUnpaidInvoicesReply +``` + +Test HasUnpaidInvoicesReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testHasUnpaidInvoicesReply + +```python +def testHasUnpaidInvoicesReply() +``` + +Test HasUnpaidInvoicesReply + + + +# koyeb/api\_async.test.test\_activity\_list + +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. + + + +## TestActivityList Objects + +```python +class TestActivityList(unittest.TestCase) +``` + +ActivityList unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ActivityList +``` + +Test ActivityList +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testActivityList + +```python +def testActivityList() +``` + +Test ActivityList + + + +# koyeb/api\_async.test.test\_get\_app\_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. + + + +## TestGetAppReply Objects + +```python +class TestGetAppReply(unittest.TestCase) +``` + +GetAppReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetAppReply +``` + +Test GetAppReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetAppReply + +```python +def testGetAppReply() +``` + +Test GetAppReply + + + +# koyeb/api\_async.test.test\_activity + +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. + + + +## TestActivity Objects + +```python +class TestActivity(unittest.TestCase) +``` + +Activity unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Activity +``` + +Test Activity +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testActivity + +```python +def testActivity() +``` + +Test Activity + + + +# koyeb/api\_async.test.test\_list\_persistent\_volumes\_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. + + + +## TestListPersistentVolumesReply Objects + +```python +class TestListPersistentVolumesReply(unittest.TestCase) +``` + +ListPersistentVolumesReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListPersistentVolumesReply +``` + +Test ListPersistentVolumesReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListPersistentVolumesReply + +```python +def testListPersistentVolumesReply() +``` + +Test ListPersistentVolumesReply + + + +# koyeb/api\_async.test.test\_scaling + +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. + + + +## TestScaling Objects + +```python +class TestScaling(unittest.TestCase) +``` + +Scaling unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Scaling +``` + +Test Scaling +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testScaling + +```python +def testScaling() +``` + +Test Scaling + + + +# koyeb/api\_async.test.test\_user\_flags + +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. + + + +## TestUserFlags Objects + +```python +class TestUserFlags(unittest.TestCase) +``` + +UserFlags unit test stubs + + + +#### testUserFlags + +```python +def testUserFlags() +``` + +Test UserFlags + + + +# koyeb/api\_async.test.test\_create\_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. + + + +## TestCreateSnapshotReply Objects + +```python +class TestCreateSnapshotReply(unittest.TestCase) +``` + +CreateSnapshotReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateSnapshotReply +``` + +Test CreateSnapshotReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateSnapshotReply + +```python +def testCreateSnapshotReply() +``` + +Test CreateSnapshotReply + + + +# koyeb/api\_async.test.test\_trigger\_deployment\_metadata\_trigger\_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. + + + +## TestTriggerDeploymentMetadataTriggerType Objects + +```python +class TestTriggerDeploymentMetadataTriggerType(unittest.TestCase) +``` + +TriggerDeploymentMetadataTriggerType unit test stubs + + + +#### testTriggerDeploymentMetadataTriggerType + +```python +def testTriggerDeploymentMetadataTriggerType() +``` + +Test TriggerDeploymentMetadataTriggerType + + + +# koyeb/api\_async.test.test\_github\_installation\_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. + + + +## TestGithubInstallationRequest Objects + +```python +class TestGithubInstallationRequest(unittest.TestCase) +``` + +GithubInstallationRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GithubInstallationRequest +``` + +Test GithubInstallationRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGithubInstallationRequest + +```python +def testGithubInstallationRequest() +``` + +Test GithubInstallationRequest + + + +# koyeb/api\_async.test.test\_docker\_source + +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. + + + +## TestDockerSource Objects + +```python +class TestDockerSource(unittest.TestCase) +``` + +DockerSource unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DockerSource +``` + +Test DockerSource +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDockerSource + +```python +def testDockerSource() +``` + +Test DockerSource + + + +# koyeb/api\_async.test.test\_apps\_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. + + + +## TestAppsApi Objects + +```python +class TestAppsApi(unittest.IsolatedAsyncioTestCase) +``` + +AppsApi unit test stubs + + + +#### test\_create\_app + +```python +async def test_create_app() -> None +``` + +Test case for create_app + +Create App + + + +#### test\_delete\_app + +```python +async def test_delete_app() -> None +``` + +Test case for delete_app + +Delete App + + + +#### test\_get\_app + +```python +async def test_get_app() -> None +``` + +Test case for get_app + +Get App + + + +#### test\_list\_app\_events + +```python +async def test_list_app_events() -> None +``` + +Test case for list_app_events + +List App events + + + +#### test\_list\_apps + +```python +async def test_list_apps() -> None +``` + +Test case for list_apps + +List App + + + +#### test\_pause\_app + +```python +async def test_pause_app() -> None +``` + +Test case for pause_app + +Pause App + + + +#### test\_resume\_app + +```python +async def test_resume_app() -> None +``` + +Test case for resume_app + +Resume App + + + +#### test\_update\_app + +```python +async def test_update_app() -> None +``` + +Test case for update_app + +Update App + + + +#### test\_update\_app2 + +```python +async def test_update_app2() -> None +``` + +Test case for update_app2 + +Update App + + + +# koyeb/api\_async.test.test\_delete\_user\_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. + + + +## TestDeleteUserReply Objects + +```python +class TestDeleteUserReply(unittest.TestCase) +``` + +DeleteUserReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeleteUserReply +``` + +Test DeleteUserReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeleteUserReply + +```python +def testDeleteUserReply() +``` + +Test DeleteUserReply + + + +# koyeb/api\_async.test.test\_list\_usage\_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. + + + +## TestListUsageReply Objects + +```python +class TestListUsageReply(unittest.TestCase) +``` + +ListUsageReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListUsageReply +``` + +Test ListUsageReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListUsageReply + +```python +def testListUsageReply() +``` + +Test ListUsageReply + + + +# koyeb/api\_async.test.test\_user\_settings + +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. + + + +## TestUserSettings Objects + +```python +class TestUserSettings(unittest.TestCase) +``` + +UserSettings unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UserSettings +``` + +Test UserSettings +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUserSettings + +```python +def testUserSettings() +``` + +Test UserSettings + + + +# koyeb/api\_async.test.test\_create\_organization\_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. + + + +## TestCreateOrganizationReply Objects + +```python +class TestCreateOrganizationReply(unittest.TestCase) +``` + +CreateOrganizationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateOrganizationReply +``` + +Test CreateOrganizationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateOrganizationReply + +```python +def testCreateOrganizationReply() +``` + +Test CreateOrganizationReply + + + +# koyeb/api\_async.test.test\_create\_project + +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. + + + +## TestCreateProject Objects + +```python +class TestCreateProject(unittest.TestCase) +``` + +CreateProject unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateProject +``` + +Test CreateProject +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateProject + +```python +def testCreateProject() +``` + +Test CreateProject + + + +# koyeb/api\_async.test.test\_port + +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. + + + +## TestPort Objects + +```python +class TestPort(unittest.TestCase) +``` + +Port unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Port +``` + +Test Port +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testPort + +```python +def testPort() +``` + +Test Port + + + +# koyeb/api\_async.test.test\_availability\_level + +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. + + + +## TestAvailabilityLevel Objects + +```python +class TestAvailabilityLevel(unittest.TestCase) +``` + +AvailabilityLevel unit test stubs + + + +#### testAvailabilityLevel + +```python +def testAvailabilityLevel() +``` + +Test AvailabilityLevel + + + +# koyeb/api\_async.test.test\_search\_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. + + + +## TestSearchApi Objects + +```python +class TestSearchApi(unittest.IsolatedAsyncioTestCase) +``` + +SearchApi unit test stubs + + + +#### test\_search + +```python +async def test_search() -> None +``` + +Test case for search + +Search + + + +# koyeb/api\_async.test.test\_service + +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. + + + +## TestService Objects + +```python +class TestService(unittest.TestCase) +``` + +Service unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Service +``` + +Test Service +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testService + +```python +def testService() +``` + +Test Service + + + +# koyeb/api\_async.test.test\_sample + +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. + + + +## TestSample Objects + +```python +class TestSample(unittest.TestCase) +``` + +Sample unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Sample +``` + +Test Sample +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testSample + +```python +def testSample() +``` + +Test Sample + + + +# koyeb/api\_async.test.test\_tcp\_health\_check + +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. + + + +## TestTCPHealthCheck Objects + +```python +class TestTCPHealthCheck(unittest.TestCase) +``` + +TCPHealthCheck unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> TCPHealthCheck +``` + +Test TCPHealthCheck +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testTCPHealthCheck + +```python +def testTCPHealthCheck() +``` + +Test TCPHealthCheck + + + +# koyeb/api\_async.test.test\_subscription\_payment\_failure + +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. + + + +## TestSubscriptionPaymentFailure Objects + +```python +class TestSubscriptionPaymentFailure(unittest.TestCase) +``` + +SubscriptionPaymentFailure unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> SubscriptionPaymentFailure +``` + +Test SubscriptionPaymentFailure +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testSubscriptionPaymentFailure + +```python +def testSubscriptionPaymentFailure() +``` + +Test SubscriptionPaymentFailure + + + +# koyeb/api\_async.test.test\_deployments\_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. + + + +## TestDeploymentsApi Objects + +```python +class TestDeploymentsApi(unittest.IsolatedAsyncioTestCase) +``` + +DeploymentsApi unit test stubs + + + +#### test\_cancel\_deployment + +```python +async def test_cancel_deployment() -> None +``` + +Test case for cancel_deployment + +Cancel Deployment + + + +#### test\_get\_deployment + +```python +async def test_get_deployment() -> None +``` + +Test case for get_deployment + +Get Deployment + + + +#### test\_get\_deployment\_scaling + +```python +async def test_get_deployment_scaling() -> None +``` + +Test case for get_deployment_scaling + +Get Deployment Scaling + + + +#### test\_list\_deployment\_events + +```python +async def test_list_deployment_events() -> None +``` + +Test case for list_deployment_events + +List Deployment events + + + +#### test\_list\_deployments + +```python +async def test_list_deployments() -> None +``` + +Test case for list_deployments + +List Deployments + + + +# koyeb/api\_async.test.test\_list\_instances\_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. + + + +## TestListInstancesReply Objects + +```python +class TestListInstancesReply(unittest.TestCase) +``` + +ListInstancesReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListInstancesReply +``` + +Test ListInstancesReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListInstancesReply + +```python +def testListInstancesReply() +``` + +Test ListInstancesReply + + + +# koyeb/api\_async.test.test\_credential + +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. + + + +## TestCredential Objects + +```python +class TestCredential(unittest.TestCase) +``` + +Credential unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Credential +``` + +Test Credential +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCredential + +```python +def testCredential() +``` + +Test Credential + + + +# koyeb/api\_async.test.test\_trigger\_deployment\_metadata + +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. + + + +## TestTriggerDeploymentMetadata Objects + +```python +class TestTriggerDeploymentMetadata(unittest.TestCase) +``` + +TriggerDeploymentMetadata unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> TriggerDeploymentMetadata +``` + +Test TriggerDeploymentMetadata +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testTriggerDeploymentMetadata + +```python +def testTriggerDeploymentMetadata() +``` + +Test TriggerDeploymentMetadata + + + +# koyeb/api\_async.test.test\_get\_service\_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. + + + +## TestGetServiceReply Objects + +```python +class TestGetServiceReply(unittest.TestCase) +``` + +GetServiceReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetServiceReply +``` + +Test GetServiceReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetServiceReply + +```python +def testGetServiceReply() +``` + +Test GetServiceReply + + + +# koyeb/api\_async.test.test\_create\_app\_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. + + + +## TestCreateAppReply Objects + +```python +class TestCreateAppReply(unittest.TestCase) +``` + +CreateAppReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateAppReply +``` + +Test CreateAppReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateAppReply + +```python +def testCreateAppReply() +``` + +Test CreateAppReply + + + +# koyeb/api\_async.test.test\_get\_o\_auth\_options\_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. + + + +## TestGetOAuthOptionsReply Objects + +```python +class TestGetOAuthOptionsReply(unittest.TestCase) +``` + +GetOAuthOptionsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetOAuthOptionsReply +``` + +Test GetOAuthOptionsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetOAuthOptionsReply + +```python +def testGetOAuthOptionsReply() +``` + +Test GetOAuthOptionsReply + + + +# koyeb/api\_async.test.test\_repositories\_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. + + + +## TestRepositoriesApi Objects + +```python +class TestRepositoriesApi(unittest.IsolatedAsyncioTestCase) +``` + +RepositoriesApi unit test stubs + + + +#### test\_list\_branches + +```python +async def test_list_branches() -> None +``` + +Test case for list_branches + +List Branches + + + +#### test\_list\_repositories + +```python +async def test_list_repositories() -> None +``` + +Test case for list_repositories + +List Repositories + + + +#### test\_resync\_organization + +```python +async def test_resync_organization() -> None +``` + +Test case for resync_organization + +Resync Organization + + + +# koyeb/api\_async.test.test\_azure\_container\_registry\_configuration + +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. + + + +## TestAzureContainerRegistryConfiguration Objects + +```python +class TestAzureContainerRegistryConfiguration(unittest.TestCase) +``` + +AzureContainerRegistryConfiguration unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> AzureContainerRegistryConfiguration +``` + +Test AzureContainerRegistryConfiguration +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testAzureContainerRegistryConfiguration + +```python +def testAzureContainerRegistryConfiguration() +``` + +Test AzureContainerRegistryConfiguration + + + +# koyeb/api\_async.test.test\_query\_logs\_reply\_pagination + +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. + + + +## TestQueryLogsReplyPagination Objects + +```python +class TestQueryLogsReplyPagination(unittest.TestCase) +``` + +QueryLogsReplyPagination unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> QueryLogsReplyPagination +``` + +Test QueryLogsReplyPagination +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testQueryLogsReplyPagination + +```python +def testQueryLogsReplyPagination() +``` + +Test QueryLogsReplyPagination + + + +# koyeb/api\_async.test.test\_domain\_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. + + + +## TestDomainType Objects + +```python +class TestDomainType(unittest.TestCase) +``` + +DomainType unit test stubs + + + +#### testDomainType + +```python +def testDomainType() +``` + +Test DomainType + + + +# koyeb/api\_async.test.test\_deployment\_provisioning\_info + +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. + + + +## TestDeploymentProvisioningInfo Objects + +```python +class TestDeploymentProvisioningInfo(unittest.TestCase) +``` + +DeploymentProvisioningInfo unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentProvisioningInfo +``` + +Test DeploymentProvisioningInfo +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentProvisioningInfo + +```python +def testDeploymentProvisioningInfo() +``` + +Test DeploymentProvisioningInfo + + + +# koyeb/api\_async.test.test\_kgitproxy\_branch + +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. + + + +## TestKgitproxyBranch Objects + +```python +class TestKgitproxyBranch(unittest.TestCase) +``` + +KgitproxyBranch unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KgitproxyBranch +``` + +Test KgitproxyBranch +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKgitproxyBranch + +```python +def testKgitproxyBranch() +``` + +Test KgitproxyBranch + + + +# koyeb/api\_async.test.test\_payment\_methods\_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. + + + +## TestPaymentMethodsApi Objects + +```python +class TestPaymentMethodsApi(unittest.IsolatedAsyncioTestCase) +``` + +PaymentMethodsApi unit test stubs + + + +#### test\_confirm\_payment\_authorization + +```python +async def test_confirm_payment_authorization() -> None +``` + +Test case for confirm_payment_authorization + +Confirm payment authorization + + + +#### test\_create\_payment\_authorization + +```python +async def test_create_payment_authorization() -> None +``` + +Test case for create_payment_authorization + +Create payment authorization + + + +#### test\_delete\_payment\_method + +```python +async def test_delete_payment_method() -> None +``` + +Test case for delete_payment_method + +Delete payment method + + + +#### test\_get\_payment\_method + +```python +async def test_get_payment_method() -> None +``` + +Test case for get_payment_method + +Get payment method + + + +#### test\_list\_payment\_methods + +```python +async def test_list_payment_methods() -> None +``` + +Test case for list_payment_methods + +List payment methods + + + +# koyeb/api\_async.test.test\_kgitproxy\_list\_branches\_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. + + + +## TestKgitproxyListBranchesReply Objects + +```python +class TestKgitproxyListBranchesReply(unittest.TestCase) +``` + +KgitproxyListBranchesReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KgitproxyListBranchesReply +``` + +Test KgitproxyListBranchesReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKgitproxyListBranchesReply + +```python +def testKgitproxyListBranchesReply() +``` + +Test KgitproxyListBranchesReply + + + +# koyeb/api\_async.test.test\_instance + +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. + + + +## TestInstance Objects + +```python +class TestInstance(unittest.TestCase) +``` + +Instance unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Instance +``` + +Test Instance +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testInstance + +```python +def testInstance() +``` + +Test Instance + + + +# koyeb/api\_async.test.test\_get\_domain\_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. + + + +## TestGetDomainReply Objects + +```python +class TestGetDomainReply(unittest.TestCase) +``` + +GetDomainReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetDomainReply +``` + +Test GetDomainReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetDomainReply + +```python +def testGetDomainReply() +``` + +Test GetDomainReply + + + +# koyeb/api\_async.test.test\_get\_credential\_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. + + + +## TestGetCredentialReply Objects + +```python +class TestGetCredentialReply(unittest.TestCase) +``` + +GetCredentialReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetCredentialReply +``` + +Test GetCredentialReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetCredentialReply + +```python +def testGetCredentialReply() +``` + +Test GetCredentialReply + + + +# koyeb/api\_async.test.test\_service\_state + +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. + + + +## TestServiceState Objects + +```python +class TestServiceState(unittest.TestCase) +``` + +ServiceState unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ServiceState +``` + +Test ServiceState +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testServiceState + +```python +def testServiceState() +``` + +Test ServiceState + + + +# koyeb/api\_async.test.test\_deployment\_provisioning\_info\_stage\_build\_attempt\_build\_step + +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. + + + +## TestDeploymentProvisioningInfoStageBuildAttemptBuildStep Objects + +```python +class TestDeploymentProvisioningInfoStageBuildAttemptBuildStep( + unittest.TestCase) +``` + +DeploymentProvisioningInfoStageBuildAttemptBuildStep unit test stubs + + + +#### make\_instance + +```python +def make_instance( + include_optional +) -> DeploymentProvisioningInfoStageBuildAttemptBuildStep +``` + +Test DeploymentProvisioningInfoStageBuildAttemptBuildStep +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentProvisioningInfoStageBuildAttemptBuildStep + +```python +def testDeploymentProvisioningInfoStageBuildAttemptBuildStep() +``` + +Test DeploymentProvisioningInfoStageBuildAttemptBuildStep + + + +# koyeb/api\_async.test.test\_regional\_deployment\_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. + + + +## TestRegionalDeploymentEvent Objects + +```python +class TestRegionalDeploymentEvent(unittest.TestCase) +``` + +RegionalDeploymentEvent unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RegionalDeploymentEvent +``` + +Test RegionalDeploymentEvent +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRegionalDeploymentEvent + +```python +def testRegionalDeploymentEvent() +``` + +Test RegionalDeploymentEvent + + + +# koyeb/api\_async.test.test\_reset\_password\_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. + + + +## TestResetPasswordRequest Objects + +```python +class TestResetPasswordRequest(unittest.TestCase) +``` + +ResetPasswordRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ResetPasswordRequest +``` + +Test ResetPasswordRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testResetPasswordRequest + +```python +def testResetPasswordRequest() +``` + +Test ResetPasswordRequest + + + +# koyeb/api\_async.test.test\_manual\_service\_scaling + +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. + + + +## TestManualServiceScaling Objects + +```python +class TestManualServiceScaling(unittest.TestCase) +``` + +ManualServiceScaling unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ManualServiceScaling +``` + +Test ManualServiceScaling +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testManualServiceScaling + +```python +def testManualServiceScaling() +``` + +Test ManualServiceScaling + + + +# koyeb/api\_async.test.test\_archive\_deployment\_metadata + +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. + + + +## TestArchiveDeploymentMetadata Objects + +```python +class TestArchiveDeploymentMetadata(unittest.TestCase) +``` + +ArchiveDeploymentMetadata unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ArchiveDeploymentMetadata +``` + +Test ArchiveDeploymentMetadata +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testArchiveDeploymentMetadata + +```python +def testArchiveDeploymentMetadata() +``` + +Test ArchiveDeploymentMetadata + + + +# koyeb/api\_async.test.test\_gcp\_container\_registry\_configuration + +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. + + + +## TestGCPContainerRegistryConfiguration Objects + +```python +class TestGCPContainerRegistryConfiguration(unittest.TestCase) +``` + +GCPContainerRegistryConfiguration unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GCPContainerRegistryConfiguration +``` + +Test GCPContainerRegistryConfiguration +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGCPContainerRegistryConfiguration + +```python +def testGCPContainerRegistryConfiguration() +``` + +Test GCPContainerRegistryConfiguration + + + +# koyeb/api\_async.test.test\_config\_file + +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. + + + +## TestConfigFile Objects + +```python +class TestConfigFile(unittest.TestCase) +``` + +ConfigFile unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ConfigFile +``` + +Test ConfigFile +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testConfigFile + +```python +def testConfigFile() +``` + +Test ConfigFile + + + +# koyeb/api\_async.test.test\_projects\_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. + + + +## TestProjectsApi Objects + +```python +class TestProjectsApi(unittest.IsolatedAsyncioTestCase) +``` + +ProjectsApi unit test stubs + + + +#### test\_create\_project + +```python +async def test_create_project() -> None +``` + +Test case for create_project + +Create project + + + +#### test\_delete\_project + +```python +async def test_delete_project() -> None +``` + +Test case for delete_project + +Delete project + + + +#### test\_get\_project + +```python +async def test_get_project() -> None +``` + +Test case for get_project + +Get project + + + +#### test\_list\_projects + +```python +async def test_list_projects() -> None +``` + +Test case for list_projects + +List projects + + + +#### test\_update\_project + +```python +async def test_update_project() -> None +``` + +Test case for update_project + +Update project + + + +#### test\_update\_project2 + +```python +async def test_update_project2() -> None +``` + +Test case for update_project2 + +Update project + + + +# koyeb/api\_async.test.test\_exec\_command\_io + +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. + + + +## TestExecCommandIO Objects + +```python +class TestExecCommandIO(unittest.TestCase) +``` + +ExecCommandIO unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ExecCommandIO +``` + +Test ExecCommandIO +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testExecCommandIO + +```python +def testExecCommandIO() +``` + +Test ExecCommandIO + + + +# koyeb/api\_async.test.test\_period\_usage + +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. + + + +## TestPeriodUsage Objects + +```python +class TestPeriodUsage(unittest.TestCase) +``` + +PeriodUsage unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> PeriodUsage +``` + +Test PeriodUsage +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testPeriodUsage + +```python +def testPeriodUsage() +``` + +Test PeriodUsage + + + +# koyeb/api\_async.test.test\_github\_installation\_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. + + + +## TestGithubInstallationReply Objects + +```python +class TestGithubInstallationReply(unittest.TestCase) +``` + +GithubInstallationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GithubInstallationReply +``` + +Test GithubInstallationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGithubInstallationReply + +```python +def testGithubInstallationReply() +``` + +Test GithubInstallationReply + + + +# koyeb/api\_async.test.test\_ksearch\_search\_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. + + + +## TestKsearchSearchReply Objects + +```python +class TestKsearchSearchReply(unittest.TestCase) +``` + +KsearchSearchReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KsearchSearchReply +``` + +Test KsearchSearchReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKsearchSearchReply + +```python +def testKsearchSearchReply() +``` + +Test KsearchSearchReply + + + +# koyeb/api\_async.test.test\_ksearch\_global\_deployment + +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. + + + +## TestKsearchGlobalDeployment Objects + +```python +class TestKsearchGlobalDeployment(unittest.TestCase) +``` + +KsearchGlobalDeployment unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KsearchGlobalDeployment +``` + +Test KsearchGlobalDeployment +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKsearchGlobalDeployment + +```python +def testKsearchGlobalDeployment() +``` + +Test KsearchGlobalDeployment + + + +# koyeb/api\_async.test.test\_stream\_result\_of\_log\_entry + +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. + + + +## TestStreamResultOfLogEntry Objects + +```python +class TestStreamResultOfLogEntry(unittest.TestCase) +``` + +StreamResultOfLogEntry unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> StreamResultOfLogEntry +``` + +Test StreamResultOfLogEntry +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testStreamResultOfLogEntry + +```python +def testStreamResultOfLogEntry() +``` + +Test StreamResultOfLogEntry + + + +# koyeb/api\_async.test.test\_invite\_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. + + + +## TestInviteApi Objects + +```python +class TestInviteApi(unittest.IsolatedAsyncioTestCase) +``` + +InviteApi unit test stubs + + + +#### test\_create\_invite + +```python +async def test_create_invite() -> None +``` + +Test case for create_invite + +DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +# koyeb/api\_async.test.test\_update\_organization\_name\_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. + + + +## TestUpdateOrganizationNameReply Objects + +```python +class TestUpdateOrganizationNameReply(unittest.TestCase) +``` + +UpdateOrganizationNameReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateOrganizationNameReply +``` + +Test UpdateOrganizationNameReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateOrganizationNameReply + +```python +def testUpdateOrganizationNameReply() +``` + +Test UpdateOrganizationNameReply + + + +# koyeb/api\_async.test.test\_login\_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. + + + +## TestLoginRequest Objects + +```python +class TestLoginRequest(unittest.TestCase) +``` + +LoginRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> LoginRequest +``` + +Test LoginRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testLoginRequest + +```python +def testLoginRequest() +``` + +Test LoginRequest + + + +# koyeb/api\_async.test.test\_discourse\_auth\_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. + + + +## TestDiscourseAuthReply Objects + +```python +class TestDiscourseAuthReply(unittest.TestCase) +``` + +DiscourseAuthReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DiscourseAuthReply +``` + +Test DiscourseAuthReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDiscourseAuthReply + +```python +def testDiscourseAuthReply() +``` + +Test DiscourseAuthReply + + + +# koyeb/api\_async.test.test\_service\_usage + +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. + + + +## TestServiceUsage Objects + +```python +class TestServiceUsage(unittest.TestCase) +``` + +ServiceUsage unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ServiceUsage +``` + +Test ServiceUsage +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testServiceUsage + +```python +def testServiceUsage() +``` + +Test ServiceUsage + + + +# koyeb/api\_async.test.test\_organization\_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. + + + +## TestOrganizationApi Objects + +```python +class TestOrganizationApi(unittest.IsolatedAsyncioTestCase) +``` + +OrganizationApi unit test stubs + + + +#### test\_create\_access\_token + +```python +async def test_create_access_token() -> None +``` + +Test case for create_access_token + +CreateAccessToken + + + +#### test\_create\_budget + +```python +async def test_create_budget() -> None +``` + +Test case for create_budget + +Create Budget + + + +#### test\_create\_organization + +```python +async def test_create_organization() -> None +``` + +Test case for create_organization + +Create Organization + + + +#### test\_deactivate\_organization + +```python +async def test_deactivate_organization() -> None +``` + +Test case for deactivate_organization + +Deactivate an Organization + + + +#### test\_delete\_budget + +```python +async def test_delete_budget() -> None +``` + +Test case for delete_budget + +Delete Budget + + + +#### test\_delete\_organization + +```python +async def test_delete_organization() -> None +``` + +Test case for delete_organization + +Delete an Organization + + + +#### test\_get\_budget + +```python +async def test_get_budget() -> None +``` + +Test case for get_budget + +Get Budget + + + +#### test\_get\_github\_installation + +```python +async def test_get_github_installation() -> None +``` + +Test case for get_github_installation + +Fetch Github Installation configuration + + + +#### test\_get\_organization + +```python +async def test_get_organization() -> None +``` + +Test case for get_organization + +Get Organization + + + +#### test\_github\_installation + +```python +async def test_github_installation() -> None +``` + +Test case for github_installation + +Start Github Installation + + + +#### test\_reactivate\_organization + +```python +async def test_reactivate_organization() -> None +``` + +Test case for reactivate_organization + +Reactivate an Organization + + + +#### test\_switch\_organization + +```python +async def test_switch_organization() -> None +``` + +Test case for switch_organization + +Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_unscope\_organization\_token + +```python +async def test_unscope_organization_token() -> None +``` + +Test case for unscope_organization_token + +Unscope Organization Token + + + +#### test\_update\_budget + +```python +async def test_update_budget() -> None +``` + +Test case for update_budget + +Update Budget + + + +#### test\_update\_organization + +```python +async def test_update_organization() -> None +``` + +Test case for update_organization + +Update Organization + + + +#### test\_update\_organization2 + +```python +async def test_update_organization2() -> None +``` + +Test case for update_organization2 + +Update Organization + + + +#### test\_update\_organization\_default\_project + +```python +async def test_update_organization_default_project() -> None +``` + +Test case for update_organization_default_project + +Update Organization's default project + + + +#### test\_update\_organization\_name + +```python +async def test_update_organization_name() -> None +``` + +Test case for update_organization_name + +Update Organization Name + + + +#### test\_update\_organization\_plan + +```python +async def test_update_organization_plan() -> None +``` + +Test case for update_organization_plan + +Update Organization plan + + + +#### test\_upsert\_signup\_qualification + +```python +async def test_upsert_signup_qualification() -> None +``` + +Test case for upsert_signup_qualification + +Upsert Organization's signup qualification + + + +# koyeb/api\_async.test.test\_git\_hub\_registry\_configuration + +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. + + + +## TestGitHubRegistryConfiguration Objects + +```python +class TestGitHubRegistryConfiguration(unittest.TestCase) +``` + +GitHubRegistryConfiguration unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GitHubRegistryConfiguration +``` + +Test GitHubRegistryConfiguration +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGitHubRegistryConfiguration + +```python +def testGitHubRegistryConfiguration() +``` + +Test GitHubRegistryConfiguration + + + +# koyeb/api\_async.test.test\_catalog\_regions\_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. + + + +## TestCatalogRegionsApi Objects + +```python +class TestCatalogRegionsApi(unittest.IsolatedAsyncioTestCase) +``` + +CatalogRegionsApi unit test stubs + + + +#### test\_get\_region + +```python +async def test_get_region() -> None +``` + +Test case for get_region + +Get Region + + + +#### test\_list\_regions + +```python +async def test_list_regions() -> None +``` + +Test case for list_regions + +List Region + + + +# koyeb/api\_async.test.test\_deployment\_instance\_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. + + + +## TestDeploymentInstanceType Objects + +```python +class TestDeploymentInstanceType(unittest.TestCase) +``` + +DeploymentInstanceType unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentInstanceType +``` + +Test DeploymentInstanceType +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentInstanceType + +```python +def testDeploymentInstanceType() +``` + +Test DeploymentInstanceType + + + +# koyeb/api\_async.test.test\_create\_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. + + + +## TestCreateSnapshotRequest Objects + +```python +class TestCreateSnapshotRequest(unittest.TestCase) +``` + +CreateSnapshotRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateSnapshotRequest +``` + +Test CreateSnapshotRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateSnapshotRequest + +```python +def testCreateSnapshotRequest() +``` + +Test CreateSnapshotRequest + + + +# koyeb/api\_async.test.test\_regional\_deployment\_definition\_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. + + + +## TestRegionalDeploymentDefinitionType Objects + +```python +class TestRegionalDeploymentDefinitionType(unittest.TestCase) +``` + +RegionalDeploymentDefinitionType unit test stubs + + + +#### testRegionalDeploymentDefinitionType + +```python +def testRegionalDeploymentDefinitionType() +``` + +Test RegionalDeploymentDefinitionType + + + +# koyeb/api\_async.test.test\_exec\_command\_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. + + + +## TestExecCommandReply Objects + +```python +class TestExecCommandReply(unittest.TestCase) +``` + +ExecCommandReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ExecCommandReply +``` + +Test ExecCommandReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testExecCommandReply + +```python +def testExecCommandReply() +``` + +Test ExecCommandReply + + + +# koyeb/api\_async.test.test\_update\_service\_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. + + + +## TestUpdateServiceReply Objects + +```python +class TestUpdateServiceReply(unittest.TestCase) +``` + +UpdateServiceReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateServiceReply +``` + +Test UpdateServiceReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateServiceReply + +```python +def testUpdateServiceReply() +``` + +Test UpdateServiceReply + + + +# koyeb/api\_async.test.test\_persistent\_volume\_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. + + + +## TestPersistentVolumeEvent Objects + +```python +class TestPersistentVolumeEvent(unittest.TestCase) +``` + +PersistentVolumeEvent unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> PersistentVolumeEvent +``` + +Test PersistentVolumeEvent +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testPersistentVolumeEvent + +```python +def testPersistentVolumeEvent() +``` + +Test PersistentVolumeEvent + + + +# koyeb/api\_async.test.test\_create\_project\_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. + + + +## TestCreateProjectReply Objects + +```python +class TestCreateProjectReply(unittest.TestCase) +``` + +CreateProjectReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateProjectReply +``` + +Test CreateProjectReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateProjectReply + +```python +def testCreateProjectReply() +``` + +Test CreateProjectReply + + + +# koyeb/api\_async.test.test\_error\_with\_fields + +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. + + + +## TestErrorWithFields Objects + +```python +class TestErrorWithFields(unittest.TestCase) +``` + +ErrorWithFields unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ErrorWithFields +``` + +Test ErrorWithFields +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testErrorWithFields + +```python +def testErrorWithFields() +``` + +Test ErrorWithFields + + + +# koyeb/api\_async.test.test\_list\_payment\_methods\_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. + + + +## TestListPaymentMethodsReply Objects + +```python +class TestListPaymentMethodsReply(unittest.TestCase) +``` + +ListPaymentMethodsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListPaymentMethodsReply +``` + +Test ListPaymentMethodsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListPaymentMethodsReply + +```python +def testListPaymentMethodsReply() +``` + +Test ListPaymentMethodsReply + + + +# koyeb/api\_async.test.test\_database\_source + +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. + + + +## TestDatabaseSource Objects + +```python +class TestDatabaseSource(unittest.TestCase) +``` + +DatabaseSource unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DatabaseSource +``` + +Test DatabaseSource +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDatabaseSource + +```python +def testDatabaseSource() +``` + +Test DatabaseSource + + + +# koyeb/api\_async.test.test\_update\_persistent\_volume\_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. + + + +## TestUpdatePersistentVolumeRequest Objects + +```python +class TestUpdatePersistentVolumeRequest(unittest.TestCase) +``` + +UpdatePersistentVolumeRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdatePersistentVolumeRequest +``` + +Test UpdatePersistentVolumeRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdatePersistentVolumeRequest + +```python +def testUpdatePersistentVolumeRequest() +``` + +Test UpdatePersistentVolumeRequest + + + +# koyeb/api\_async.test.test\_create\_stage\_attempt\_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. + + + +## TestCreateStageAttemptRequest Objects + +```python +class TestCreateStageAttemptRequest(unittest.TestCase) +``` + +CreateStageAttemptRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateStageAttemptRequest +``` + +Test CreateStageAttemptRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateStageAttemptRequest + +```python +def testCreateStageAttemptRequest() +``` + +Test CreateStageAttemptRequest + + + +# koyeb/api\_async.test.test\_deployment\_scaling + +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. + + + +## TestDeploymentScaling Objects + +```python +class TestDeploymentScaling(unittest.TestCase) +``` + +DeploymentScaling unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentScaling +``` + +Test DeploymentScaling +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentScaling + +```python +def testDeploymentScaling() +``` + +Test DeploymentScaling + + + +# koyeb/api\_async.test.test\_datacenter\_list\_item + +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. + + + +## TestDatacenterListItem Objects + +```python +class TestDatacenterListItem(unittest.TestCase) +``` + +DatacenterListItem unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DatacenterListItem +``` + +Test DatacenterListItem +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDatacenterListItem + +```python +def testDatacenterListItem() +``` + +Test DatacenterListItem + + + +# koyeb/api\_async.test.test\_organization\_members\_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. + + + +## TestOrganizationMembersApi Objects + +```python +class TestOrganizationMembersApi(unittest.IsolatedAsyncioTestCase) +``` + +OrganizationMembersApi unit test stubs + + + +#### test\_list\_organization\_members + +```python +async def test_list_organization_members() -> None +``` + +Test case for list_organization_members + +List organization members + + + +#### test\_remove\_organization\_member + +```python +async def test_remove_organization_member() -> None +``` + +Test case for remove_organization_member + +Remove an organization member + + + +# koyeb/api\_async.test.test\_update\_organization\_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. + + + +## TestUpdateOrganizationReply Objects + +```python +class TestUpdateOrganizationReply(unittest.TestCase) +``` + +UpdateOrganizationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateOrganizationReply +``` + +Test UpdateOrganizationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateOrganizationReply + +```python +def testUpdateOrganizationReply() +``` + +Test UpdateOrganizationReply + + + +# koyeb/api\_async.test.test\_ktest\_test\_auth\_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. + + + +## TestKtestTestAuthReply Objects + +```python +class TestKtestTestAuthReply(unittest.TestCase) +``` + +KtestTestAuthReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KtestTestAuthReply +``` + +Test KtestTestAuthReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKtestTestAuthReply + +```python +def testKtestTestAuthReply() +``` + +Test KtestTestAuthReply + + + +# koyeb/api\_async.test.test\_o\_auth\_callback\_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. + + + +## TestOAuthCallbackReply Objects + +```python +class TestOAuthCallbackReply(unittest.TestCase) +``` + +OAuthCallbackReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> OAuthCallbackReply +``` + +Test OAuthCallbackReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testOAuthCallbackReply + +```python +def testOAuthCallbackReply() +``` + +Test OAuthCallbackReply + + + +# koyeb/api\_async.test.test\_update\_organization\_default\_project\_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. + + + +## TestUpdateOrganizationDefaultProjectReply Objects + +```python +class TestUpdateOrganizationDefaultProjectReply(unittest.TestCase) +``` + +UpdateOrganizationDefaultProjectReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateOrganizationDefaultProjectReply +``` + +Test UpdateOrganizationDefaultProjectReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateOrganizationDefaultProjectReply + +```python +def testUpdateOrganizationDefaultProjectReply() +``` + +Test UpdateOrganizationDefaultProjectReply + + + +# koyeb/api\_async.test.test\_autocomplete\_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. + + + +## TestAutocompleteRequest Objects + +```python +class TestAutocompleteRequest(unittest.TestCase) +``` + +AutocompleteRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> AutocompleteRequest +``` + +Test AutocompleteRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testAutocompleteRequest + +```python +def testAutocompleteRequest() +``` + +Test AutocompleteRequest + + + +# koyeb/api\_async.test.test\_catalog\_instance\_list\_item + +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. + + + +## TestCatalogInstanceListItem Objects + +```python +class TestCatalogInstanceListItem(unittest.TestCase) +``` + +CatalogInstanceListItem unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CatalogInstanceListItem +``` + +Test CatalogInstanceListItem +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCatalogInstanceListItem + +```python +def testCatalogInstanceListItem() +``` + +Test CatalogInstanceListItem + + + +# koyeb/api\_async.test + + + +# koyeb/api\_async.test.test\_create\_secret + +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. + + + +## TestCreateSecret Objects + +```python +class TestCreateSecret(unittest.TestCase) +``` + +CreateSecret unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateSecret +``` + +Test CreateSecret +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateSecret + +```python +def testCreateSecret() +``` + +Test CreateSecret + + + +# koyeb/api\_async.test.test\_verify\_docker\_image\_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. + + + +## TestVerifyDockerImageReply Objects + +```python +class TestVerifyDockerImageReply(unittest.TestCase) +``` + +VerifyDockerImageReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> VerifyDockerImageReply +``` + +Test VerifyDockerImageReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testVerifyDockerImageReply + +```python +def testVerifyDockerImageReply() +``` + +Test VerifyDockerImageReply + + + +# koyeb/api\_async.test.test\_get\_payment\_method\_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. + + + +## TestGetPaymentMethodReply Objects + +```python +class TestGetPaymentMethodReply(unittest.TestCase) +``` + +GetPaymentMethodReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetPaymentMethodReply +``` + +Test GetPaymentMethodReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetPaymentMethodReply + +```python +def testGetPaymentMethodReply() +``` + +Test GetPaymentMethodReply + + + +# koyeb/api\_async.test.test\_sessions\_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. + + + +## TestSessionsApi Objects + +```python +class TestSessionsApi(unittest.IsolatedAsyncioTestCase) +``` + +SessionsApi unit test stubs + + + +#### test\_login + +```python +async def test_login() -> None +``` + +Test case for login + +Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_logout + +```python +async def test_logout() -> None +``` + +Test case for logout + +Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_new\_session + +```python +async def test_new_session() -> None +``` + +Test case for new_session + +New session + + + +#### test\_refresh\_token + +```python +async def test_refresh_token() -> None +``` + +Test case for refresh_token + +Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +# koyeb/api\_async.test.test\_update\_organization\_default\_project\_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. + + + +## TestUpdateOrganizationDefaultProjectRequest Objects + +```python +class TestUpdateOrganizationDefaultProjectRequest(unittest.TestCase) +``` + +UpdateOrganizationDefaultProjectRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateOrganizationDefaultProjectRequest +``` + +Test UpdateOrganizationDefaultProjectRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateOrganizationDefaultProjectRequest + +```python +def testUpdateOrganizationDefaultProjectRequest() +``` + +Test UpdateOrganizationDefaultProjectRequest + + + +# koyeb/api\_async.test.test\_coupons\_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. + + + +## TestCouponsApi Objects + +```python +class TestCouponsApi(unittest.IsolatedAsyncioTestCase) +``` + +CouponsApi unit test stubs + + + +#### test\_check\_coupon + +```python +async def test_check_coupon() -> None +``` + +Test case for check_coupon + +Check Coupon + + + +#### test\_redeem\_coupon + +```python +async def test_redeem_coupon() -> None +``` + +Test case for redeem_coupon + +Redeem Coupon + + + +# koyeb/api\_async.test.test\_list\_organization\_invitations\_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. + + + +## TestListOrganizationInvitationsReply Objects + +```python +class TestListOrganizationInvitationsReply(unittest.TestCase) +``` + +ListOrganizationInvitationsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListOrganizationInvitationsReply +``` + +Test ListOrganizationInvitationsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListOrganizationInvitationsReply + +```python +def testListOrganizationInvitationsReply() +``` + +Test ListOrganizationInvitationsReply + + + +# koyeb/api\_async.test.test\_env + +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. + + + +## TestEnv Objects + +```python +class TestEnv(unittest.TestCase) +``` + +Env unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Env +``` + +Test Env +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testEnv + +```python +def testEnv() +``` + +Test Env + + + +# koyeb/api\_async.test.test\_usage\_details + +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. + + + +## TestUsageDetails Objects + +```python +class TestUsageDetails(unittest.TestCase) +``` + +UsageDetails unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UsageDetails +``` + +Test UsageDetails +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUsageDetails + +```python +def testUsageDetails() +``` + +Test UsageDetails + + + +# koyeb/api\_async.test.test\_organization\_member + +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. + + + +## TestOrganizationMember Objects + +```python +class TestOrganizationMember(unittest.TestCase) +``` + +OrganizationMember unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> OrganizationMember +``` + +Test OrganizationMember +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testOrganizationMember + +```python +def testOrganizationMember() +``` + +Test OrganizationMember + + + +# koyeb/api\_async.test.test\_list\_user\_organization\_invitations\_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. + + + +## TestListUserOrganizationInvitationsReply Objects + +```python +class TestListUserOrganizationInvitationsReply(unittest.TestCase) +``` + +ListUserOrganizationInvitationsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListUserOrganizationInvitationsReply +``` + +Test ListUserOrganizationInvitationsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListUserOrganizationInvitationsReply + +```python +def testListUserOrganizationInvitationsReply() +``` + +Test ListUserOrganizationInvitationsReply + + + +# koyeb/api\_async.test.test\_list\_apps\_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. + + + +## TestListAppsReply Objects + +```python +class TestListAppsReply(unittest.TestCase) +``` + +ListAppsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListAppsReply +``` + +Test ListAppsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListAppsReply + +```python +def testListAppsReply() +``` + +Test ListAppsReply + + + +# koyeb/api\_async.test.test\_get\_github\_installation\_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. + + + +## TestGetGithubInstallationReply Objects + +```python +class TestGetGithubInstallationReply(unittest.TestCase) +``` + +GetGithubInstallationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetGithubInstallationReply +``` + +Test GetGithubInstallationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetGithubInstallationReply + +```python +def testGetGithubInstallationReply() +``` + +Test GetGithubInstallationReply + + + +# koyeb/api\_async.test.test\_app\_list\_item + +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. + + + +## TestAppListItem Objects + +```python +class TestAppListItem(unittest.TestCase) +``` + +AppListItem unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> AppListItem +``` + +Test AppListItem +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testAppListItem + +```python +def testAppListItem() +``` + +Test AppListItem + + + +# koyeb/api\_async.test.test\_usage + +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. + + + +## TestUsage Objects + +```python +class TestUsage(unittest.TestCase) +``` + +Usage unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Usage +``` + +Test Usage +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUsage + +```python +def testUsage() +``` + +Test Usage + + + +# koyeb/api\_async.test.test\_google\_rpc\_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. + + + +## TestGoogleRpcStatus Objects + +```python +class TestGoogleRpcStatus(unittest.TestCase) +``` + +GoogleRpcStatus unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GoogleRpcStatus +``` + +Test GoogleRpcStatus +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGoogleRpcStatus + +```python +def testGoogleRpcStatus() +``` + +Test GoogleRpcStatus + + + +# koyeb/api\_async.test.test\_http\_health\_check + +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. + + + +## TestHTTPHealthCheck Objects + +```python +class TestHTTPHealthCheck(unittest.TestCase) +``` + +HTTPHealthCheck unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> HTTPHealthCheck +``` + +Test HTTPHealthCheck +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testHTTPHealthCheck + +```python +def testHTTPHealthCheck() +``` + +Test HTTPHealthCheck + + + +# koyeb/api\_async.test.test\_usages\_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. + + + +## TestUsagesApi Objects + +```python +class TestUsagesApi(unittest.IsolatedAsyncioTestCase) +``` + +UsagesApi unit test stubs + + + +#### test\_get\_organization\_usage + +```python +async def test_get_organization_usage() -> None +``` + +Test case for get_organization_usage + +Get organization usage + + + +#### test\_get\_organization\_usage\_details + +```python +async def test_get_organization_usage_details() -> None +``` + +Test case for get_organization_usage_details + +Get organization usage details + + + +# koyeb/api\_async.test.test\_deployment\_strategy\_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. + + + +## TestDeploymentStrategyType Objects + +```python +class TestDeploymentStrategyType(unittest.TestCase) +``` + +DeploymentStrategyType unit test stubs + + + +#### testDeploymentStrategyType + +```python +def testDeploymentStrategyType() +``` + +Test DeploymentStrategyType + + + +# koyeb/api\_async.test.test\_app\_usage + +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. + + + +## TestAppUsage Objects + +```python +class TestAppUsage(unittest.TestCase) +``` + +AppUsage unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> AppUsage +``` + +Test AppUsage +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testAppUsage + +```python +def testAppUsage() +``` + +Test AppUsage + + + +# koyeb/api\_async.test.test\_get\_deployment\_scaling\_reply\_item + +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. + + + +## TestGetDeploymentScalingReplyItem Objects + +```python +class TestGetDeploymentScalingReplyItem(unittest.TestCase) +``` + +GetDeploymentScalingReplyItem unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetDeploymentScalingReplyItem +``` + +Test GetDeploymentScalingReplyItem +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetDeploymentScalingReplyItem + +```python +def testGetDeploymentScalingReplyItem() +``` + +Test GetDeploymentScalingReplyItem + + + +# koyeb/api\_async.test.test\_update\_secret\_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. + + + +## TestUpdateSecretReply Objects + +```python +class TestUpdateSecretReply(unittest.TestCase) +``` + +UpdateSecretReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateSecretReply +``` + +Test UpdateSecretReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateSecretReply + +```python +def testUpdateSecretReply() +``` + +Test UpdateSecretReply + + + +# koyeb/api\_async.test.test\_domains\_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. + + + +## TestDomainsApi Objects + +```python +class TestDomainsApi(unittest.IsolatedAsyncioTestCase) +``` + +DomainsApi unit test stubs + + + +#### test\_create\_domain + +```python +async def test_create_domain() -> None +``` + +Test case for create_domain + +Create Domain + + + +#### test\_delete\_domain + +```python +async def test_delete_domain() -> None +``` + +Test case for delete_domain + +Delete Domain + + + +#### test\_get\_domain + +```python +async def test_get_domain() -> None +``` + +Test case for get_domain + +Get Domain + + + +#### test\_list\_domains + +```python +async def test_list_domains() -> None +``` + +Test case for list_domains + +List Domains + + + +#### test\_refresh\_domain\_status + +```python +async def test_refresh_domain_status() -> None +``` + +Test case for refresh_domain_status + +Refresh Domain Status + + + +#### test\_update\_domain + +```python +async def test_update_domain() -> None +``` + +Test case for update_domain + +Update Domain + + + +# koyeb/api\_async.test.test\_catalog\_datacenters\_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. + + + +## TestCatalogDatacentersApi Objects + +```python +class TestCatalogDatacentersApi(unittest.IsolatedAsyncioTestCase) +``` + +CatalogDatacentersApi unit test stubs + + + +#### test\_list\_datacenters + +```python +async def test_list_datacenters() -> None +``` + +Test case for list_datacenters + +List datacenters + + + +# koyeb/api\_async.test.test\_regional\_deployment\_volume + +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. + + + +## TestRegionalDeploymentVolume Objects + +```python +class TestRegionalDeploymentVolume(unittest.TestCase) +``` + +RegionalDeploymentVolume unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RegionalDeploymentVolume +``` + +Test RegionalDeploymentVolume +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRegionalDeploymentVolume + +```python +def testRegionalDeploymentVolume() +``` + +Test RegionalDeploymentVolume + + + +# koyeb/api\_async.test.test\_lifecycle\_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. + + + +## TestLifecycleQuotas Objects + +```python +class TestLifecycleQuotas(unittest.TestCase) +``` + +LifecycleQuotas unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> LifecycleQuotas +``` + +Test LifecycleQuotas +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testLifecycleQuotas + +```python +def testLifecycleQuotas() +``` + +Test LifecycleQuotas + + + +# koyeb/api\_async.test.test\_next\_invoice\_reply\_line + +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. + + + +## TestNextInvoiceReplyLine Objects + +```python +class TestNextInvoiceReplyLine(unittest.TestCase) +``` + +NextInvoiceReplyLine unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> NextInvoiceReplyLine +``` + +Test NextInvoiceReplyLine +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNextInvoiceReplyLine + +```python +def testNextInvoiceReplyLine() +``` + +Test NextInvoiceReplyLine + + + +# koyeb/api\_async.test.test\_create\_archive + +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. + + + +## TestCreateArchive Objects + +```python +class TestCreateArchive(unittest.TestCase) +``` + +CreateArchive unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateArchive +``` + +Test CreateArchive +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateArchive + +```python +def testCreateArchive() +``` + +Test CreateArchive + + + +# koyeb/api\_async.test.test\_git\_source + +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. + + + +## TestGitSource Objects + +```python +class TestGitSource(unittest.TestCase) +``` + +GitSource unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GitSource +``` + +Test GitSource +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGitSource + +```python +def testGitSource() +``` + +Test GitSource + + + +# koyeb/api\_async.test.test\_instance\_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. + + + +## TestInstanceEvent Objects + +```python +class TestInstanceEvent(unittest.TestCase) +``` + +InstanceEvent unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> InstanceEvent +``` + +Test InstanceEvent +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testInstanceEvent + +```python +def testInstanceEvent() +``` + +Test InstanceEvent + + + +# koyeb/api\_async.test.test\_docker\_builder + +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. + + + +## TestDockerBuilder Objects + +```python +class TestDockerBuilder(unittest.TestCase) +``` + +DockerBuilder unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DockerBuilder +``` + +Test DockerBuilder +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDockerBuilder + +```python +def testDockerBuilder() +``` + +Test DockerBuilder + + + +# koyeb/api\_async.test.test\_get\_region\_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. + + + +## TestGetRegionReply Objects + +```python +class TestGetRegionReply(unittest.TestCase) +``` + +GetRegionReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetRegionReply +``` + +Test GetRegionReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetRegionReply + +```python +def testGetRegionReply() +``` + +Test GetRegionReply + + + +# koyeb/api\_async.test.test\_domains\_summary + +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. + + + +## TestDomainsSummary Objects + +```python +class TestDomainsSummary(unittest.TestCase) +``` + +DomainsSummary unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DomainsSummary +``` + +Test DomainsSummary +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDomainsSummary + +```python +def testDomainsSummary() +``` + +Test DomainsSummary + + + +# koyeb/api\_async.test.test\_update\_service\_scaling\_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. + + + +## TestUpdateServiceScalingRequest Objects + +```python +class TestUpdateServiceScalingRequest(unittest.TestCase) +``` + +UpdateServiceScalingRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateServiceScalingRequest +``` + +Test UpdateServiceScalingRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateServiceScalingRequest + +```python +def testUpdateServiceScalingRequest() +``` + +Test UpdateServiceScalingRequest + + + +# koyeb/api\_async.test.test\_o\_auth\_callback\_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. + + + +## TestOAuthCallbackRequest Objects + +```python +class TestOAuthCallbackRequest(unittest.TestCase) +``` + +OAuthCallbackRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> OAuthCallbackRequest +``` + +Test OAuthCallbackRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testOAuthCallbackRequest + +```python +def testOAuthCallbackRequest() +``` + +Test OAuthCallbackRequest + + + +# koyeb/api\_async.test.test\_sandbox\_metadata + +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. + + + +## TestSandboxMetadata Objects + +```python +class TestSandboxMetadata(unittest.TestCase) +``` + +SandboxMetadata unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> SandboxMetadata +``` + +Test SandboxMetadata +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testSandboxMetadata + +```python +def testSandboxMetadata() +``` + +Test SandboxMetadata + + + +# koyeb/api\_async.test.test\_get\_project\_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. + + + +## TestGetProjectReply Objects + +```python +class TestGetProjectReply(unittest.TestCase) +``` + +GetProjectReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetProjectReply +``` + +Test GetProjectReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetProjectReply + +```python +def testGetProjectReply() +``` + +Test GetProjectReply + + + +# koyeb/api\_async.test.test\_git\_env\_deployment\_metadata + +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. + + + +## TestGitEnvDeploymentMetadata Objects + +```python +class TestGitEnvDeploymentMetadata(unittest.TestCase) +``` + +GitEnvDeploymentMetadata unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GitEnvDeploymentMetadata +``` + +Test GitEnvDeploymentMetadata +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGitEnvDeploymentMetadata + +```python +def testGitEnvDeploymentMetadata() +``` + +Test GitEnvDeploymentMetadata + + + +# koyeb/api\_async.test.test\_upsert\_signup\_qualification\_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. + + + +## TestUpsertSignupQualificationReply Objects + +```python +class TestUpsertSignupQualificationReply(unittest.TestCase) +``` + +UpsertSignupQualificationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpsertSignupQualificationReply +``` + +Test UpsertSignupQualificationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpsertSignupQualificationReply + +```python +def testUpsertSignupQualificationReply() +``` + +Test UpsertSignupQualificationReply + + + +# koyeb/api\_async.test.test\_logs\_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. + + + +## TestLogsApi Objects + +```python +class TestLogsApi(unittest.IsolatedAsyncioTestCase) +``` + +LogsApi unit test stubs + + + +#### test\_query\_logs + +```python +async def test_query_logs() -> None +``` + +Test case for query_logs + +Query logs + + + +#### test\_tail\_logs + +```python +async def test_tail_logs() -> None +``` + +Test case for tail_logs + +Tails logs + + + +# koyeb/api\_async.test.test\_summary\_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. + + + +## TestSummaryApi Objects + +```python +class TestSummaryApi(unittest.IsolatedAsyncioTestCase) +``` + +SummaryApi unit test stubs + + + +#### test\_get\_organization\_summary + +```python +async def test_get_organization_summary() -> None +``` + +Test case for get_organization_summary + +Get organization usage summary + + + +# koyeb/api\_async.test.test\_get\_organization\_summary\_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. + + + +## TestGetOrganizationSummaryReply Objects + +```python +class TestGetOrganizationSummaryReply(unittest.TestCase) +``` + +GetOrganizationSummaryReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetOrganizationSummaryReply +``` + +Test GetOrganizationSummaryReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetOrganizationSummaryReply + +```python +def testGetOrganizationSummaryReply() +``` + +Test GetOrganizationSummaryReply + + + +# koyeb/api\_async.test.test\_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. + + + +## TestQuotas Objects + +```python +class TestQuotas(unittest.TestCase) +``` + +Quotas unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Quotas +``` + +Test Quotas +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testQuotas + +```python +def testQuotas() +``` + +Test Quotas + + + +# koyeb/api\_async.test.test\_deployment\_scaling\_target\_average\_cpu + +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. + + + +## TestDeploymentScalingTargetAverageCPU Objects + +```python +class TestDeploymentScalingTargetAverageCPU(unittest.TestCase) +``` + +DeploymentScalingTargetAverageCPU unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentScalingTargetAverageCPU +``` + +Test DeploymentScalingTargetAverageCPU +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentScalingTargetAverageCPU + +```python +def testDeploymentScalingTargetAverageCPU() +``` + +Test DeploymentScalingTargetAverageCPU + + + +# koyeb/api\_async.test.test\_quotas\_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. + + + +## TestQuotasApi Objects + +```python +class TestQuotasApi(unittest.IsolatedAsyncioTestCase) +``` + +QuotasApi unit test stubs + + + +#### test\_review\_organization\_capacity + +```python +async def test_review_organization_capacity() -> None +``` + +Test case for review_organization_capacity + +DEPRECATED: Review Organization Capacity + + + +# koyeb/api\_async.test.test\_deployment\_role + +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. + + + +## TestDeploymentRole Objects + +```python +class TestDeploymentRole(unittest.TestCase) +``` + +DeploymentRole unit test stubs + + + +#### testDeploymentRole + +```python +def testDeploymentRole() +``` + +Test DeploymentRole + + + +# koyeb/api\_async.test.test\_deployment\_mesh + +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. + + + +## TestDeploymentMesh Objects + +```python +class TestDeploymentMesh(unittest.TestCase) +``` + +DeploymentMesh unit test stubs + + + +#### testDeploymentMesh + +```python +def testDeploymentMesh() +``` + +Test DeploymentMesh + + + +# koyeb/api\_async.test.test\_subscriptions\_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. + + + +## TestSubscriptionsApi Objects + +```python +class TestSubscriptionsApi(unittest.IsolatedAsyncioTestCase) +``` + +SubscriptionsApi unit test stubs + + + +#### test\_get\_subscription + +```python +async def test_get_subscription() -> None +``` + +Test case for get_subscription + +Get Subscription + + + +# koyeb/api\_async.test.test\_list\_secrets\_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. + + + +## TestListSecretsReply Objects + +```python +class TestListSecretsReply(unittest.TestCase) +``` + +ListSecretsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListSecretsReply +``` + +Test ListSecretsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListSecretsReply + +```python +def testListSecretsReply() +``` + +Test ListSecretsReply + + + +# koyeb/api\_async.test.test\_test\_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. + + + +## TestTestApi Objects + +```python +class TestTestApi(unittest.IsolatedAsyncioTestCase) +``` + +TestApi unit test stubs + + + +#### test\_test\_anon + +```python +async def test_test_anon() -> None +``` + +Test case for test_anon + +Test anonymous call + + + +#### test\_test\_auth + +```python +async def test_test_auth() -> None +``` + +Test case for test_auth + +Test authenticated call + + + +# koyeb/api\_async.test.test\_archives\_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. + + + +## TestArchivesApi Objects + +```python +class TestArchivesApi(unittest.IsolatedAsyncioTestCase) +``` + +ArchivesApi unit test stubs + + + +#### test\_create\_archive + +```python +async def test_create_archive() -> None +``` + +Test case for create_archive + +Create Archive + + + +# koyeb/api\_async.test.test\_auto\_release + +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. + + + +## TestAutoRelease Objects + +```python +class TestAutoRelease(unittest.TestCase) +``` + +AutoRelease unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> AutoRelease +``` + +Test AutoRelease +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testAutoRelease + +```python +def testAutoRelease() +``` + +Test AutoRelease + + + +# koyeb/api\_async.test.test\_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. + + + +## TestSnapshotType Objects + +```python +class TestSnapshotType(unittest.TestCase) +``` + +SnapshotType unit test stubs + + + +#### testSnapshotType + +```python +def testSnapshotType() +``` + +Test SnapshotType + + + +# koyeb/api\_async.test.test\_neon\_postgres\_database + +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. + + + +## TestNeonPostgresDatabase Objects + +```python +class TestNeonPostgresDatabase(unittest.TestCase) +``` + +NeonPostgresDatabase unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> NeonPostgresDatabase +``` + +Test NeonPostgresDatabase +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNeonPostgresDatabase + +```python +def testNeonPostgresDatabase() +``` + +Test NeonPostgresDatabase + + + +# koyeb/api\_async.test.test\_buildpack\_builder + +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. + + + +## TestBuildpackBuilder Objects + +```python +class TestBuildpackBuilder(unittest.TestCase) +``` + +BuildpackBuilder unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> BuildpackBuilder +``` + +Test BuildpackBuilder +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testBuildpackBuilder + +```python +def testBuildpackBuilder() +``` + +Test BuildpackBuilder + + + +# koyeb/api\_async.test.test\_reveal\_secret\_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. + + + +## TestRevealSecretReply Objects + +```python +class TestRevealSecretReply(unittest.TestCase) +``` + +RevealSecretReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RevealSecretReply +``` + +Test RevealSecretReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRevealSecretReply + +```python +def testRevealSecretReply() +``` + +Test RevealSecretReply + + + +# koyeb/api\_async.test.test\_secrets\_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. + + + +## TestSecretsApi Objects + +```python +class TestSecretsApi(unittest.IsolatedAsyncioTestCase) +``` + +SecretsApi unit test stubs + + + +#### test\_create\_secret + +```python +async def test_create_secret() -> None +``` + +Test case for create_secret + +Create Secret + + + +#### test\_delete\_secret + +```python +async def test_delete_secret() -> None +``` + +Test case for delete_secret + +Delete Secret + + + +#### test\_get\_secret + +```python +async def test_get_secret() -> None +``` + +Test case for get_secret + +Get Secret + + + +#### test\_list\_secrets + +```python +async def test_list_secrets() -> None +``` + +Test case for list_secrets + +List Secrets + + + +#### test\_reveal\_secret + +```python +async def test_reveal_secret() -> None +``` + +Test case for reveal_secret + +Reveal Secret + + + +#### test\_update\_secret + +```python +async def test_update_secret() -> None +``` + +Test case for update_secret + +Update Secret + + + +#### test\_update\_secret2 + +```python +async def test_update_secret2() -> None +``` + +Test case for update_secret2 + +Update Secret + + + +# koyeb/api\_async.test.test\_update\_user\_settings\_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. + + + +## TestUpdateUserSettingsRequest Objects + +```python +class TestUpdateUserSettingsRequest(unittest.TestCase) +``` + +UpdateUserSettingsRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateUserSettingsRequest +``` + +Test UpdateUserSettingsRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateUserSettingsRequest + +```python +def testUpdateUserSettingsRequest() +``` + +Test UpdateUserSettingsRequest + + + +# koyeb/api\_async.test.test\_profile\_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. + + + +## TestProfileApi Objects + +```python +class TestProfileApi(unittest.IsolatedAsyncioTestCase) +``` + +ProfileApi unit test stubs + + + +#### test\_accept\_organization\_invitation + +```python +async def test_accept_organization_invitation() -> None +``` + +Test case for accept_organization_invitation + +Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_clear\_idenfy\_verification\_result + +```python +async def test_clear_idenfy_verification_result() -> None +``` + +Test case for clear_idenfy_verification_result + +ClearIdenfyVerificationResult marks the current result for idenfy as superseded + + + +#### test\_decline\_organization\_invitation + +```python +async def test_decline_organization_invitation() -> None +``` + +Test case for decline_organization_invitation + +Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_get\_current\_organization + +```python +async def test_get_current_organization() -> None +``` + +Test case for get_current_organization + +Get Current Organization + + + +#### test\_get\_current\_user + +```python +async def test_get_current_user() -> None +``` + +Test case for get_current_user + +Get Current User + + + +#### test\_get\_idenfy\_token + +```python +async def test_get_idenfy_token() -> None +``` + +Test case for get_idenfy_token + +Begin a session with iDenfy, emit an authToken + + + +#### test\_get\_o\_auth\_options + +```python +async def test_get_o_auth_options() -> None +``` + +Test case for get_o_auth_options + +Get OAuth Providers + + + +#### test\_get\_user\_organization\_invitation + +```python +async def test_get_user_organization_invitation() -> None +``` + +Test case for get_user_organization_invitation + +Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_get\_user\_settings + +```python +async def test_get_user_settings() -> None +``` + +Test case for get_user_settings + + + +#### test\_list\_user\_organization\_invitations + +```python +async def test_list_user_organization_invitations() -> None +``` + +Test case for list_user_organization_invitations + +List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_list\_user\_organizations + +```python +async def test_list_user_organizations() -> None +``` + +Test case for list_user_organizations + +List User Organizations + + + +#### test\_login\_method + +```python +async def test_login_method() -> None +``` + +Test case for login_method + +Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_o\_auth\_callback + +```python +async def test_o_auth_callback() -> None +``` + +Test case for o_auth_callback + +Authenticate using OAuth + + + +#### test\_resend\_email\_validation + +```python +async def test_resend_email_validation() -> None +``` + +Test case for resend_email_validation + +Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_reset\_password + +```python +async def test_reset_password() -> None +``` + +Test case for reset_password + +Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_signup + +```python +async def test_signup() -> None +``` + +Test case for signup + +Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_update\_password + +```python +async def test_update_password() -> None +``` + +Test case for update_password + +Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +#### test\_update\_user + +```python +async def test_update_user() -> None +``` + +Test case for update_user + +Update User + + + +#### test\_update\_user2 + +```python +async def test_update_user2() -> None +``` + +Test case for update_user2 + +Update User + + + +#### test\_update\_user\_settings + +```python +async def test_update_user_settings() -> None +``` + +Test case for update_user_settings + + + +#### test\_update\_user\_v2 + +```python +async def test_update_user_v2() -> None +``` + +Test case for update_user_v2 + +Update User V2 + + + +#### test\_update\_user\_v22 + +```python +async def test_update_user_v22() -> None +``` + +Test case for update_user_v22 + +Update User V2 + + + +#### test\_validate + +```python +async def test_validate() -> None +``` + +Test case for validate + +Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + +# koyeb/api\_async.test.test\_domain\_load\_balancer\_koyeb + +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. + + + +## TestDomainLoadBalancerKoyeb Objects + +```python +class TestDomainLoadBalancerKoyeb(unittest.TestCase) +``` + +DomainLoadBalancerKoyeb unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DomainLoadBalancerKoyeb +``` + +Test DomainLoadBalancerKoyeb +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDomainLoadBalancerKoyeb + +```python +def testDomainLoadBalancerKoyeb() +``` + +Test DomainLoadBalancerKoyeb + + + +# koyeb/api\_async.test.test\_next\_invoice\_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. + + + +## TestNextInvoiceReply Objects + +```python +class TestNextInvoiceReply(unittest.TestCase) +``` + +NextInvoiceReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> NextInvoiceReply +``` + +Test NextInvoiceReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNextInvoiceReply + +```python +def testNextInvoiceReply() +``` + +Test NextInvoiceReply + + + +# koyeb/api\_async.test.test\_update\_organization\_plan\_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. + + + +## TestUpdateOrganizationPlanRequest Objects + +```python +class TestUpdateOrganizationPlanRequest(unittest.TestCase) +``` + +UpdateOrganizationPlanRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateOrganizationPlanRequest +``` + +Test UpdateOrganizationPlanRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateOrganizationPlanRequest + +```python +def testUpdateOrganizationPlanRequest() +``` + +Test UpdateOrganizationPlanRequest + + + +# koyeb/api\_async.test.test\_instance\_usage + +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. + + + +## TestInstanceUsage Objects + +```python +class TestInstanceUsage(unittest.TestCase) +``` + +InstanceUsage unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> InstanceUsage +``` + +Test InstanceUsage +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testInstanceUsage + +```python +def testInstanceUsage() +``` + +Test InstanceUsage + + + +# koyeb/api\_async.test.test\_update\_domain\_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. + + + +## TestUpdateDomainReply Objects + +```python +class TestUpdateDomainReply(unittest.TestCase) +``` + +UpdateDomainReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateDomainReply +``` + +Test UpdateDomainReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateDomainReply + +```python +def testUpdateDomainReply() +``` + +Test UpdateDomainReply + + + +# koyeb/api\_async.test.test\_get\_metrics\_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. + + + +## TestGetMetricsReply Objects + +```python +class TestGetMetricsReply(unittest.TestCase) +``` + +GetMetricsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetMetricsReply +``` + +Test GetMetricsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetMetricsReply + +```python +def testGetMetricsReply() +``` + +Test GetMetricsReply + + + +# koyeb/api\_async.test.test\_service\_summary + +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. + + + +## TestServiceSummary Objects + +```python +class TestServiceSummary(unittest.TestCase) +``` + +ServiceSummary unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ServiceSummary +``` + +Test ServiceSummary +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testServiceSummary + +```python +def testServiceSummary() +``` + +Test ServiceSummary + + + +# koyeb/api\_async.test.test\_organization\_quotas\_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. + + + +## TestOrganizationQuotasApi Objects + +```python +class TestOrganizationQuotasApi(unittest.IsolatedAsyncioTestCase) +``` + +OrganizationQuotasApi unit test stubs + + + +#### test\_get\_quotas + +```python +async def test_get_quotas() -> None +``` + +Test case for get_quotas + + + +# koyeb/api\_async.test.test\_app\_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. + + + +## TestAppEvent Objects + +```python +class TestAppEvent(unittest.TestCase) +``` + +AppEvent unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> AppEvent +``` + +Test AppEvent +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testAppEvent + +```python +def testAppEvent() +``` + +Test AppEvent + + + +# koyeb/api\_async.test.test\_create\_persistent\_volume\_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. + + + +## TestCreatePersistentVolumeRequest Objects + +```python +class TestCreatePersistentVolumeRequest(unittest.TestCase) +``` + +CreatePersistentVolumeRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreatePersistentVolumeRequest +``` + +Test CreatePersistentVolumeRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreatePersistentVolumeRequest + +```python +def testCreatePersistentVolumeRequest() +``` + +Test CreatePersistentVolumeRequest + + + +# koyeb/api\_async.test.test\_create\_organization\_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. + + + +## TestCreateOrganizationRequest Objects + +```python +class TestCreateOrganizationRequest(unittest.TestCase) +``` + +CreateOrganizationRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateOrganizationRequest +``` + +Test CreateOrganizationRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateOrganizationRequest + +```python +def testCreateOrganizationRequest() +``` + +Test CreateOrganizationRequest + + + +# koyeb/api\_async.test.test\_private\_registry\_configuration + +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. + + + +## TestPrivateRegistryConfiguration Objects + +```python +class TestPrivateRegistryConfiguration(unittest.TestCase) +``` + +PrivateRegistryConfiguration unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> PrivateRegistryConfiguration +``` + +Test PrivateRegistryConfiguration +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testPrivateRegistryConfiguration + +```python +def testPrivateRegistryConfiguration() +``` + +Test PrivateRegistryConfiguration + + + +# koyeb/api\_async.test.test\_persistent\_volume\_backing\_store + +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. + + + +## TestPersistentVolumeBackingStore Objects + +```python +class TestPersistentVolumeBackingStore(unittest.TestCase) +``` + +PersistentVolumeBackingStore unit test stubs + + + +#### testPersistentVolumeBackingStore + +```python +def testPersistentVolumeBackingStore() +``` + +Test PersistentVolumeBackingStore + + + +# koyeb/api\_async.test.test\_instance\_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. + + + +## TestInstanceStatus Objects + +```python +class TestInstanceStatus(unittest.TestCase) +``` + +InstanceStatus unit test stubs + + + +#### testInstanceStatus + +```python +def testInstanceStatus() +``` + +Test InstanceStatus + + + +# koyeb/api\_async.test.test\_deployment\_neon\_postgres\_database\_info\_role + +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. + + + +## TestDeploymentNeonPostgresDatabaseInfoRole Objects + +```python +class TestDeploymentNeonPostgresDatabaseInfoRole(unittest.TestCase) +``` + +DeploymentNeonPostgresDatabaseInfoRole unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentNeonPostgresDatabaseInfoRole +``` + +Test DeploymentNeonPostgresDatabaseInfoRole +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentNeonPostgresDatabaseInfoRole + +```python +def testDeploymentNeonPostgresDatabaseInfoRole() +``` + +Test DeploymentNeonPostgresDatabaseInfoRole + + + +# koyeb/api\_async.test.test\_database\_usage\_details + +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. + + + +## TestDatabaseUsageDetails Objects + +```python +class TestDatabaseUsageDetails(unittest.TestCase) +``` + +DatabaseUsageDetails unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DatabaseUsageDetails +``` + +Test DatabaseUsageDetails +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDatabaseUsageDetails + +```python +def testDatabaseUsageDetails() +``` + +Test DatabaseUsageDetails + + + +# koyeb/api\_async.test.test\_deployment\_scaling\_target\_concurrent\_requests + +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. + + + +## TestDeploymentScalingTargetConcurrentRequests Objects + +```python +class TestDeploymentScalingTargetConcurrentRequests(unittest.TestCase) +``` + +DeploymentScalingTargetConcurrentRequests unit test stubs + + + +#### make\_instance + +```python +def make_instance( + include_optional) -> DeploymentScalingTargetConcurrentRequests +``` + +Test DeploymentScalingTargetConcurrentRequests +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentScalingTargetConcurrentRequests + +```python +def testDeploymentScalingTargetConcurrentRequests() +``` + +Test DeploymentScalingTargetConcurrentRequests + + + +# koyeb/api\_async.test.test\_delete\_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. + + + +## TestDeleteSnapshotReply Objects + +```python +class TestDeleteSnapshotReply(unittest.TestCase) +``` + +DeleteSnapshotReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeleteSnapshotReply +``` + +Test DeleteSnapshotReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeleteSnapshotReply + +```python +def testDeleteSnapshotReply() +``` + +Test DeleteSnapshotReply + + + +# koyeb/api\_async.test.test\_query\_logs\_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. + + + +## TestQueryLogsReply Objects + +```python +class TestQueryLogsReply(unittest.TestCase) +``` + +QueryLogsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> QueryLogsReply +``` + +Test QueryLogsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testQueryLogsReply + +```python +def testQueryLogsReply() +``` + +Test QueryLogsReply + + + +# koyeb/api\_async.test.test\_ksearch\_instance + +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. + + + +## TestKsearchInstance Objects + +```python +class TestKsearchInstance(unittest.TestCase) +``` + +KsearchInstance unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KsearchInstance +``` + +Test KsearchInstance +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKsearchInstance + +```python +def testKsearchInstance() +``` + +Test KsearchInstance + + + +# koyeb/api\_async.test.test\_catalog\_instance\_usage\_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. + + + +## TestCatalogInstanceUsageApi Objects + +```python +class TestCatalogInstanceUsageApi(unittest.IsolatedAsyncioTestCase) +``` + +CatalogInstanceUsageApi unit test stubs + + + +#### test\_list\_usage + +```python +async def test_list_usage() -> None +``` + +Test case for list_usage + + + +# koyeb/api\_async.test.test\_trigger\_git\_deployment\_metadata\_provider + +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. + + + +## TestTriggerGitDeploymentMetadataProvider Objects + +```python +class TestTriggerGitDeploymentMetadataProvider(unittest.TestCase) +``` + +TriggerGitDeploymentMetadataProvider unit test stubs + + + +#### testTriggerGitDeploymentMetadataProvider + +```python +def testTriggerGitDeploymentMetadataProvider() +``` + +Test TriggerGitDeploymentMetadataProvider + + + +# koyeb/api\_async.test.test\_security\_policies + +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. + + + +## TestSecurityPolicies Objects + +```python +class TestSecurityPolicies(unittest.TestCase) +``` + +SecurityPolicies unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> SecurityPolicies +``` + +Test SecurityPolicies +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testSecurityPolicies + +```python +def testSecurityPolicies() +``` + +Test SecurityPolicies + + + +# koyeb/api\_async.test.test\_credentials\_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. + + + +## TestCredentialsApi Objects + +```python +class TestCredentialsApi(unittest.IsolatedAsyncioTestCase) +``` + +CredentialsApi unit test stubs + + + +#### test\_create\_credential + +```python +async def test_create_credential() -> None +``` + +Test case for create_credential + +Create credential + + + +#### test\_delete\_credential + +```python +async def test_delete_credential() -> None +``` + +Test case for delete_credential + +Delete credential + + + +#### test\_get\_credential + +```python +async def test_get_credential() -> None +``` + +Test case for get_credential + +Get credential + + + +#### test\_list\_credentials + +```python +async def test_list_credentials() -> None +``` + +Test case for list_credentials + +List credentials + + + +#### test\_update\_credential + +```python +async def test_update_credential() -> None +``` + +Test case for update_credential + +Update credential + + + +#### test\_update\_credential2 + +```python +async def test_update_credential2() -> None +``` + +Test case for update_credential2 + +Update credential + + + +# koyeb/api\_async.test.test\_user\_role\_role + +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. + + + +## TestUserRoleRole Objects + +```python +class TestUserRoleRole(unittest.TestCase) +``` + +UserRoleRole unit test stubs + + + +#### testUserRoleRole + +```python +def testUserRoleRole() +``` + +Test UserRoleRole + + + +# koyeb/api\_async.test.test\_archive + +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. + + + +## TestArchive Objects + +```python +class TestArchive(unittest.TestCase) +``` + +Archive unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Archive +``` + +Test Archive +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testArchive + +```python +def testArchive() +``` + +Test Archive + + + +# koyeb/api\_async.test.test\_update\_organization\_name\_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. + + + +## TestUpdateOrganizationNameRequest Objects + +```python +class TestUpdateOrganizationNameRequest(unittest.TestCase) +``` + +UpdateOrganizationNameRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateOrganizationNameRequest +``` + +Test UpdateOrganizationNameRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateOrganizationNameRequest + +```python +def testUpdateOrganizationNameRequest() +``` + +Test UpdateOrganizationNameRequest + + + +# koyeb/api\_async.test.test\_notification + +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. + + + +## TestNotification Objects + +```python +class TestNotification(unittest.TestCase) +``` + +Notification unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Notification +``` + +Test Notification +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNotification + +```python +def testNotification() +``` + +Test Notification + + + +# koyeb/api\_async.test.test\_create\_organization\_invitation\_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. + + + +## TestCreateOrganizationInvitationRequest Objects + +```python +class TestCreateOrganizationInvitationRequest(unittest.TestCase) +``` + +CreateOrganizationInvitationRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateOrganizationInvitationRequest +``` + +Test CreateOrganizationInvitationRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateOrganizationInvitationRequest + +```python +def testCreateOrganizationInvitationRequest() +``` + +Test CreateOrganizationInvitationRequest + + + +# koyeb/api\_async.test.test\_organization + +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. + + + +## TestOrganization Objects + +```python +class TestOrganization(unittest.TestCase) +``` + +Organization unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Organization +``` + +Test Organization +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testOrganization + +```python +def testOrganization() +``` + +Test Organization + + + +# koyeb/api\_async.test.test\_service\_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. + + + +## TestServiceStatus Objects + +```python +class TestServiceStatus(unittest.TestCase) +``` + +ServiceStatus unit test stubs + + + +#### testServiceStatus + +```python +def testServiceStatus() +``` + +Test ServiceStatus + + + +# koyeb/api\_async.test.test\_redeploy\_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. + + + +## TestRedeployReply Objects + +```python +class TestRedeployReply(unittest.TestCase) +``` + +RedeployReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RedeployReply +``` + +Test RedeployReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRedeployReply + +```python +def testRedeployReply() +``` + +Test RedeployReply + + + +# koyeb/api\_async.test.test\_organization\_deactivation\_reason + +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. + + + +## TestOrganizationDeactivationReason Objects + +```python +class TestOrganizationDeactivationReason(unittest.TestCase) +``` + +OrganizationDeactivationReason unit test stubs + + + +#### testOrganizationDeactivationReason + +```python +def testOrganizationDeactivationReason() +``` + +Test OrganizationDeactivationReason + + + +# koyeb/api\_async.test.test\_o\_auth\_provider + +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. + + + +## TestOAuthProvider Objects + +```python +class TestOAuthProvider(unittest.TestCase) +``` + +OAuthProvider unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> OAuthProvider +``` + +Test OAuthProvider +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testOAuthProvider + +```python +def testOAuthProvider() +``` + +Test OAuthProvider + + + +# koyeb/api\_async.test.test\_docker\_helper\_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. + + + +## TestDockerHelperApi Objects + +```python +class TestDockerHelperApi(unittest.IsolatedAsyncioTestCase) +``` + +DockerHelperApi unit test stubs + + + +#### test\_verify\_docker\_image + +```python +async def test_verify_docker_image() -> None +``` + +Test case for verify_docker_image + +Verify Docker Image + + + +# koyeb/api\_async.test.test\_trigger\_git\_deployment\_metadata + +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. + + + +## TestTriggerGitDeploymentMetadata Objects + +```python +class TestTriggerGitDeploymentMetadata(unittest.TestCase) +``` + +TriggerGitDeploymentMetadata unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> TriggerGitDeploymentMetadata +``` + +Test TriggerGitDeploymentMetadata +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testTriggerGitDeploymentMetadata + +```python +def testTriggerGitDeploymentMetadata() +``` + +Test TriggerGitDeploymentMetadata + + + +# koyeb/api\_async.test.test\_deployment\_metadata + +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. + + + +## TestDeploymentMetadata Objects + +```python +class TestDeploymentMetadata(unittest.TestCase) +``` + +DeploymentMetadata unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentMetadata +``` + +Test DeploymentMetadata +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentMetadata + +```python +def testDeploymentMetadata() +``` + +Test DeploymentMetadata + + + +# koyeb/api\_async.test.test\_manage\_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. + + + +## TestManageReply Objects + +```python +class TestManageReply(unittest.TestCase) +``` + +ManageReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ManageReply +``` + +Test ManageReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testManageReply + +```python +def testManageReply() +``` + +Test ManageReply + + + +# koyeb/api\_async.test.test\_update\_budget\_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. + + + +## TestUpdateBudgetRequest Objects + +```python +class TestUpdateBudgetRequest(unittest.TestCase) +``` + +UpdateBudgetRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateBudgetRequest +``` + +Test UpdateBudgetRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateBudgetRequest + +```python +def testUpdateBudgetRequest() +``` + +Test UpdateBudgetRequest + + + +# koyeb/api\_async.test.test\_digital\_ocean\_registry\_configuration + +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. + + + +## TestDigitalOceanRegistryConfiguration Objects + +```python +class TestDigitalOceanRegistryConfiguration(unittest.TestCase) +``` + +DigitalOceanRegistryConfiguration unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DigitalOceanRegistryConfiguration +``` + +Test DigitalOceanRegistryConfiguration +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDigitalOceanRegistryConfiguration + +```python +def testDigitalOceanRegistryConfiguration() +``` + +Test DigitalOceanRegistryConfiguration + + + +# koyeb/api\_async.test.test\_kgitproxy\_github\_installation\_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. + + + +## TestKgitproxyGithubInstallationStatus Objects + +```python +class TestKgitproxyGithubInstallationStatus(unittest.TestCase) +``` + +KgitproxyGithubInstallationStatus unit test stubs + + + +#### testKgitproxyGithubInstallationStatus + +```python +def testKgitproxyGithubInstallationStatus() +``` + +Test KgitproxyGithubInstallationStatus + + + +# koyeb/api\_async.test.test\_get\_regional\_deployment\_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. + + + +## TestGetRegionalDeploymentReply Objects + +```python +class TestGetRegionalDeploymentReply(unittest.TestCase) +``` + +GetRegionalDeploymentReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetRegionalDeploymentReply +``` + +Test GetRegionalDeploymentReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetRegionalDeploymentReply + +```python +def testGetRegionalDeploymentReply() +``` + +Test GetRegionalDeploymentReply + + + +# koyeb/api\_async.test.test\_intercom\_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. + + + +## TestIntercomApi Objects + +```python +class TestIntercomApi(unittest.IsolatedAsyncioTestCase) +``` + +IntercomApi unit test stubs + + + +#### test\_get\_intercom\_profile + +```python +async def test_get_intercom_profile() -> None +``` + +Test case for get_intercom_profile + +Get intercom profile + + + +# koyeb/api\_async.test.test\_update\_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. + + + +## TestUpdateSnapshotReply Objects + +```python +class TestUpdateSnapshotReply(unittest.TestCase) +``` + +UpdateSnapshotReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateSnapshotReply +``` + +Test UpdateSnapshotReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateSnapshotReply + +```python +def testUpdateSnapshotReply() +``` + +Test UpdateSnapshotReply + + + +# koyeb/api\_async.test.test\_deployment\_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. + + + +## TestDeploymentStatus Objects + +```python +class TestDeploymentStatus(unittest.TestCase) +``` + +DeploymentStatus unit test stubs + + + +#### testDeploymentStatus + +```python +def testDeploymentStatus() +``` + +Test DeploymentStatus + + + +# koyeb/api\_async.test.test\_ksearch\_organization + +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. + + + +## TestKsearchOrganization Objects + +```python +class TestKsearchOrganization(unittest.TestCase) +``` + +KsearchOrganization unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KsearchOrganization +``` + +Test KsearchOrganization +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKsearchOrganization + +```python +def testKsearchOrganization() +``` + +Test KsearchOrganization + + + +# koyeb/api\_async.test.test\_git\_lab\_registry\_configuration + +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. + + + +## TestGitLabRegistryConfiguration Objects + +```python +class TestGitLabRegistryConfiguration(unittest.TestCase) +``` + +GitLabRegistryConfiguration unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GitLabRegistryConfiguration +``` + +Test GitLabRegistryConfiguration +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGitLabRegistryConfiguration + +```python +def testGitLabRegistryConfiguration() +``` + +Test GitLabRegistryConfiguration + + + +# koyeb/api\_async.test.test\_compose\_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. + + + +## TestComposeApi Objects + +```python +class TestComposeApi(unittest.IsolatedAsyncioTestCase) +``` + +ComposeApi unit test stubs + + + +#### test\_compose + +```python +async def test_compose() -> None +``` + +Test case for compose + +Create resources from compose. + + + +# koyeb/api\_async.test.test\_deployment\_definition + +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. + + + +## TestDeploymentDefinition Objects + +```python +class TestDeploymentDefinition(unittest.TestCase) +``` + +DeploymentDefinition unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentDefinition +``` + +Test DeploymentDefinition +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentDefinition + +```python +def testDeploymentDefinition() +``` + +Test DeploymentDefinition + + + +# koyeb/api\_async.test.test\_catalog\_gpu\_details + +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. + + + +## TestCatalogGPUDetails Objects + +```python +class TestCatalogGPUDetails(unittest.TestCase) +``` + +CatalogGPUDetails unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CatalogGPUDetails +``` + +Test CatalogGPUDetails +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCatalogGPUDetails + +```python +def testCatalogGPUDetails() +``` + +Test CatalogGPUDetails + + + +# koyeb/api\_async.test.test\_error + +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. + + + +## TestError Objects + +```python +class TestError(unittest.TestCase) +``` + +Error unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Error +``` + +Test Error +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testError + +```python +def testError() +``` + +Test Error + + + +# koyeb/api\_async.test.test\_discourse\_auth\_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. + + + +## TestDiscourseAuthRequest Objects + +```python +class TestDiscourseAuthRequest(unittest.TestCase) +``` + +DiscourseAuthRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DiscourseAuthRequest +``` + +Test DiscourseAuthRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDiscourseAuthRequest + +```python +def testDiscourseAuthRequest() +``` + +Test DiscourseAuthRequest + + + +# koyeb/api\_async.test.test\_create\_budget\_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. + + + +## TestCreateBudgetReply Objects + +```python +class TestCreateBudgetReply(unittest.TestCase) +``` + +CreateBudgetReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateBudgetReply +``` + +Test CreateBudgetReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateBudgetReply + +```python +def testCreateBudgetReply() +``` + +Test CreateBudgetReply + + + +# koyeb/api\_async.test.test\_service\_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. + + + +## TestServiceEvent Objects + +```python +class TestServiceEvent(unittest.TestCase) +``` + +ServiceEvent unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ServiceEvent +``` + +Test ServiceEvent +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testServiceEvent + +```python +def testServiceEvent() +``` + +Test ServiceEvent + + + +# koyeb/api\_async.test.test\_catalog\_usage + +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. + + + +## TestCatalogUsage Objects + +```python +class TestCatalogUsage(unittest.TestCase) +``` + +CatalogUsage unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CatalogUsage +``` + +Test CatalogUsage +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCatalogUsage + +```python +def testCatalogUsage() +``` + +Test CatalogUsage + + + +# koyeb/api\_async.test.test\_deployment\_route + +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. + + + +## TestDeploymentRoute Objects + +```python +class TestDeploymentRoute(unittest.TestCase) +``` + +DeploymentRoute unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentRoute +``` + +Test DeploymentRoute +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentRoute + +```python +def testDeploymentRoute() +``` + +Test DeploymentRoute + + + +# koyeb/api\_async.test.test\_region\_availability + +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. + + + +## TestRegionAvailability Objects + +```python +class TestRegionAvailability(unittest.TestCase) +``` + +RegionAvailability unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RegionAvailability +``` + +Test RegionAvailability +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRegionAvailability + +```python +def testRegionAvailability() +``` + +Test RegionAvailability + + + +# koyeb/api\_async.test.test\_login\_method\_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. + + + +## TestLoginMethodReply Objects + +```python +class TestLoginMethodReply(unittest.TestCase) +``` + +LoginMethodReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> LoginMethodReply +``` + +Test LoginMethodReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testLoginMethodReply + +```python +def testLoginMethodReply() +``` + +Test LoginMethodReply + + + +# koyeb/api\_async.test.test\_kgitproxy\_repository + +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. + + + +## TestKgitproxyRepository Objects + +```python +class TestKgitproxyRepository(unittest.TestCase) +``` + +KgitproxyRepository unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KgitproxyRepository +``` + +Test KgitproxyRepository +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKgitproxyRepository + +```python +def testKgitproxyRepository() +``` + +Test KgitproxyRepository + + + +# koyeb/api\_async.test.test\_billing\_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. + + + +## TestBillingApi Objects + +```python +class TestBillingApi(unittest.IsolatedAsyncioTestCase) +``` + +BillingApi unit test stubs + + + +#### test\_has\_unpaid\_invoices + +```python +async def test_has_unpaid_invoices() -> None +``` + +Test case for has_unpaid_invoices + +Experimental: Has unpaid invoices + + + +#### test\_manage + +```python +async def test_manage() -> None +``` + +Test case for manage + + + +#### test\_next\_invoice + +```python +async def test_next_invoice() -> None +``` + +Test case for next_invoice + +Experimental: Fetch next invoice + + + +# koyeb/api\_async.test.test\_service\_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. + + + +## TestServiceType Objects + +```python +class TestServiceType(unittest.TestCase) +``` + +ServiceType unit test stubs + + + +#### testServiceType + +```python +def testServiceType() +``` + +Test ServiceType + + + +# koyeb/api\_async.test.test\_token + +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. + + + +## TestToken Objects + +```python +class TestToken(unittest.TestCase) +``` + +Token unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Token +``` + +Test Token +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testToken + +```python +def testToken() +``` + +Test Token + + + +# koyeb/api\_async.test.test\_organization\_invitations\_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. + + + +## TestOrganizationInvitationsApi Objects + +```python +class TestOrganizationInvitationsApi(unittest.IsolatedAsyncioTestCase) +``` + +OrganizationInvitationsApi unit test stubs + + + +#### test\_create\_organization\_invitation + +```python +async def test_create_organization_invitation() -> None +``` + +Test case for create_organization_invitation + +Create Organization Invitation + + + +#### test\_delete\_organization\_invitation + +```python +async def test_delete_organization_invitation() -> None +``` + +Test case for delete_organization_invitation + +Delete Organization Invitation + + + +#### test\_get\_organization\_invitation + +```python +async def test_get_organization_invitation() -> None +``` + +Test case for get_organization_invitation + +Get Organization Invitation + + + +#### test\_list\_organization\_invitations + +```python +async def test_list_organization_invitations() -> None +``` + +Test case for list_organization_invitations + +List Organization Invitations + + + +#### test\_resend\_organization\_invitation + +```python +async def test_resend_organization_invitation() -> None +``` + +Test case for resend_organization_invitation + +Resend Organization Invitation + + + +# koyeb/api\_async.test.test\_provisioning\_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. + + + +## TestProvisioningApi Objects + +```python +class TestProvisioningApi(unittest.IsolatedAsyncioTestCase) +``` + +ProvisioningApi unit test stubs + + + +#### test\_create\_stage\_attempt + +```python +async def test_create_stage_attempt() -> None +``` + +Test case for create_stage_attempt + +Create an attempt for a stage + + + +#### test\_declare\_stage\_progress + +```python +async def test_declare_stage_progress() -> None +``` + +Test case for declare_stage_progress + +Declare stage progress + + + +#### test\_declare\_step\_progress + +```python +async def test_declare_step_progress() -> None +``` + +Test case for declare_step_progress + +Declare step progress + + + +# koyeb/api\_async.test.test\_regional\_deployment\_role + +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. + + + +## TestRegionalDeploymentRole Objects + +```python +class TestRegionalDeploymentRole(unittest.TestCase) +``` + +RegionalDeploymentRole unit test stubs + + + +#### testRegionalDeploymentRole + +```python +def testRegionalDeploymentRole() +``` + +Test RegionalDeploymentRole + + + +# koyeb/api\_async.test.test\_regional\_deployment\_mesh + +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. + + + +## TestRegionalDeploymentMesh Objects + +```python +class TestRegionalDeploymentMesh(unittest.TestCase) +``` + +RegionalDeploymentMesh unit test stubs + + + +#### testRegionalDeploymentMesh + +```python +def testRegionalDeploymentMesh() +``` + +Test RegionalDeploymentMesh + + + +# koyeb/api\_async.test.test\_organization\_detailed\_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. + + + +## TestOrganizationDetailedStatus Objects + +```python +class TestOrganizationDetailedStatus(unittest.TestCase) +``` + +OrganizationDetailedStatus unit test stubs + + + +#### testOrganizationDetailedStatus + +```python +def testOrganizationDetailedStatus() +``` + +Test OrganizationDetailedStatus + + + +# koyeb/api\_async.test.test\_deployment\_scaling\_target\_average\_mem + +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. + + + +## TestDeploymentScalingTargetAverageMem Objects + +```python +class TestDeploymentScalingTargetAverageMem(unittest.TestCase) +``` + +DeploymentScalingTargetAverageMem unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentScalingTargetAverageMem +``` + +Test DeploymentScalingTargetAverageMem +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentScalingTargetAverageMem + +```python +def testDeploymentScalingTargetAverageMem() +``` + +Test DeploymentScalingTargetAverageMem + + + +# koyeb/api\_async.test.test\_list\_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. + + + +## TestListSnapshotsReply Objects + +```python +class TestListSnapshotsReply(unittest.TestCase) +``` + +ListSnapshotsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListSnapshotsReply +``` + +Test ListSnapshotsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListSnapshotsReply + +```python +def testListSnapshotsReply() +``` + +Test ListSnapshotsReply + + + +# koyeb/api\_async.test.test\_organization\_invitation\_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. + + + +## TestOrganizationInvitationStatus Objects + +```python +class TestOrganizationInvitationStatus(unittest.TestCase) +``` + +OrganizationInvitationStatus unit test stubs + + + +#### testOrganizationInvitationStatus + +```python +def testOrganizationInvitationStatus() +``` + +Test OrganizationInvitationStatus + + + +# koyeb/api\_async.test.test\_persistent\_volume\_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. + + + +## TestPersistentVolumeStatus Objects + +```python +class TestPersistentVolumeStatus(unittest.TestCase) +``` + +PersistentVolumeStatus unit test stubs + + + +#### testPersistentVolumeStatus + +```python +def testPersistentVolumeStatus() +``` + +Test PersistentVolumeStatus + + + +# koyeb/api\_async.test.test\_redeploy\_request\_info + +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. + + + +## TestRedeployRequestInfo Objects + +```python +class TestRedeployRequestInfo(unittest.TestCase) +``` + +RedeployRequestInfo unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RedeployRequestInfo +``` + +Test RedeployRequestInfo +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRedeployRequestInfo + +```python +def testRedeployRequestInfo() +``` + +Test RedeployRequestInfo + + + +# koyeb/api\_async.test.test\_domain + +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. + + + +## TestDomain Objects + +```python +class TestDomain(unittest.TestCase) +``` + +Domain unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Domain +``` + +Test Domain +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDomain + +```python +def testDomain() +``` + +Test Domain + + + +# koyeb/api\_async.test.test\_public\_organization + +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. + + + +## TestPublicOrganization Objects + +```python +class TestPublicOrganization(unittest.TestCase) +``` + +PublicOrganization unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> PublicOrganization +``` + +Test PublicOrganization +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testPublicOrganization + +```python +def testPublicOrganization() +``` + +Test PublicOrganization + + + +# koyeb/api\_async.test.test\_deployment\_list\_item + +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. + + + +## TestDeploymentListItem Objects + +```python +class TestDeploymentListItem(unittest.TestCase) +``` + +DeploymentListItem unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentListItem +``` + +Test DeploymentListItem +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentListItem + +```python +def testDeploymentListItem() +``` + +Test DeploymentListItem + + + +# koyeb/api\_async.test.test\_database\_deployment\_metadata + +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. + + + +## TestDatabaseDeploymentMetadata Objects + +```python +class TestDatabaseDeploymentMetadata(unittest.TestCase) +``` + +DatabaseDeploymentMetadata unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DatabaseDeploymentMetadata +``` + +Test DatabaseDeploymentMetadata +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDatabaseDeploymentMetadata + +```python +def testDatabaseDeploymentMetadata() +``` + +Test DatabaseDeploymentMetadata + + + +# koyeb/api\_async.test.test\_update\_organization\_plan\_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. + + + +## TestUpdateOrganizationPlanReply Objects + +```python +class TestUpdateOrganizationPlanReply(unittest.TestCase) +``` + +UpdateOrganizationPlanReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateOrganizationPlanReply +``` + +Test UpdateOrganizationPlanReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateOrganizationPlanReply + +```python +def testUpdateOrganizationPlanReply() +``` + +Test UpdateOrganizationPlanReply + + + +# koyeb/api\_async.test.test\_regional\_deployment\_list\_item + +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. + + + +## TestRegionalDeploymentListItem Objects + +```python +class TestRegionalDeploymentListItem(unittest.TestCase) +``` + +RegionalDeploymentListItem unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RegionalDeploymentListItem +``` + +Test RegionalDeploymentListItem +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRegionalDeploymentListItem + +```python +def testRegionalDeploymentListItem() +``` + +Test RegionalDeploymentListItem + + + +# koyeb/api\_async.test.test\_login\_method\_reply\_method + +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. + + + +## TestLoginMethodReplyMethod Objects + +```python +class TestLoginMethodReplyMethod(unittest.TestCase) +``` + +LoginMethodReplyMethod unit test stubs + + + +#### testLoginMethodReplyMethod + +```python +def testLoginMethodReplyMethod() +``` + +Test LoginMethodReplyMethod + + + +# koyeb/api\_async.test.test\_update\_domain + +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. + + + +## TestUpdateDomain Objects + +```python +class TestUpdateDomain(unittest.TestCase) +``` + +UpdateDomain unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateDomain +``` + +Test UpdateDomain +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateDomain + +```python +def testUpdateDomain() +``` + +Test UpdateDomain + + + +# koyeb/api\_async.test.test\_public\_user + +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. + + + +## TestPublicUser Objects + +```python +class TestPublicUser(unittest.TestCase) +``` + +PublicUser unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> PublicUser +``` + +Test PublicUser +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testPublicUser + +```python +def testPublicUser() +``` + +Test PublicUser + + + +# koyeb/api\_async.test.test\_neon\_postgres\_database\_neon\_role + +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. + + + +## TestNeonPostgresDatabaseNeonRole Objects + +```python +class TestNeonPostgresDatabaseNeonRole(unittest.TestCase) +``` + +NeonPostgresDatabaseNeonRole unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> NeonPostgresDatabaseNeonRole +``` + +Test NeonPostgresDatabaseNeonRole +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNeonPostgresDatabaseNeonRole + +```python +def testNeonPostgresDatabaseNeonRole() +``` + +Test NeonPostgresDatabaseNeonRole + + + +# koyeb/api\_async.test.test\_list\_user\_organizations\_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. + + + +## TestListUserOrganizationsReply Objects + +```python +class TestListUserOrganizationsReply(unittest.TestCase) +``` + +ListUserOrganizationsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListUserOrganizationsReply +``` + +Test ListUserOrganizationsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListUserOrganizationsReply + +```python +def testListUserOrganizationsReply() +``` + +Test ListUserOrganizationsReply + + + +# koyeb/api\_async.test.test\_create\_payment\_authorization\_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. + + + +## TestCreatePaymentAuthorizationReply Objects + +```python +class TestCreatePaymentAuthorizationReply(unittest.TestCase) +``` + +CreatePaymentAuthorizationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreatePaymentAuthorizationReply +``` + +Test CreatePaymentAuthorizationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreatePaymentAuthorizationReply + +```python +def testCreatePaymentAuthorizationReply() +``` + +Test CreatePaymentAuthorizationReply + + + +# koyeb/api\_async.test.test\_get\_secret\_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. + + + +## TestGetSecretReply Objects + +```python +class TestGetSecretReply(unittest.TestCase) +``` + +GetSecretReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetSecretReply +``` + +Test GetSecretReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetSecretReply + +```python +def testGetSecretReply() +``` + +Test GetSecretReply + + + +# koyeb/api\_async.test.test\_next\_invoice\_reply\_discount + +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. + + + +## TestNextInvoiceReplyDiscount Objects + +```python +class TestNextInvoiceReplyDiscount(unittest.TestCase) +``` + +NextInvoiceReplyDiscount unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> NextInvoiceReplyDiscount +``` + +Test NextInvoiceReplyDiscount +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNextInvoiceReplyDiscount + +```python +def testNextInvoiceReplyDiscount() +``` + +Test NextInvoiceReplyDiscount + + + +# koyeb/api\_async.test.test\_redeem\_coupon\_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. + + + +## TestRedeemCouponRequest Objects + +```python +class TestRedeemCouponRequest(unittest.TestCase) +``` + +RedeemCouponRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RedeemCouponRequest +``` + +Test RedeemCouponRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRedeemCouponRequest + +```python +def testRedeemCouponRequest() +``` + +Test RedeemCouponRequest + + + +# koyeb/api\_async.test.test\_service\_life\_cycle + +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. + + + +## TestServiceLifeCycle Objects + +```python +class TestServiceLifeCycle(unittest.TestCase) +``` + +ServiceLifeCycle unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ServiceLifeCycle +``` + +Test ServiceLifeCycle +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testServiceLifeCycle + +```python +def testServiceLifeCycle() +``` + +Test ServiceLifeCycle + + + +# koyeb/api\_async.test.test\_update\_credential\_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. + + + +## TestUpdateCredentialReply Objects + +```python +class TestUpdateCredentialReply(unittest.TestCase) +``` + +UpdateCredentialReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateCredentialReply +``` + +Test UpdateCredentialReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateCredentialReply + +```python +def testUpdateCredentialReply() +``` + +Test UpdateCredentialReply + + + +# koyeb/api\_async.test.test\_instance\_availability + +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. + + + +## TestInstanceAvailability Objects + +```python +class TestInstanceAvailability(unittest.TestCase) +``` + +InstanceAvailability unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> InstanceAvailability +``` + +Test InstanceAvailability +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testInstanceAvailability + +```python +def testInstanceAvailability() +``` + +Test InstanceAvailability + + + +# koyeb/api\_async.test.test\_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. + + + +## TestSnapshot Objects + +```python +class TestSnapshot(unittest.TestCase) +``` + +Snapshot unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Snapshot +``` + +Test Snapshot +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testSnapshot + +```python +def testSnapshot() +``` + +Test Snapshot + + + +# koyeb/api\_async.test.test\_object + +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. + + + +## TestObject Objects + +```python +class TestObject(unittest.TestCase) +``` + +Object unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Object +``` + +Test Object +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testObject + +```python +def testObject() +``` + +Test Object + + + +# koyeb/api\_async.test.test\_user\_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. + + + +## TestUserReply Objects + +```python +class TestUserReply(unittest.TestCase) +``` + +UserReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UserReply +``` + +Test UserReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUserReply + +```python +def testUserReply() +``` + +Test UserReply + + + +# koyeb/api\_async.test.test\_list\_regional\_deployment\_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. + + + +## TestListRegionalDeploymentEventsReply Objects + +```python +class TestListRegionalDeploymentEventsReply(unittest.TestCase) +``` + +ListRegionalDeploymentEventsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListRegionalDeploymentEventsReply +``` + +Test ListRegionalDeploymentEventsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListRegionalDeploymentEventsReply + +```python +def testListRegionalDeploymentEventsReply() +``` + +Test ListRegionalDeploymentEventsReply + + + +# koyeb/api\_async.test.test\_clear\_idenfy\_verification\_result\_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. + + + +## TestClearIdenfyVerificationResultRequest Objects + +```python +class TestClearIdenfyVerificationResultRequest(unittest.TestCase) +``` + +ClearIdenfyVerificationResultRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ClearIdenfyVerificationResultRequest +``` + +Test ClearIdenfyVerificationResultRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testClearIdenfyVerificationResultRequest + +```python +def testClearIdenfyVerificationResultRequest() +``` + +Test ClearIdenfyVerificationResultRequest + + + +# koyeb/api\_async.test.test\_get\_deployment\_scaling\_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. + + + +## TestGetDeploymentScalingReply Objects + +```python +class TestGetDeploymentScalingReply(unittest.TestCase) +``` + +GetDeploymentScalingReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetDeploymentScalingReply +``` + +Test GetDeploymentScalingReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetDeploymentScalingReply + +```python +def testGetDeploymentScalingReply() +``` + +Test GetDeploymentScalingReply + + + +# koyeb/api\_async.test.test\_next\_invoice\_reply\_discount\_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. + + + +## TestNextInvoiceReplyDiscountType Objects + +```python +class TestNextInvoiceReplyDiscountType(unittest.TestCase) +``` + +NextInvoiceReplyDiscountType unit test stubs + + + +#### testNextInvoiceReplyDiscountType + +```python +def testNextInvoiceReplyDiscountType() +``` + +Test NextInvoiceReplyDiscountType + + + +# koyeb/api\_async.test.test\_persistent\_volume\_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. + + + +## TestPersistentVolumeQuotas Objects + +```python +class TestPersistentVolumeQuotas(unittest.TestCase) +``` + +PersistentVolumeQuotas unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> PersistentVolumeQuotas +``` + +Test PersistentVolumeQuotas +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testPersistentVolumeQuotas + +```python +def testPersistentVolumeQuotas() +``` + +Test PersistentVolumeQuotas + + + +# koyeb/api\_async.test.test\_subscription\_payment\_failure\_stripe\_sdk + +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. + + + +## TestSubscriptionPaymentFailureStripeSDK Objects + +```python +class TestSubscriptionPaymentFailureStripeSDK(unittest.TestCase) +``` + +SubscriptionPaymentFailureStripeSDK unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> SubscriptionPaymentFailureStripeSDK +``` + +Test SubscriptionPaymentFailureStripeSDK +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testSubscriptionPaymentFailureStripeSDK + +```python +def testSubscriptionPaymentFailureStripeSDK() +``` + +Test SubscriptionPaymentFailureStripeSDK + + + +# koyeb/api\_async.test.test\_delete\_organization\_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. + + + +## TestDeleteOrganizationReply Objects + +```python +class TestDeleteOrganizationReply(unittest.TestCase) +``` + +DeleteOrganizationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeleteOrganizationReply +``` + +Test DeleteOrganizationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeleteOrganizationReply + +```python +def testDeleteOrganizationReply() +``` + +Test DeleteOrganizationReply + + + +# koyeb/api\_async.test.test\_create\_app + +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. + + + +## TestCreateApp Objects + +```python +class TestCreateApp(unittest.TestCase) +``` + +CreateApp unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateApp +``` + +Test CreateApp +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateApp + +```python +def testCreateApp() +``` + +Test CreateApp + + + +# koyeb/api\_async.test.test\_get\_catalog\_instance\_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. + + + +## TestGetCatalogInstanceReply Objects + +```python +class TestGetCatalogInstanceReply(unittest.TestCase) +``` + +GetCatalogInstanceReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetCatalogInstanceReply +``` + +Test GetCatalogInstanceReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetCatalogInstanceReply + +```python +def testGetCatalogInstanceReply() +``` + +Test GetCatalogInstanceReply + + + +# koyeb/api\_async.test.test\_check\_coupon\_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. + + + +## TestCheckCouponReply Objects + +```python +class TestCheckCouponReply(unittest.TestCase) +``` + +CheckCouponReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CheckCouponReply +``` + +Test CheckCouponReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCheckCouponReply + +```python +def testCheckCouponReply() +``` + +Test CheckCouponReply + + + +# koyeb/api\_async.test.test\_log\_entry + +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. + + + +## TestLogEntry Objects + +```python +class TestLogEntry(unittest.TestCase) +``` + +LogEntry unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> LogEntry +``` + +Test LogEntry +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testLogEntry + +```python +def testLogEntry() +``` + +Test LogEntry + + + +# koyeb/api\_async.test.test\_get\_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. + + + +## TestGetSnapshotReply Objects + +```python +class TestGetSnapshotReply(unittest.TestCase) +``` + +GetSnapshotReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetSnapshotReply +``` + +Test GetSnapshotReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetSnapshotReply + +```python +def testGetSnapshotReply() +``` + +Test GetSnapshotReply + + + +# koyeb/api\_async.test.test\_instance\_list\_item + +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. + + + +## TestInstanceListItem Objects + +```python +class TestInstanceListItem(unittest.TestCase) +``` + +InstanceListItem unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> InstanceListItem +``` + +Test InstanceListItem +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testInstanceListItem + +```python +def testInstanceListItem() +``` + +Test InstanceListItem + + + +# koyeb/api\_async.test.test\_create\_domain + +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. + + + +## TestCreateDomain Objects + +```python +class TestCreateDomain(unittest.TestCase) +``` + +CreateDomain unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateDomain +``` + +Test CreateDomain +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateDomain + +```python +def testCreateDomain() +``` + +Test CreateDomain + + + +# koyeb/api\_async.test.test\_resend\_organization\_invitation\_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. + + + +## TestResendOrganizationInvitationReply Objects + +```python +class TestResendOrganizationInvitationReply(unittest.TestCase) +``` + +ResendOrganizationInvitationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ResendOrganizationInvitationReply +``` + +Test ResendOrganizationInvitationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testResendOrganizationInvitationReply + +```python +def testResendOrganizationInvitationReply() +``` + +Test ResendOrganizationInvitationReply + + + +# koyeb/api\_async.test.test\_subscription\_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. + + + +## TestSubscriptionStatus Objects + +```python +class TestSubscriptionStatus(unittest.TestCase) +``` + +SubscriptionStatus unit test stubs + + + +#### testSubscriptionStatus + +```python +def testSubscriptionStatus() +``` + +Test SubscriptionStatus + + + +# koyeb/api\_async.test.test\_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. + + + +## TestSnapshotsApi Objects + +```python +class TestSnapshotsApi(unittest.IsolatedAsyncioTestCase) +``` + +SnapshotsApi unit test stubs + + + +#### test\_create\_snapshot + +```python +async def test_create_snapshot() -> None +``` + +Test case for create_snapshot + +Create a Snapshot + + + +#### test\_delete\_snapshot + +```python +async def test_delete_snapshot() -> None +``` + +Test case for delete_snapshot + +Delete a Snapshot + + + +#### test\_get\_snapshot + +```python +async def test_get_snapshot() -> None +``` + +Test case for get_snapshot + +Get a Snapshot + + + +#### test\_list\_snapshots + +```python +async def test_list_snapshots() -> None +``` + +Test case for list_snapshots + +List all Snapshots + + + +#### test\_update\_snapshot + +```python +async def test_update_snapshot() -> None +``` + +Test case for update_snapshot + +Update a Snapshot + + + +# koyeb/api\_async.test.test\_region + +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. + + + +## TestRegion Objects + +```python +class TestRegion(unittest.TestCase) +``` + +Region unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Region +``` + +Test Region +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRegion + +```python +def testRegion() +``` + +Test Region + + + +# koyeb/api\_async.test.test\_secrets\_summary + +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. + + + +## TestSecretsSummary Objects + +```python +class TestSecretsSummary(unittest.TestCase) +``` + +SecretsSummary unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> SecretsSummary +``` + +Test SecretsSummary +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testSecretsSummary + +```python +def testSecretsSummary() +``` + +Test SecretsSummary + + + +# koyeb/api\_async.test.test\_proxy\_port\_protocol + +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. + + + +## TestProxyPortProtocol Objects + +```python +class TestProxyPortProtocol(unittest.TestCase) +``` + +ProxyPortProtocol unit test stubs + + + +#### testProxyPortProtocol + +```python +def testProxyPortProtocol() +``` + +Test ProxyPortProtocol + + + +# koyeb/api\_async.test.test\_secret\_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. + + + +## TestSecretType Objects + +```python +class TestSecretType(unittest.TestCase) +``` + +SecretType unit test stubs + + + +#### testSecretType + +```python +def testSecretType() +``` + +Test SecretType + + + +# koyeb/api\_async.test.test\_deployment\_scaling\_target + +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. + + + +## TestDeploymentScalingTarget Objects + +```python +class TestDeploymentScalingTarget(unittest.TestCase) +``` + +DeploymentScalingTarget unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentScalingTarget +``` + +Test DeploymentScalingTarget +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentScalingTarget + +```python +def testDeploymentScalingTarget() +``` + +Test DeploymentScalingTarget + + + +# koyeb/api\_async.test.test\_review\_organization\_capacity\_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. + + + +## TestReviewOrganizationCapacityRequest Objects + +```python +class TestReviewOrganizationCapacityRequest(unittest.TestCase) +``` + +ReviewOrganizationCapacityRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ReviewOrganizationCapacityRequest +``` + +Test ReviewOrganizationCapacityRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testReviewOrganizationCapacityRequest + +```python +def testReviewOrganizationCapacityRequest() +``` + +Test ReviewOrganizationCapacityRequest + + + +# koyeb/api\_async.test.test\_budget + +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. + + + +## TestBudget Objects + +```python +class TestBudget(unittest.TestCase) +``` + +Budget unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Budget +``` + +Test Budget +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testBudget + +```python +def testBudget() +``` + +Test Budget + + + +# koyeb/api\_async.test.test\_autocomplete\_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. + + + +## TestAutocompleteReply Objects + +```python +class TestAutocompleteReply(unittest.TestCase) +``` + +AutocompleteReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> AutocompleteReply +``` + +Test AutocompleteReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testAutocompleteReply + +```python +def testAutocompleteReply() +``` + +Test AutocompleteReply + + + +# koyeb/api\_async.test.test\_create\_credential + +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. + + + +## TestCreateCredential Objects + +```python +class TestCreateCredential(unittest.TestCase) +``` + +CreateCredential unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateCredential +``` + +Test CreateCredential +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateCredential + +```python +def testCreateCredential() +``` + +Test CreateCredential + + + +# koyeb/api\_async.test.test\_trigger\_deployment\_metadata\_actor\_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. + + + +## TestTriggerDeploymentMetadataActorType Objects + +```python +class TestTriggerDeploymentMetadataActorType(unittest.TestCase) +``` + +TriggerDeploymentMetadataActorType unit test stubs + + + +#### testTriggerDeploymentMetadataActorType + +```python +def testTriggerDeploymentMetadataActorType() +``` + +Test TriggerDeploymentMetadataActorType + + + +# koyeb/api\_async.test.test\_update\_user\_settings\_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. + + + +## TestUpdateUserSettingsReply Objects + +```python +class TestUpdateUserSettingsReply(unittest.TestCase) +``` + +UpdateUserSettingsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateUserSettingsReply +``` + +Test UpdateUserSettingsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateUserSettingsReply + +```python +def testUpdateUserSettingsReply() +``` + +Test UpdateUserSettingsReply + + + +# koyeb/api\_async.test.test\_metric\_name + +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. + + + +## TestMetricName Objects + +```python +class TestMetricName(unittest.TestCase) +``` + +MetricName unit test stubs + + + +#### testMetricName + +```python +def testMetricName() +``` + +Test MetricName + + + +# koyeb/api\_async.test.test\_deployment\_scaling\_target\_requests\_per\_second + +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. + + + +## TestDeploymentScalingTargetRequestsPerSecond Objects + +```python +class TestDeploymentScalingTargetRequestsPerSecond(unittest.TestCase) +``` + +DeploymentScalingTargetRequestsPerSecond unit test stubs + + + +#### make\_instance + +```python +def make_instance( + include_optional) -> DeploymentScalingTargetRequestsPerSecond +``` + +Test DeploymentScalingTargetRequestsPerSecond +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentScalingTargetRequestsPerSecond + +```python +def testDeploymentScalingTargetRequestsPerSecond() +``` + +Test DeploymentScalingTargetRequestsPerSecond + + + +# koyeb/api\_async.test.test\_get\_organization\_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. + + + +## TestGetOrganizationReply Objects + +```python +class TestGetOrganizationReply(unittest.TestCase) +``` + +GetOrganizationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetOrganizationReply +``` + +Test GetOrganizationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetOrganizationReply + +```python +def testGetOrganizationReply() +``` + +Test GetOrganizationReply + + + +# koyeb/api\_async.test.test\_docker\_hub\_registry\_configuration + +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. + + + +## TestDockerHubRegistryConfiguration Objects + +```python +class TestDockerHubRegistryConfiguration(unittest.TestCase) +``` + +DockerHubRegistryConfiguration unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DockerHubRegistryConfiguration +``` + +Test DockerHubRegistryConfiguration +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDockerHubRegistryConfiguration + +```python +def testDockerHubRegistryConfiguration() +``` + +Test DockerHubRegistryConfiguration + + + +# koyeb/api\_async.test.test\_get\_service\_scaling\_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. + + + +## TestGetServiceScalingReply Objects + +```python +class TestGetServiceScalingReply(unittest.TestCase) +``` + +GetServiceScalingReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetServiceScalingReply +``` + +Test GetServiceScalingReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetServiceScalingReply + +```python +def testGetServiceScalingReply() +``` + +Test GetServiceScalingReply + + + +# koyeb/api\_async.test.test\_route + +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. + + + +## TestRoute Objects + +```python +class TestRoute(unittest.TestCase) +``` + +Route unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Route +``` + +Test Route +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRoute + +```python +def testRoute() +``` + +Test Route + + + +# koyeb/api\_async.test.test\_get\_quotas\_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. + + + +## TestGetQuotasReply Objects + +```python +class TestGetQuotasReply(unittest.TestCase) +``` + +GetQuotasReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetQuotasReply +``` + +Test GetQuotasReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetQuotasReply + +```python +def testGetQuotasReply() +``` + +Test GetQuotasReply + + + +# koyeb/api\_async.test.test\_instances\_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. + + + +## TestInstancesApi Objects + +```python +class TestInstancesApi(unittest.IsolatedAsyncioTestCase) +``` + +InstancesApi unit test stubs + + + +#### test\_exec\_command + +```python +async def test_exec_command() -> None +``` + +Test case for exec_command + +Exec Command + + + +#### test\_get\_instance + +```python +async def test_get_instance() -> None +``` + +Test case for get_instance + +Get Instance + + + +#### test\_list\_instance\_events + +```python +async def test_list_instance_events() -> None +``` + +Test case for list_instance_events + +List Instance events + + + +#### test\_list\_instances + +```python +async def test_list_instances() -> None +``` + +Test case for list_instances + +List Instances + + + +# koyeb/api\_async.test.test\_compose\_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. + + + +## TestComposeReply Objects + +```python +class TestComposeReply(unittest.TestCase) +``` + +ComposeReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ComposeReply +``` + +Test ComposeReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testComposeReply + +```python +def testComposeReply() +``` + +Test ComposeReply + + + +# koyeb/api\_async.test.test\_deployment\_volume + +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. + + + +## TestDeploymentVolume Objects + +```python +class TestDeploymentVolume(unittest.TestCase) +``` + +DeploymentVolume unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentVolume +``` + +Test DeploymentVolume +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentVolume + +```python +def testDeploymentVolume() +``` + +Test DeploymentVolume + + + +# koyeb/api\_async.test.test\_create\_service + +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. + + + +## TestCreateService Objects + +```python +class TestCreateService(unittest.TestCase) +``` + +CreateService unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateService +``` + +Test CreateService +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateService + +```python +def testCreateService() +``` + +Test CreateService + + + +# koyeb/api\_async.test.test\_scale\_to\_zero\_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. + + + +## TestScaleToZeroQuotas Objects + +```python +class TestScaleToZeroQuotas(unittest.TestCase) +``` + +ScaleToZeroQuotas unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ScaleToZeroQuotas +``` + +Test ScaleToZeroQuotas +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testScaleToZeroQuotas + +```python +def testScaleToZeroQuotas() +``` + +Test ScaleToZeroQuotas + + + +# koyeb/api\_async.test.test\_project + +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. + + + +## TestProject Objects + +```python +class TestProject(unittest.TestCase) +``` + +Project unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Project +``` + +Test Project +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testProject + +```python +def testProject() +``` + +Test Project + + + +# koyeb/api\_async.test.test\_deployment\_provisioning\_info\_stage\_build\_attempt + +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. + + + +## TestDeploymentProvisioningInfoStageBuildAttempt Objects + +```python +class TestDeploymentProvisioningInfoStageBuildAttempt(unittest.TestCase) +``` + +DeploymentProvisioningInfoStageBuildAttempt unit test stubs + + + +#### make\_instance + +```python +def make_instance( + include_optional) -> DeploymentProvisioningInfoStageBuildAttempt +``` + +Test DeploymentProvisioningInfoStageBuildAttempt +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentProvisioningInfoStageBuildAttempt + +```python +def testDeploymentProvisioningInfoStageBuildAttempt() +``` + +Test DeploymentProvisioningInfoStageBuildAttempt + + + +# koyeb/api\_async.test.test\_update\_app + +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. + + + +## TestUpdateApp Objects + +```python +class TestUpdateApp(unittest.TestCase) +``` + +UpdateApp unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateApp +``` + +Test UpdateApp +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateApp + +```python +def testUpdateApp() +``` + +Test UpdateApp + + + +# koyeb/api\_async.test.test\_deployment\_provisioning\_info\_stage\_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. + + + +## TestDeploymentProvisioningInfoStageStatus Objects + +```python +class TestDeploymentProvisioningInfoStageStatus(unittest.TestCase) +``` + +DeploymentProvisioningInfoStageStatus unit test stubs + + + +#### testDeploymentProvisioningInfoStageStatus + +```python +def testDeploymentProvisioningInfoStageStatus() +``` + +Test DeploymentProvisioningInfoStageStatus + + + +# koyeb/api\_async.test.test\_update\_persistent\_volume\_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. + + + +## TestUpdatePersistentVolumeReply Objects + +```python +class TestUpdatePersistentVolumeReply(unittest.TestCase) +``` + +UpdatePersistentVolumeReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdatePersistentVolumeReply +``` + +Test UpdatePersistentVolumeReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdatePersistentVolumeReply + +```python +def testUpdatePersistentVolumeReply() +``` + +Test UpdatePersistentVolumeReply + + + +# koyeb/api\_async.test.test\_regional\_deployment + +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. + + + +## TestRegionalDeployment Objects + +```python +class TestRegionalDeployment(unittest.TestCase) +``` + +RegionalDeployment unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RegionalDeployment +``` + +Test RegionalDeployment +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRegionalDeployment + +```python +def testRegionalDeployment() +``` + +Test RegionalDeployment + + + +# koyeb/api\_async.test.test\_instances\_summary + +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. + + + +## TestInstancesSummary Objects + +```python +class TestInstancesSummary(unittest.TestCase) +``` + +InstancesSummary unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> InstancesSummary +``` + +Test InstancesSummary +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testInstancesSummary + +```python +def testInstancesSummary() +``` + +Test InstancesSummary + + + +# koyeb/api\_async.test.test\_credential\_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. + + + +## TestCredentialType Objects + +```python +class TestCredentialType(unittest.TestCase) +``` + +CredentialType unit test stubs + + + +#### testCredentialType + +```python +def testCredentialType() +``` + +Test CredentialType + + + +# koyeb/api\_async.test.test\_update\_budget\_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. + + + +## TestUpdateBudgetReply Objects + +```python +class TestUpdateBudgetReply(unittest.TestCase) +``` + +UpdateBudgetReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateBudgetReply +``` + +Test UpdateBudgetReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateBudgetReply + +```python +def testUpdateBudgetReply() +``` + +Test UpdateBudgetReply + + + +# koyeb/api\_async.test.test\_confirm\_payment\_authorization\_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. + + + +## TestConfirmPaymentAuthorizationReply Objects + +```python +class TestConfirmPaymentAuthorizationReply(unittest.TestCase) +``` + +ConfirmPaymentAuthorizationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ConfirmPaymentAuthorizationReply +``` + +Test ConfirmPaymentAuthorizationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testConfirmPaymentAuthorizationReply + +```python +def testConfirmPaymentAuthorizationReply() +``` + +Test ConfirmPaymentAuthorizationReply + + + +# koyeb/api\_async.test.test\_create\_access\_token\_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. + + + +## TestCreateAccessTokenRequest Objects + +```python +class TestCreateAccessTokenRequest(unittest.TestCase) +``` + +CreateAccessTokenRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateAccessTokenRequest +``` + +Test CreateAccessTokenRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateAccessTokenRequest + +```python +def testCreateAccessTokenRequest() +``` + +Test CreateAccessTokenRequest + + + +# koyeb/api\_async.test.test\_database\_usage + +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. + + + +## TestDatabaseUsage Objects + +```python +class TestDatabaseUsage(unittest.TestCase) +``` + +DatabaseUsage unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DatabaseUsage +``` + +Test DatabaseUsage +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDatabaseUsage + +```python +def testDatabaseUsage() +``` + +Test DatabaseUsage + + + +# koyeb/api\_async.test.test\_kgitproxy\_git\_hub\_repository + +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. + + + +## TestKgitproxyGitHubRepository Objects + +```python +class TestKgitproxyGitHubRepository(unittest.TestCase) +``` + +KgitproxyGitHubRepository unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KgitproxyGitHubRepository +``` + +Test KgitproxyGitHubRepository +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKgitproxyGitHubRepository + +```python +def testKgitproxyGitHubRepository() +``` + +Test KgitproxyGitHubRepository + + + +# koyeb/api\_async.test.test\_list\_instance\_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. + + + +## TestListInstanceEventsReply Objects + +```python +class TestListInstanceEventsReply(unittest.TestCase) +``` + +ListInstanceEventsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListInstanceEventsReply +``` + +Test ListInstanceEventsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListInstanceEventsReply + +```python +def testListInstanceEventsReply() +``` + +Test ListInstanceEventsReply + + + +# koyeb/api\_async.test.test\_get\_subscription\_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. + + + +## TestGetSubscriptionReply Objects + +```python +class TestGetSubscriptionReply(unittest.TestCase) +``` + +GetSubscriptionReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetSubscriptionReply +``` + +Test GetSubscriptionReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetSubscriptionReply + +```python +def testGetSubscriptionReply() +``` + +Test GetSubscriptionReply + + + +# koyeb/api\_async.test.test\_review\_organization\_capacity\_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. + + + +## TestReviewOrganizationCapacityReply Objects + +```python +class TestReviewOrganizationCapacityReply(unittest.TestCase) +``` + +ReviewOrganizationCapacityReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ReviewOrganizationCapacityReply +``` + +Test ReviewOrganizationCapacityReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testReviewOrganizationCapacityReply + +```python +def testReviewOrganizationCapacityReply() +``` + +Test ReviewOrganizationCapacityReply + + + +# koyeb/api\_async.test.test\_canny\_auth\_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. + + + +## TestCannyAuthReply Objects + +```python +class TestCannyAuthReply(unittest.TestCase) +``` + +CannyAuthReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CannyAuthReply +``` + +Test CannyAuthReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCannyAuthReply + +```python +def testCannyAuthReply() +``` + +Test CannyAuthReply + + + +# koyeb/api\_async.test.test\_get\_instance\_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. + + + +## TestGetInstanceReply Objects + +```python +class TestGetInstanceReply(unittest.TestCase) +``` + +GetInstanceReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetInstanceReply +``` + +Test GetInstanceReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetInstanceReply + +```python +def testGetInstanceReply() +``` + +Test GetInstanceReply + + + +# koyeb/api\_async.test.test\_deployment\_strategy + +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. + + + +## TestDeploymentStrategy Objects + +```python +class TestDeploymentStrategy(unittest.TestCase) +``` + +DeploymentStrategy unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentStrategy +``` + +Test DeploymentStrategy +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentStrategy + +```python +def testDeploymentStrategy() +``` + +Test DeploymentStrategy + + + +# koyeb/api\_async.test.test\_deployment\_health\_check + +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. + + + +## TestDeploymentHealthCheck Objects + +```python +class TestDeploymentHealthCheck(unittest.TestCase) +``` + +DeploymentHealthCheck unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentHealthCheck +``` + +Test DeploymentHealthCheck +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentHealthCheck + +```python +def testDeploymentHealthCheck() +``` + +Test DeploymentHealthCheck + + + +# koyeb/api\_async.test.test\_services\_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. + + + +## TestServicesApi Objects + +```python +class TestServicesApi(unittest.IsolatedAsyncioTestCase) +``` + +ServicesApi unit test stubs + + + +#### test\_autocomplete + +```python +async def test_autocomplete() -> None +``` + +Test case for autocomplete + +Autocomplete definition + + + +#### test\_create\_service + +```python +async def test_create_service() -> None +``` + +Test case for create_service + +Create Service + + + +#### test\_delete\_service + +```python +async def test_delete_service() -> None +``` + +Test case for delete_service + +Delete Service + + + +#### test\_delete\_service\_scaling + +```python +async def test_delete_service_scaling() -> None +``` + +Test case for delete_service_scaling + +Delete Service Scaling + + + +#### test\_get\_service + +```python +async def test_get_service() -> None +``` + +Test case for get_service + +Get Service + + + +#### test\_get\_service\_scaling + +```python +async def test_get_service_scaling() -> None +``` + +Test case for get_service_scaling + +Get Service Scaling + + + +#### test\_list\_service\_events + +```python +async def test_list_service_events() -> None +``` + +Test case for list_service_events + +List Service events + + + +#### test\_list\_services + +```python +async def test_list_services() -> None +``` + +Test case for list_services + +List Services + + + +#### test\_pause\_service + +```python +async def test_pause_service() -> None +``` + +Test case for pause_service + +Pause Service + + + +#### test\_re\_deploy + +```python +async def test_re_deploy() -> None +``` + +Test case for re_deploy + +ReDeploy Service + + + +#### test\_resume\_service + +```python +async def test_resume_service() -> None +``` + +Test case for resume_service + +Resume Service + + + +#### test\_update\_service + +```python +async def test_update_service() -> None +``` + +Test case for update_service + +Update Service + + + +#### test\_update\_service2 + +```python +async def test_update_service2() -> None +``` + +Test case for update_service2 + +Update Service + + + +#### test\_update\_service\_scaling + +```python +async def test_update_service_scaling() -> None +``` + +Test case for update_service_scaling + +Update Service Scaling + + + +# koyeb/api\_async.test.test\_stream\_result\_of\_exec\_command\_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. + + + +## TestStreamResultOfExecCommandReply Objects + +```python +class TestStreamResultOfExecCommandReply(unittest.TestCase) +``` + +StreamResultOfExecCommandReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> StreamResultOfExecCommandReply +``` + +Test StreamResultOfExecCommandReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testStreamResultOfExecCommandReply + +```python +def testStreamResultOfExecCommandReply() +``` + +Test StreamResultOfExecCommandReply + + + +# koyeb/api\_async.test.test\_kgitproxy\_repository\_provider + +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. + + + +## TestKgitproxyRepositoryProvider Objects + +```python +class TestKgitproxyRepositoryProvider(unittest.TestCase) +``` + +KgitproxyRepositoryProvider unit test stubs + + + +#### testKgitproxyRepositoryProvider + +```python +def testKgitproxyRepositoryProvider() +``` + +Test KgitproxyRepositoryProvider + + + +# koyeb/api\_async.test.test\_list\_datacenters\_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. + + + +## TestListDatacentersReply Objects + +```python +class TestListDatacentersReply(unittest.TestCase) +``` + +ListDatacentersReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListDatacentersReply +``` + +Test ListDatacentersReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListDatacentersReply + +```python +def testListDatacentersReply() +``` + +Test ListDatacentersReply + + + +# koyeb/api\_async.test.test\_update\_user\_request\_user\_update\_body + +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. + + + +## TestUpdateUserRequestUserUpdateBody Objects + +```python +class TestUpdateUserRequestUserUpdateBody(unittest.TestCase) +``` + +UpdateUserRequestUserUpdateBody unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateUserRequestUserUpdateBody +``` + +Test UpdateUserRequestUserUpdateBody +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateUserRequestUserUpdateBody + +```python +def testUpdateUserRequestUserUpdateBody() +``` + +Test UpdateUserRequestUserUpdateBody + + + +# koyeb/api\_async.test.test\_deployment\_database\_info + +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. + + + +## TestDeploymentDatabaseInfo Objects + +```python +class TestDeploymentDatabaseInfo(unittest.TestCase) +``` + +DeploymentDatabaseInfo unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentDatabaseInfo +``` + +Test DeploymentDatabaseInfo +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentDatabaseInfo + +```python +def testDeploymentDatabaseInfo() +``` + +Test DeploymentDatabaseInfo + + + +# koyeb/api\_async.test.test\_database\_role\_password + +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. + + + +## TestDatabaseRolePassword Objects + +```python +class TestDatabaseRolePassword(unittest.TestCase) +``` + +DatabaseRolePassword unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DatabaseRolePassword +``` + +Test DatabaseRolePassword +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDatabaseRolePassword + +```python +def testDatabaseRolePassword() +``` + +Test DatabaseRolePassword + + + +# koyeb/api\_async.test.test\_exec\_command\_request\_id\_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. + + + +## TestExecCommandRequestIdType Objects + +```python +class TestExecCommandRequestIdType(unittest.TestCase) +``` + +ExecCommandRequestIdType unit test stubs + + + +#### testExecCommandRequestIdType + +```python +def testExecCommandRequestIdType() +``` + +Test ExecCommandRequestIdType + + + +# koyeb/api\_async.test.test\_deployment\_env + +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. + + + +## TestDeploymentEnv Objects + +```python +class TestDeploymentEnv(unittest.TestCase) +``` + +DeploymentEnv unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentEnv +``` + +Test DeploymentEnv +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentEnv + +```python +def testDeploymentEnv() +``` + +Test DeploymentEnv + + + +# koyeb/api\_async.test.test\_organization\_confirmations\_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. + + + +## TestOrganizationConfirmationsApi Objects + +```python +class TestOrganizationConfirmationsApi(unittest.IsolatedAsyncioTestCase) +``` + +OrganizationConfirmationsApi unit test stubs + + + +#### test\_confirm\_organization\_action + +```python +async def test_confirm_organization_action() -> None +``` + +Test case for confirm_organization_action + +Confirm organization action + + + +# koyeb/api\_async.test.test\_remove\_organization\_member\_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. + + + +## TestRemoveOrganizationMemberReply Objects + +```python +class TestRemoveOrganizationMemberReply(unittest.TestCase) +``` + +RemoveOrganizationMemberReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RemoveOrganizationMemberReply +``` + +Test RemoveOrganizationMemberReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRemoveOrganizationMemberReply + +```python +def testRemoveOrganizationMemberReply() +``` + +Test RemoveOrganizationMemberReply + + + +# koyeb/api\_async.test.test\_regional\_deployments\_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. + + + +## TestRegionalDeploymentsApi Objects + +```python +class TestRegionalDeploymentsApi(unittest.IsolatedAsyncioTestCase) +``` + +RegionalDeploymentsApi unit test stubs + + + +#### test\_get\_regional\_deployment + +```python +async def test_get_regional_deployment() -> None +``` + +Test case for get_regional_deployment + +Get Regional Deployment + + + +#### test\_list\_regional\_deployment\_events + +```python +async def test_list_regional_deployment_events() -> None +``` + +Test case for list_regional_deployment_events + +List Regional Deployment events + + + +#### test\_list\_regional\_deployments + +```python +async def test_list_regional_deployments() -> None +``` + +Test case for list_regional_deployments + +List Regional Deployments + + + +# koyeb/api\_async.test.test\_ksearch\_service + +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. + + + +## TestKsearchService Objects + +```python +class TestKsearchService(unittest.TestCase) +``` + +KsearchService unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KsearchService +``` + +Test KsearchService +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKsearchService + +```python +def testKsearchService() +``` + +Test KsearchService + + + +# koyeb/api\_async.test.test\_decline\_organization\_invitation\_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. + + + +## TestDeclineOrganizationInvitationReply Objects + +```python +class TestDeclineOrganizationInvitationReply(unittest.TestCase) +``` + +DeclineOrganizationInvitationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeclineOrganizationInvitationReply +``` + +Test DeclineOrganizationInvitationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeclineOrganizationInvitationReply + +```python +def testDeclineOrganizationInvitationReply() +``` + +Test DeclineOrganizationInvitationReply + + + +# koyeb/api\_async.test.test\_get\_organization\_invitation\_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. + + + +## TestGetOrganizationInvitationReply Objects + +```python +class TestGetOrganizationInvitationReply(unittest.TestCase) +``` + +GetOrganizationInvitationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetOrganizationInvitationReply +``` + +Test GetOrganizationInvitationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetOrganizationInvitationReply + +```python +def testGetOrganizationInvitationReply() +``` + +Test GetOrganizationInvitationReply + + + +# koyeb/api\_async.test.test\_region\_usage + +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. + + + +## TestRegionUsage Objects + +```python +class TestRegionUsage(unittest.TestCase) +``` + +RegionUsage unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> RegionUsage +``` + +Test RegionUsage +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testRegionUsage + +```python +def testRegionUsage() +``` + +Test RegionUsage + + + +# koyeb/api\_async.test.test\_next\_invoice\_reply\_line\_price + +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. + + + +## TestNextInvoiceReplyLinePrice Objects + +```python +class TestNextInvoiceReplyLinePrice(unittest.TestCase) +``` + +NextInvoiceReplyLinePrice unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> NextInvoiceReplyLinePrice +``` + +Test NextInvoiceReplyLinePrice +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNextInvoiceReplyLinePrice + +```python +def testNextInvoiceReplyLinePrice() +``` + +Test NextInvoiceReplyLinePrice + + + +# koyeb/api\_async.test.test\_deployment + +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. + + + +## TestDeployment Objects + +```python +class TestDeployment(unittest.TestCase) +``` + +Deployment unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Deployment +``` + +Test Deployment +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeployment + +```python +def testDeployment() +``` + +Test Deployment + + + +# koyeb/api\_async.test.test\_organization\_invitation + +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. + + + +## TestOrganizationInvitation Objects + +```python +class TestOrganizationInvitation(unittest.TestCase) +``` + +OrganizationInvitation unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> OrganizationInvitation +``` + +Test OrganizationInvitation +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testOrganizationInvitation + +```python +def testOrganizationInvitation() +``` + +Test OrganizationInvitation + + + +# koyeb/api\_async.test.test\_deactivate\_organization\_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. + + + +## TestDeactivateOrganizationRequest Objects + +```python +class TestDeactivateOrganizationRequest(unittest.TestCase) +``` + +DeactivateOrganizationRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeactivateOrganizationRequest +``` + +Test DeactivateOrganizationRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeactivateOrganizationRequest + +```python +def testDeactivateOrganizationRequest() +``` + +Test DeactivateOrganizationRequest + + + +# koyeb/api\_async.test.test\_archive\_source + +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. + + + +## TestArchiveSource Objects + +```python +class TestArchiveSource(unittest.TestCase) +``` + +ArchiveSource unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ArchiveSource +``` + +Test ArchiveSource +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testArchiveSource + +```python +def testArchiveSource() +``` + +Test ArchiveSource + + + +# koyeb/api\_async.test.test\_get\_user\_settings\_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. + + + +## TestGetUserSettingsReply Objects + +```python +class TestGetUserSettingsReply(unittest.TestCase) +``` + +GetUserSettingsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetUserSettingsReply +``` + +Test GetUserSettingsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetUserSettingsReply + +```python +def testGetUserSettingsReply() +``` + +Test GetUserSettingsReply + + + +# koyeb/api\_async.test.test\_update\_service + +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. + + + +## TestUpdateService Objects + +```python +class TestUpdateService(unittest.TestCase) +``` + +UpdateService unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> UpdateService +``` + +Test UpdateService +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testUpdateService + +```python +def testUpdateService() +``` + +Test UpdateService + + + +# koyeb/api\_async.test.test\_deployment\_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. + + + +## TestDeploymentEvent Objects + +```python +class TestDeploymentEvent(unittest.TestCase) +``` + +DeploymentEvent unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentEvent +``` + +Test DeploymentEvent +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentEvent + +```python +def testDeploymentEvent() +``` + +Test DeploymentEvent + + + +# koyeb/api\_async.test.test\_get\_organization\_usage\_details\_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. + + + +## TestGetOrganizationUsageDetailsReply Objects + +```python +class TestGetOrganizationUsageDetailsReply(unittest.TestCase) +``` + +GetOrganizationUsageDetailsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GetOrganizationUsageDetailsReply +``` + +Test GetOrganizationUsageDetailsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGetOrganizationUsageDetailsReply + +```python +def testGetOrganizationUsageDetailsReply() +``` + +Test GetOrganizationUsageDetailsReply + + + +# koyeb/api\_async.test.test\_neon\_postgres\_database\_neon\_database + +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. + + + +## TestNeonPostgresDatabaseNeonDatabase Objects + +```python +class TestNeonPostgresDatabaseNeonDatabase(unittest.TestCase) +``` + +NeonPostgresDatabaseNeonDatabase unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> NeonPostgresDatabaseNeonDatabase +``` + +Test NeonPostgresDatabaseNeonDatabase +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNeonPostgresDatabaseNeonDatabase + +```python +def testNeonPostgresDatabaseNeonDatabase() +``` + +Test NeonPostgresDatabaseNeonDatabase + + + +# koyeb/api\_async.test.test\_ksearch\_regional\_deployment + +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. + + + +## TestKsearchRegionalDeployment Objects + +```python +class TestKsearchRegionalDeployment(unittest.TestCase) +``` + +KsearchRegionalDeployment unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> KsearchRegionalDeployment +``` + +Test KsearchRegionalDeployment +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testKsearchRegionalDeployment + +```python +def testKsearchRegionalDeployment() +``` + +Test KsearchRegionalDeployment + + + +# koyeb/api\_async.test.test\_users\_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. + + + +## TestUsersApi Objects + +```python +class TestUsersApi(unittest.IsolatedAsyncioTestCase) +``` + +UsersApi unit test stubs + + + +#### test\_delete\_user + +```python +async def test_delete_user() -> None +``` + +Test case for delete_user + +Delete user + + + +#### test\_delete\_user\_v2 + +```python +async def test_delete_user_v2() -> None +``` + +Test case for delete_user_v2 + +V2 Delete user + + + +# koyeb/api\_async.test.test\_error\_field + +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. + + + +## TestErrorField Objects + +```python +class TestErrorField(unittest.TestCase) +``` + +ErrorField unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ErrorField +``` + +Test ErrorField +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testErrorField + +```python +def testErrorField() +``` + +Test ErrorField + + + +# koyeb/api\_async.test.test\_deployment\_definition\_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. + + + +## TestDeploymentDefinitionType Objects + +```python +class TestDeploymentDefinitionType(unittest.TestCase) +``` + +DeploymentDefinitionType unit test stubs + + + +#### testDeploymentDefinitionType + +```python +def testDeploymentDefinitionType() +``` + +Test DeploymentDefinitionType + + + +# koyeb/api\_async.test.test\_deactivate\_organization\_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. + + + +## TestDeactivateOrganizationReply Objects + +```python +class TestDeactivateOrganizationReply(unittest.TestCase) +``` + +DeactivateOrganizationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeactivateOrganizationReply +``` + +Test DeactivateOrganizationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeactivateOrganizationReply + +```python +def testDeactivateOrganizationReply() +``` + +Test DeactivateOrganizationReply + + + +# koyeb/api\_async.test.test\_domain\_load\_balancer\_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. + + + +## TestDomainLoadBalancerQuotas Objects + +```python +class TestDomainLoadBalancerQuotas(unittest.TestCase) +``` + +DomainLoadBalancerQuotas unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DomainLoadBalancerQuotas +``` + +Test DomainLoadBalancerQuotas +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDomainLoadBalancerQuotas + +```python +def testDomainLoadBalancerQuotas() +``` + +Test DomainLoadBalancerQuotas + + + +# koyeb/api\_async.test.test\_subscription + +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. + + + +## TestSubscription Objects + +```python +class TestSubscription(unittest.TestCase) +``` + +Subscription unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> Subscription +``` + +Test Subscription +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testSubscription + +```python +def testSubscription() +``` + +Test Subscription + + + +# koyeb/api\_async.test.test\_neon\_postgres\_database\_deployment\_metadata + +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. + + + +## TestNeonPostgresDatabaseDeploymentMetadata Objects + +```python +class TestNeonPostgresDatabaseDeploymentMetadata(unittest.TestCase) +``` + +NeonPostgresDatabaseDeploymentMetadata unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> NeonPostgresDatabaseDeploymentMetadata +``` + +Test NeonPostgresDatabaseDeploymentMetadata +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNeonPostgresDatabaseDeploymentMetadata + +```python +def testNeonPostgresDatabaseDeploymentMetadata() +``` + +Test NeonPostgresDatabaseDeploymentMetadata + + + +# koyeb/api\_async.test.test\_google\_protobuf\_any + +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. + + + +## TestGoogleProtobufAny Objects + +```python +class TestGoogleProtobufAny(unittest.TestCase) +``` + +GoogleProtobufAny unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GoogleProtobufAny +``` + +Test GoogleProtobufAny +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGoogleProtobufAny + +```python +def testGoogleProtobufAny() +``` + +Test GoogleProtobufAny + + + +# koyeb/api\_async.test.test\_git\_deployment\_metadata + +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. + + + +## TestGitDeploymentMetadata Objects + +```python +class TestGitDeploymentMetadata(unittest.TestCase) +``` + +GitDeploymentMetadata unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> GitDeploymentMetadata +``` + +Test GitDeploymentMetadata +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testGitDeploymentMetadata + +```python +def testGitDeploymentMetadata() +``` + +Test GitDeploymentMetadata + + + +# koyeb/api\_async.test.test\_domain\_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. + + + +## TestDomainStatus Objects + +```python +class TestDomainStatus(unittest.TestCase) +``` + +DomainStatus unit test stubs + + + +#### testDomainStatus + +```python +def testDomainStatus() +``` + +Test DomainStatus + + + +# koyeb/api\_async.test.test\_reactivate\_organization\_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. + + + +## TestReactivateOrganizationReply Objects + +```python +class TestReactivateOrganizationReply(unittest.TestCase) +``` + +ReactivateOrganizationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ReactivateOrganizationReply +``` + +Test ReactivateOrganizationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testReactivateOrganizationReply + +```python +def testReactivateOrganizationReply() +``` + +Test ReactivateOrganizationReply + + + +# koyeb/api\_async.test.test\_verify\_docker\_image\_reply\_err\_code + +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. + + + +## TestVerifyDockerImageReplyErrCode Objects + +```python +class TestVerifyDockerImageReplyErrCode(unittest.TestCase) +``` + +VerifyDockerImageReplyErrCode unit test stubs + + + +#### testVerifyDockerImageReplyErrCode + +```python +def testVerifyDockerImageReplyErrCode() +``` + +Test VerifyDockerImageReplyErrCode + + + +# koyeb/api\_async.test.test\_deployment\_neon\_postgres\_database\_info + +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. + + + +## TestDeploymentNeonPostgresDatabaseInfo Objects + +```python +class TestDeploymentNeonPostgresDatabaseInfo(unittest.TestCase) +``` + +DeploymentNeonPostgresDatabaseInfo unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentNeonPostgresDatabaseInfo +``` + +Test DeploymentNeonPostgresDatabaseInfo +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentNeonPostgresDatabaseInfo + +```python +def testDeploymentNeonPostgresDatabaseInfo() +``` + +Test DeploymentNeonPostgresDatabaseInfo + + + +# koyeb/api\_async.test.test\_app + +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. + + + +## TestApp Objects + +```python +class TestApp(unittest.TestCase) +``` + +App unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> App +``` + +Test App +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testApp + +```python +def testApp() +``` + +Test App + + + +# koyeb/api\_async.test.test\_list\_app\_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. + + + +## TestListAppEventsReply Objects + +```python +class TestListAppEventsReply(unittest.TestCase) +``` + +ListAppEventsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListAppEventsReply +``` + +Test ListAppEventsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListAppEventsReply + +```python +def testListAppEventsReply() +``` + +Test ListAppEventsReply + + + +# koyeb/api\_async.test.test\_create\_domain\_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. + + + +## TestCreateDomainReply Objects + +```python +class TestCreateDomainReply(unittest.TestCase) +``` + +CreateDomainReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateDomainReply +``` + +Test CreateDomainReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateDomainReply + +```python +def testCreateDomainReply() +``` + +Test CreateDomainReply + + + +# koyeb/api\_async.test.test\_accept\_organization\_invitation\_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. + + + +## TestAcceptOrganizationInvitationReply Objects + +```python +class TestAcceptOrganizationInvitationReply(unittest.TestCase) +``` + +AcceptOrganizationInvitationReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> AcceptOrganizationInvitationReply +``` + +Test AcceptOrganizationInvitationReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testAcceptOrganizationInvitationReply + +```python +def testAcceptOrganizationInvitationReply() +``` + +Test AcceptOrganizationInvitationReply + + + +# koyeb/api\_async.test.test\_list\_persistent\_volume\_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. + + + +## TestListPersistentVolumeEventsReply Objects + +```python +class TestListPersistentVolumeEventsReply(unittest.TestCase) +``` + +ListPersistentVolumeEventsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListPersistentVolumeEventsReply +``` + +Test ListPersistentVolumeEventsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListPersistentVolumeEventsReply + +```python +def testListPersistentVolumeEventsReply() +``` + +Test ListPersistentVolumeEventsReply + + + +# koyeb/api\_async.test.test\_organization\_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. + + + +## TestOrganizationStatus Objects + +```python +class TestOrganizationStatus(unittest.TestCase) +``` + +OrganizationStatus unit test stubs + + + +#### testOrganizationStatus + +```python +def testOrganizationStatus() +``` + +Test OrganizationStatus + + + +# koyeb/api\_async.test.test\_auto\_release\_group + +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. + + + +## TestAutoReleaseGroup Objects + +```python +class TestAutoReleaseGroup(unittest.TestCase) +``` + +AutoReleaseGroup unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> AutoReleaseGroup +``` + +Test AutoReleaseGroup +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testAutoReleaseGroup + +```python +def testAutoReleaseGroup() +``` + +Test AutoReleaseGroup + + + +# koyeb/api\_async.test.test\_deployment\_proxy\_port + +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. + + + +## TestDeploymentProxyPort Objects + +```python +class TestDeploymentProxyPort(unittest.TestCase) +``` + +DeploymentProxyPort unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentProxyPort +``` + +Test DeploymentProxyPort +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentProxyPort + +```python +def testDeploymentProxyPort() +``` + +Test DeploymentProxyPort + + + +# koyeb/api\_async.test.test\_list\_deployments\_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. + + + +## TestListDeploymentsReply Objects + +```python +class TestListDeploymentsReply(unittest.TestCase) +``` + +ListDeploymentsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListDeploymentsReply +``` + +Test ListDeploymentsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListDeploymentsReply + +```python +def testListDeploymentsReply() +``` + +Test ListDeploymentsReply + + + +# koyeb/api\_async.test.test\_google\_protobuf\_null\_value + +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. + + + +## TestGoogleProtobufNullValue Objects + +```python +class TestGoogleProtobufNullValue(unittest.TestCase) +``` + +GoogleProtobufNullValue unit test stubs + + + +#### testGoogleProtobufNullValue + +```python +def testGoogleProtobufNullValue() +``` + +Test GoogleProtobufNullValue + + + +# koyeb/api\_async.test.test\_create\_credential\_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. + + + +## TestCreateCredentialReply Objects + +```python +class TestCreateCredentialReply(unittest.TestCase) +``` + +CreateCredentialReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateCredentialReply +``` + +Test CreateCredentialReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateCredentialReply + +```python +def testCreateCredentialReply() +``` + +Test CreateCredentialReply + + + +# koyeb/api\_async.test.test\_list\_projects\_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. + + + +## TestListProjectsReply Objects + +```python +class TestListProjectsReply(unittest.TestCase) +``` + +ListProjectsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListProjectsReply +``` + +Test ListProjectsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListProjectsReply + +```python +def testListProjectsReply() +``` + +Test ListProjectsReply + + + +# koyeb/api\_async.test.test\_create\_compose + +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. + + + +## TestCreateCompose Objects + +```python +class TestCreateCompose(unittest.TestCase) +``` + +CreateCompose unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateCompose +``` + +Test CreateCompose +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateCompose + +```python +def testCreateCompose() +``` + +Test CreateCompose + + + +# koyeb/api\_async.test.test\_list\_regional\_deployments\_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. + + + +## TestListRegionalDeploymentsReply Objects + +```python +class TestListRegionalDeploymentsReply(unittest.TestCase) +``` + +ListRegionalDeploymentsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListRegionalDeploymentsReply +``` + +Test ListRegionalDeploymentsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListRegionalDeploymentsReply + +```python +def testListRegionalDeploymentsReply() +``` + +Test ListRegionalDeploymentsReply + + + +# koyeb/api\_async.test.test\_list\_organization\_members\_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. + + + +## TestListOrganizationMembersReply Objects + +```python +class TestListOrganizationMembersReply(unittest.TestCase) +``` + +ListOrganizationMembersReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListOrganizationMembersReply +``` + +Test ListOrganizationMembersReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListOrganizationMembersReply + +```python +def testListOrganizationMembersReply() +``` + +Test ListOrganizationMembersReply + + + +# koyeb/api\_async.test.test\_activity\_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. + + + +## TestActivityApi Objects + +```python +class TestActivityApi(unittest.IsolatedAsyncioTestCase) +``` + +ActivityApi unit test stubs + + + +#### test\_get\_account\_activities + +```python +async def test_get_account_activities() -> None +``` + +Test case for get_account_activities + + + +#### test\_list\_activities + +```python +async def test_list_activities() -> None +``` + +Test case for list_activities + +List Activities + + + +#### test\_list\_notifications + +```python +async def test_list_notifications() -> None +``` + +Test case for list_notifications + +List Notifications + + + +# koyeb/api\_async.test.test\_app\_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. + + + +## TestAppStatus Objects + +```python +class TestAppStatus(unittest.TestCase) +``` + +AppStatus unit test stubs + + + +#### testAppStatus + +```python +def testAppStatus() +``` + +Test AppStatus + + + +# koyeb/api\_async.test.test\_persistent\_volume + +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. + + + +## TestPersistentVolume Objects + +```python +class TestPersistentVolume(unittest.TestCase) +``` + +PersistentVolume unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> PersistentVolume +``` + +Test PersistentVolume +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testPersistentVolume + +```python +def testPersistentVolume() +``` + +Test PersistentVolume + + + +# koyeb/api\_async.test.test\_action + +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. + + + +## TestAction Objects + +```python +class TestAction(unittest.TestCase) +``` + +Action unit test stubs + + + +#### testAction + +```python +def testAction() +``` + +Test Action + + + +# koyeb/api\_async.test.test\_payment\_method\_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. + + + +## TestPaymentMethodStatus Objects + +```python +class TestPaymentMethodStatus(unittest.TestCase) +``` + +PaymentMethodStatus unit test stubs + + + +#### testPaymentMethodStatus + +```python +def testPaymentMethodStatus() +``` + +Test PaymentMethodStatus + + + +# koyeb/api\_async.test.test\_catalog\_instance + +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. + + + +## TestCatalogInstance Objects + +```python +class TestCatalogInstance(unittest.TestCase) +``` + +CatalogInstance unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CatalogInstance +``` + +Test CatalogInstance +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCatalogInstance + +```python +def testCatalogInstance() +``` + +Test CatalogInstance + + + +# koyeb/api\_async.test.test\_list\_service\_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. + + + +## TestListServiceEventsReply Objects + +```python +class TestListServiceEventsReply(unittest.TestCase) +``` + +ListServiceEventsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListServiceEventsReply +``` + +Test ListServiceEventsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListServiceEventsReply + +```python +def testListServiceEventsReply() +``` + +Test ListServiceEventsReply + + + +# koyeb/api\_async.test.test\_create\_account\_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. + + + +## TestCreateAccountRequest Objects + +```python +class TestCreateAccountRequest(unittest.TestCase) +``` + +CreateAccountRequest unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> CreateAccountRequest +``` + +Test CreateAccountRequest +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testCreateAccountRequest + +```python +def testCreateAccountRequest() +``` + +Test CreateAccountRequest + + + +# koyeb/api\_async.test.test\_persistent\_volumes\_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. + + + +## TestPersistentVolumesApi Objects + +```python +class TestPersistentVolumesApi(unittest.IsolatedAsyncioTestCase) +``` + +PersistentVolumesApi unit test stubs + + + +#### test\_create\_persistent\_volume + +```python +async def test_create_persistent_volume() -> None +``` + +Test case for create_persistent_volume + +Create a PersistentVolume + + + +#### test\_delete\_persistent\_volume + +```python +async def test_delete_persistent_volume() -> None +``` + +Test case for delete_persistent_volume + +Delete a PersistentVolume + + + +#### test\_get\_persistent\_volume + +```python +async def test_get_persistent_volume() -> None +``` + +Test case for get_persistent_volume + +Get a PersistentVolume + + + +#### test\_list\_persistent\_volume\_events + +```python +async def test_list_persistent_volume_events() -> None +``` + +Test case for list_persistent_volume_events + +List Persistent Volume events + + + +#### test\_list\_persistent\_volumes + +```python +async def test_list_persistent_volumes() -> None +``` + +Test case for list_persistent_volumes + +List all PersistentVolumes + + + +#### test\_update\_persistent\_volume + +```python +async def test_update_persistent_volume() -> None +``` + +Test case for update_persistent_volume + +Update a PersistentVolume + + + +# koyeb/api\_async.test.test\_deployment\_scaling\_target\_sleep\_idle\_delay + +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. + + + +## TestDeploymentScalingTargetSleepIdleDelay Objects + +```python +class TestDeploymentScalingTargetSleepIdleDelay(unittest.TestCase) +``` + +DeploymentScalingTargetSleepIdleDelay unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> DeploymentScalingTargetSleepIdleDelay +``` + +Test DeploymentScalingTargetSleepIdleDelay +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testDeploymentScalingTargetSleepIdleDelay + +```python +def testDeploymentScalingTargetSleepIdleDelay() +``` + +Test DeploymentScalingTargetSleepIdleDelay + + + +# koyeb/api\_async.test.test\_neon\_postgres\_summary + +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. + + + +## TestNeonPostgresSummary Objects + +```python +class TestNeonPostgresSummary(unittest.TestCase) +``` + +NeonPostgresSummary unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> NeonPostgresSummary +``` + +Test NeonPostgresSummary +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testNeonPostgresSummary + +```python +def testNeonPostgresSummary() +``` + +Test NeonPostgresSummary + + + +# koyeb/api\_async.test.test\_payment\_method + +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. + + + +## TestPaymentMethod Objects + +```python +class TestPaymentMethod(unittest.TestCase) +``` + +PaymentMethod unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> PaymentMethod +``` + +Test PaymentMethod +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testPaymentMethod + +```python +def testPaymentMethod() +``` + +Test PaymentMethod + + + +# koyeb/api\_async.test.test\_list\_deployment\_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. + + + +## TestListDeploymentEventsReply Objects + +```python +class TestListDeploymentEventsReply(unittest.TestCase) +``` + +ListDeploymentEventsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListDeploymentEventsReply +``` + +Test ListDeploymentEventsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListDeploymentEventsReply + +```python +def testListDeploymentEventsReply() +``` + +Test ListDeploymentEventsReply + + + +# koyeb/api\_async.test.test\_list\_domains\_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. + + + +## TestListDomainsReply Objects + +```python +class TestListDomainsReply(unittest.TestCase) +``` + +ListDomainsReply unit test stubs + + + +#### make\_instance + +```python +def make_instance(include_optional) -> ListDomainsReply +``` + +Test ListDomainsReply +include_optional is a boolean, when False only required +params are included, when True both required and +optional params are included + + + +#### testListDomainsReply + +```python +def testListDomainsReply() +``` + +Test ListDomainsReply + + + +# koyeb/api\_async.rest + +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. + + + +## RESTResponse Objects + +```python +class RESTResponse(io.IOBase) +``` + + + +#### headers + +```python +@property +def headers() +``` + +Returns a CIMultiDictProxy of response headers. + + + +#### getheaders + +```python +def getheaders() +``` + +Returns a CIMultiDictProxy of the response headers; use ``headers`` instead. + + + +#### getheader + +```python +def getheader(name, default=None) +``` + +Returns a given response header; use ``headers`` instead. + + + +## RESTClientObject Objects + +```python +class RESTClientObject() +``` + + + +#### request + +```python +async def request(method, + url, + headers=None, + body=None, + post_params=None, + _request_timeout=None) +``` + +Execute request + +**Arguments**: + +- `method`: http request method +- `url`: http request url +- `headers`: http request headers +- `body`: request json body, for `application/json` +- `post_params`: request post parameters, +`application/x-www-form-urlencoded` +and `multipart/form-data` +- `_request_timeout`: 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. + + + +# koyeb/api\_async.models.port + +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. + + + +## Port Objects + +```python +class Port(BaseModel) +``` + +Port + + + +#### 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 Port 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 Port from a dict + + + +# koyeb/api\_async.models.user\_settings + +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. + + + +## UserSettings Objects + +```python +class UserSettings(BaseModel) +``` + +UserSettings + + + +#### 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 UserSettings 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 UserSettings from a dict + + + +# koyeb/api\_async.models.create\_service + +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. + + + +## CreateService Objects + +```python +class CreateService(BaseModel) +``` + +CreateService + + + +#### 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 CreateService 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 CreateService from a dict + + + +# koyeb/api\_async.models.ksearch\_organization + +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. + + + +## KsearchOrganization Objects + +```python +class KsearchOrganization(BaseModel) +``` + +KsearchOrganization + + + +#### 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 KsearchOrganization 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 KsearchOrganization from a dict + + + +# koyeb/api\_async.models.archive\_deployment\_metadata + +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. + + + +## ArchiveDeploymentMetadata Objects + +```python +class ArchiveDeploymentMetadata(BaseModel) +``` + +ArchiveDeploymentMetadata + + + +#### 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 ArchiveDeploymentMetadata 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 ArchiveDeploymentMetadata from a dict + + + +# koyeb/api\_async.models.o\_auth\_callback\_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. + + + +## OAuthCallbackRequest Objects + +```python +class OAuthCallbackRequest(BaseModel) +``` + +OAuthCallbackRequest + + + +#### 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 OAuthCallbackRequest 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 OAuthCallbackRequest from a dict + + + +# koyeb/api\_async.models.login\_method\_reply\_method + +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. + + + +## LoginMethodReplyMethod Objects + +```python +class LoginMethodReplyMethod(str, Enum) +``` + +LoginMethodReplyMethod + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of LoginMethodReplyMethod from a JSON string + + + +# koyeb/api\_async.models.accept\_organization\_invitation\_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. + + + +## AcceptOrganizationInvitationReply Objects + +```python +class AcceptOrganizationInvitationReply(BaseModel) +``` + +AcceptOrganizationInvitationReply + + + +#### 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 AcceptOrganizationInvitationReply 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 AcceptOrganizationInvitationReply from a dict + + + +# koyeb/api\_async.models.get\_metrics\_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. + + + +## GetMetricsReply Objects + +```python +class GetMetricsReply(BaseModel) +``` + +GetMetricsReply + + + +#### 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 GetMetricsReply 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 GetMetricsReply from a dict + + + +# koyeb/api\_async.models.next\_invoice\_reply\_line + +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. + + + +## NextInvoiceReplyLine Objects + +```python +class NextInvoiceReplyLine(BaseModel) +``` + +NextInvoiceReplyLine + + + +#### 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 NextInvoiceReplyLine 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 NextInvoiceReplyLine from a dict + + + +# koyeb/api\_async.models.google\_protobuf\_null\_value + +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. + + + +## GoogleProtobufNullValue Objects + +```python +class GoogleProtobufNullValue(str, Enum) +``` + +`NullValue` is a singleton enumeration to represent the null value for the `Value` type union. The JSON representation for `NullValue` is JSON `null`. - NULL_VALUE: Null value. + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of GoogleProtobufNullValue from a JSON string + + + +# koyeb/api\_async.models.upsert\_signup\_qualification\_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. + + + +## UpsertSignupQualificationReply Objects + +```python +class UpsertSignupQualificationReply(BaseModel) +``` + +UpsertSignupQualificationReply + + + +#### 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 UpsertSignupQualificationReply 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 UpsertSignupQualificationReply from a dict + + + +# koyeb/api\_async.models.update\_persistent\_volume\_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. + + + +## UpdatePersistentVolumeReply Objects + +```python +class UpdatePersistentVolumeReply(BaseModel) +``` + +UpdatePersistentVolumeReply + + + +#### 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 UpdatePersistentVolumeReply 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 UpdatePersistentVolumeReply from a dict + + + +# koyeb/api\_async.models.get\_instance\_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. + + + +## GetInstanceReply Objects + +```python +class GetInstanceReply(BaseModel) +``` + +GetInstanceReply + + + +#### 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 GetInstanceReply 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 GetInstanceReply from a dict + + + +# koyeb/api\_async.models.buildpack\_builder + +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. + + + +## BuildpackBuilder Objects + +```python +class BuildpackBuilder(BaseModel) +``` + +BuildpackBuilder + + + +#### 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 BuildpackBuilder 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 BuildpackBuilder from a dict + + + +# koyeb/api\_async.models.scaling + +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. + + + +## Scaling Objects + +```python +class Scaling(BaseModel) +``` + +Scaling + + + +#### 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 Scaling 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 Scaling from a dict + + + +# koyeb/api\_async.models.config\_file + +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. + + + +## ConfigFile Objects + +```python +class ConfigFile(BaseModel) +``` + +ConfigFile + + + +#### 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 ConfigFile 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 ConfigFile from a dict + + + +# koyeb/api\_async.models.update\_app + +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. + + + +## UpdateApp Objects + +```python +class UpdateApp(BaseModel) +``` + +UpdateApp + + + +#### 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 UpdateApp 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 UpdateApp from a dict + + + +# koyeb/api\_async.models.azure\_container\_registry\_configuration + +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. + + + +## AzureContainerRegistryConfiguration Objects + +```python +class AzureContainerRegistryConfiguration(BaseModel) +``` + +AzureContainerRegistryConfiguration + + + +#### 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 AzureContainerRegistryConfiguration 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 AzureContainerRegistryConfiguration from a dict + + + +# koyeb/api\_async.models.database\_usage + +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. + + + +## DatabaseUsage Objects + +```python +class DatabaseUsage(BaseModel) +``` + +DatabaseUsage + + + +#### 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 DatabaseUsage 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 DatabaseUsage from a dict + + + +# koyeb/api\_async.models.kgitproxy\_repository + +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. + + + +## KgitproxyRepository Objects + +```python +class KgitproxyRepository(BaseModel) +``` + +KgitproxyRepository + + + +#### 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 KgitproxyRepository 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 KgitproxyRepository from a dict + + + +# koyeb/api\_async.models.deployment\_provisioning\_info\_stage + +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. + + + +## DeploymentProvisioningInfoStage Objects + +```python +class DeploymentProvisioningInfoStage(BaseModel) +``` + +DeploymentProvisioningInfoStage + + + +#### 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 DeploymentProvisioningInfoStage 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 DeploymentProvisioningInfoStage from a dict + + + +# koyeb/api\_async.models.get\_deployment\_scaling\_reply\_item + +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. + + + +## GetDeploymentScalingReplyItem Objects + +```python +class GetDeploymentScalingReplyItem(BaseModel) +``` + +GetDeploymentScalingReplyItem + + + +#### 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 GetDeploymentScalingReplyItem 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 GetDeploymentScalingReplyItem from a dict + + + +# koyeb/api\_async.models.instance + +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. + + + +## Instance Objects + +```python +class Instance(BaseModel) +``` + +Instance + + + +#### 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 Instance 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 Instance from a dict + + + +# koyeb/api\_async.models.trigger\_deployment\_metadata\_trigger\_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. + + + +## TriggerDeploymentMetadataTriggerType Objects + +```python +class TriggerDeploymentMetadataTriggerType(str, Enum) +``` + +TriggerDeploymentMetadataTriggerType + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of TriggerDeploymentMetadataTriggerType from a JSON string + + + +# koyeb/api\_async.models.update\_user\_request\_user\_update\_body + +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. + + + +## UpdateUserRequestUserUpdateBody Objects + +```python +class UpdateUserRequestUserUpdateBody(BaseModel) +``` + +UpdateUserRequestUserUpdateBody + + + +#### 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 UpdateUserRequestUserUpdateBody 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 UpdateUserRequestUserUpdateBody from a dict + + + +# koyeb/api\_async.models.autocomplete\_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. + + + +## AutocompleteReply Objects + +```python +class AutocompleteReply(BaseModel) +``` + +AutocompleteReply + + + +#### 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 AutocompleteReply 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 AutocompleteReply from a dict + + + +# koyeb/api\_async.models.deployment\_scaling\_target\_concurrent\_requests + +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. + + + +## DeploymentScalingTargetConcurrentRequests Objects + +```python +class DeploymentScalingTargetConcurrentRequests(BaseModel) +``` + +DeploymentScalingTargetConcurrentRequests + + + +#### 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 DeploymentScalingTargetConcurrentRequests 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 DeploymentScalingTargetConcurrentRequests from a dict + + + +# koyeb/api\_async.models.deployment\_definition\_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. + + + +## DeploymentDefinitionType Objects + +```python +class DeploymentDefinitionType(str, Enum) +``` + +DeploymentDefinitionType + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of DeploymentDefinitionType from a JSON string + + + +# koyeb/api\_async.models.service + +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. + + + +## Service Objects + +```python +class Service(BaseModel) +``` + +Service + + + +#### 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 Service 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 Service from a dict + + + +# koyeb/api\_async.models.plan + +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. + + + +## Plan Objects + +```python +class Plan(str, Enum) +``` + +Plan + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of Plan from a JSON string + + + +# koyeb/api\_async.models.user + +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. + + + +## User Objects + +```python +class User(BaseModel) +``` + +User + + + +#### 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 User 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 User from a dict + + + +# koyeb/api\_async.models.list\_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. + + + +## ListSnapshotsReply Objects + +```python +class ListSnapshotsReply(BaseModel) +``` + +ListSnapshotsReply + + + +#### 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 ListSnapshotsReply 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 ListSnapshotsReply from a dict + + + +# koyeb/api\_async.models.canny\_auth\_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. + + + +## CannyAuthReply Objects + +```python +class CannyAuthReply(BaseModel) +``` + +CannyAuthReply + + + +#### 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 CannyAuthReply 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 CannyAuthReply from a dict + + + +# koyeb/api\_async.models.deployment\_database\_info + +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. + + + +## DeploymentDatabaseInfo Objects + +```python +class DeploymentDatabaseInfo(BaseModel) +``` + +DeploymentDatabaseInfo + + + +#### 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 DeploymentDatabaseInfo 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 DeploymentDatabaseInfo from a dict + + + +# koyeb/api\_async.models.discourse\_auth\_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. + + + +## DiscourseAuthRequest Objects + +```python +class DiscourseAuthRequest(BaseModel) +``` + +DiscourseAuthRequest + + + +#### 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 DiscourseAuthRequest 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 DiscourseAuthRequest from a dict + + + +# koyeb/api\_async.models.deployment\_list\_item + +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. + + + +## DeploymentListItem Objects + +```python +class DeploymentListItem(BaseModel) +``` + +DeploymentListItem + + + +#### 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 DeploymentListItem 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 DeploymentListItem from a dict + + + +# koyeb/api\_async.models.update\_organization\_default\_project\_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. + + + +## UpdateOrganizationDefaultProjectRequest Objects + +```python +class UpdateOrganizationDefaultProjectRequest(BaseModel) +``` + +UpdateOrganizationDefaultProjectRequest + + + +#### 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 UpdateOrganizationDefaultProjectRequest 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 UpdateOrganizationDefaultProjectRequest from a dict + + + +# koyeb/api\_async.models.get\_quotas\_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. + + + +## GetQuotasReply Objects + +```python +class GetQuotasReply(BaseModel) +``` + +GetQuotasReply + + + +#### 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 GetQuotasReply 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 GetQuotasReply from a dict + + + +# koyeb/api\_async.models.neon\_postgres\_database\_neon\_database + +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. + + + +## NeonPostgresDatabaseNeonDatabase Objects + +```python +class NeonPostgresDatabaseNeonDatabase(BaseModel) +``` + +NeonPostgresDatabaseNeonDatabase + + + +#### 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 NeonPostgresDatabaseNeonDatabase 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 NeonPostgresDatabaseNeonDatabase from a dict + + + +# koyeb/api\_async.models.get\_organization\_usage\_details\_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. + + + +## GetOrganizationUsageDetailsReply Objects + +```python +class GetOrganizationUsageDetailsReply(BaseModel) +``` + +GetOrganizationUsageDetailsReply + + + +#### 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 GetOrganizationUsageDetailsReply 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 GetOrganizationUsageDetailsReply from a dict + + + +# koyeb/api\_async.models.activity\_list + +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. + + + +## ActivityList Objects + +```python +class ActivityList(BaseModel) +``` + +ActivityList + + + +#### 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 ActivityList 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 ActivityList from a dict + + + +# koyeb/api\_async.models.get\_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. + + + +## GetSnapshotReply Objects + +```python +class GetSnapshotReply(BaseModel) +``` + +GetSnapshotReply + + + +#### 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 GetSnapshotReply 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 GetSnapshotReply from a dict + + + +# koyeb/api\_async.models.check\_coupon\_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. + + + +## CheckCouponReply Objects + +```python +class CheckCouponReply(BaseModel) +``` + +CheckCouponReply + + + +#### 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 CheckCouponReply 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 CheckCouponReply from a dict + + + +# koyeb/api\_async.models.instance\_list\_item + +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. + + + +## InstanceListItem Objects + +```python +class InstanceListItem(BaseModel) +``` + +InstanceListItem + + + +#### 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 InstanceListItem 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 InstanceListItem from a dict + + + +# koyeb/api\_async.models.create\_app + +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. + + + +## CreateApp Objects + +```python +class CreateApp(BaseModel) +``` + +CreateApp + + + +#### 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 CreateApp 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 CreateApp from a dict + + + +# koyeb/api\_async.models.get\_app\_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. + + + +## GetAppReply Objects + +```python +class GetAppReply(BaseModel) +``` + +GetAppReply + + + +#### 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 GetAppReply 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 GetAppReply from a dict + + + +# koyeb/api\_async.models.docker\_source + +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. + + + +## DockerSource Objects + +```python +class DockerSource(BaseModel) +``` + +DockerSource + + + +#### 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 DockerSource 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 DockerSource from a dict + + + +# koyeb/api\_async.models.security\_policies + +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. + + + +## SecurityPolicies Objects + +```python +class SecurityPolicies(BaseModel) +``` + +SecurityPolicies + + + +#### 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 SecurityPolicies 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 SecurityPolicies from a dict + + + +# koyeb/api\_async.models.kgitproxy\_git\_hub\_repository + +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. + + + +## KgitproxyGitHubRepository Objects + +```python +class KgitproxyGitHubRepository(BaseModel) +``` + +KgitproxyGitHubRepository + + + +#### 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 KgitproxyGitHubRepository 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 KgitproxyGitHubRepository from a dict + + + +# koyeb/api\_async.models.neon\_postgres\_summary + +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. + + + +## NeonPostgresSummary Objects + +```python +class NeonPostgresSummary(BaseModel) +``` + +NeonPostgresSummary + + + +#### 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 NeonPostgresSummary 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 NeonPostgresSummary from a dict + + + +# koyeb/api\_async.models.app\_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. + + + +## AppStatus Objects + +```python +class AppStatus(str, Enum) +``` + +AppStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of AppStatus from a JSON string + + + +# koyeb/api\_async.models.auto\_release\_group + +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. + + + +## AutoReleaseGroup Objects + +```python +class AutoReleaseGroup(BaseModel) +``` + +AutoReleaseGroup + + + +#### 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 AutoReleaseGroup 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 AutoReleaseGroup from a dict + + + +# koyeb/api\_async.models.list\_instance\_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. + + + +## ListInstanceEventsReply Objects + +```python +class ListInstanceEventsReply(BaseModel) +``` + +ListInstanceEventsReply + + + +#### 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 ListInstanceEventsReply 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 ListInstanceEventsReply from a dict + + + +# koyeb/api\_async.models.get\_user\_organization\_invitation\_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. + + + +## GetUserOrganizationInvitationReply Objects + +```python +class GetUserOrganizationInvitationReply(BaseModel) +``` + +GetUserOrganizationInvitationReply + + + +#### 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 GetUserOrganizationInvitationReply 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 GetUserOrganizationInvitationReply from a dict + + + +# koyeb/api\_async.models.exec\_command\_request\_id\_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. + + + +## ExecCommandRequestIdType Objects + +```python +class ExecCommandRequestIdType(str, Enum) +``` + +ExecCommandRequestIdType + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of ExecCommandRequestIdType from a JSON string + + + +# koyeb/api\_async.models.deployment\_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. + + + +## DeploymentEvent Objects + +```python +class DeploymentEvent(BaseModel) +``` + +DeploymentEvent + + + +#### 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 DeploymentEvent 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 DeploymentEvent from a dict + + + +# koyeb/api\_async.models.create\_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. + + + +## CreateSnapshotRequest Objects + +```python +class CreateSnapshotRequest(BaseModel) +``` + +CreateSnapshotRequest + + + +#### 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 CreateSnapshotRequest 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 CreateSnapshotRequest from a dict + + + +# koyeb/api\_async.models.payment\_method\_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. + + + +## PaymentMethodStatus Objects + +```python +class PaymentMethodStatus(str, Enum) +``` + +PaymentMethodStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of PaymentMethodStatus from a JSON string + + + +# koyeb/api\_async.models.token + +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. + + + +## Token Objects + +```python +class Token(BaseModel) +``` + +Token + + + +#### 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 Token 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 Token from a dict + + + +# koyeb/api\_async.models.deployment\_proxy\_port + +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. + + + +## DeploymentProxyPort Objects + +```python +class DeploymentProxyPort(BaseModel) +``` + +DeploymentProxyPort + + + +#### 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 DeploymentProxyPort 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 DeploymentProxyPort from a dict + + + +# koyeb/api\_async.models.list\_domains\_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. + + + +## ListDomainsReply Objects + +```python +class ListDomainsReply(BaseModel) +``` + +ListDomainsReply + + + +#### 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 ListDomainsReply 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 ListDomainsReply from a dict + + + +# koyeb/api\_async.models.deployment\_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. + + + +## DeploymentStatus Objects + +```python +class DeploymentStatus(str, Enum) +``` + +DeploymentStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of DeploymentStatus from a JSON string + + + +# koyeb/api\_async.models.env + +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. + + + +## Env Objects + +```python +class Env(BaseModel) +``` + +Env + + + +#### 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 Env 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 Env from a dict + + + +# koyeb/api\_async.models.update\_secret\_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. + + + +## UpdateSecretReply Objects + +```python +class UpdateSecretReply(BaseModel) +``` + +UpdateSecretReply + + + +#### 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 UpdateSecretReply 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 UpdateSecretReply from a dict + + + +# koyeb/api\_async.models.list\_app\_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. + + + +## ListAppEventsReply Objects + +```python +class ListAppEventsReply(BaseModel) +``` + +ListAppEventsReply + + + +#### 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 ListAppEventsReply 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 ListAppEventsReply from a dict + + + +# koyeb/api\_async.models.instance\_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. + + + +## InstanceStatus Objects + +```python +class InstanceStatus(str, Enum) +``` + +InstanceStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of InstanceStatus from a JSON string + + + +# koyeb/api\_async.models.get\_regional\_deployment\_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. + + + +## GetRegionalDeploymentReply Objects + +```python +class GetRegionalDeploymentReply(BaseModel) +``` + +GetRegionalDeploymentReply + + + +#### 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 GetRegionalDeploymentReply 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 GetRegionalDeploymentReply from a dict + + + +# koyeb/api\_async.models.create\_compose + +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. + + + +## CreateCompose Objects + +```python +class CreateCompose(BaseModel) +``` + +CreateCompose + + + +#### 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 CreateCompose 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 CreateCompose from a dict + + + +# koyeb/api\_async.models.payment\_method + +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. + + + +## PaymentMethod Objects + +```python +class PaymentMethod(BaseModel) +``` + +PaymentMethod + + + +#### 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 PaymentMethod 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 PaymentMethod from a dict + + + +# koyeb/api\_async.models.persistent\_volume\_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. + + + +## PersistentVolumeEvent Objects + +```python +class PersistentVolumeEvent(BaseModel) +``` + +PersistentVolumeEvent + + + +#### 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 PersistentVolumeEvent 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 PersistentVolumeEvent from a dict + + + +# koyeb/api\_async.models.service\_summary + +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. + + + +## ServiceSummary Objects + +```python +class ServiceSummary(BaseModel) +``` + +ServiceSummary + + + +#### 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 ServiceSummary 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 ServiceSummary from a dict + + + +# koyeb/api\_async.models.error + +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. + + + +## Error Objects + +```python +class Error(BaseModel) +``` + +Error + + + +#### 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 Error 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 Error from a dict + + + +# koyeb/api\_async.models.upsert\_signup\_qualification\_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. + + + +## UpsertSignupQualificationRequest Objects + +```python +class UpsertSignupQualificationRequest(BaseModel) +``` + +UpsertSignupQualificationRequest + + + +#### 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 UpsertSignupQualificationRequest 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 UpsertSignupQualificationRequest from a dict + + + +# koyeb/api\_async.models.exec\_command\_request\_terminal\_size + +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. + + + +## ExecCommandRequestTerminalSize Objects + +```python +class ExecCommandRequestTerminalSize(BaseModel) +``` + +ExecCommandRequestTerminalSize + + + +#### 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 ExecCommandRequestTerminalSize 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 ExecCommandRequestTerminalSize from a dict + + + +# koyeb/api\_async.models.list\_user\_organizations\_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. + + + +## ListUserOrganizationsReply Objects + +```python +class ListUserOrganizationsReply(BaseModel) +``` + +ListUserOrganizationsReply + + + +#### 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 ListUserOrganizationsReply 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 ListUserOrganizationsReply from a dict + + + +# koyeb/api\_async.models.deployment\_env + +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. + + + +## DeploymentEnv Objects + +```python +class DeploymentEnv(BaseModel) +``` + +DeploymentEnv + + + +#### 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 DeploymentEnv 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 DeploymentEnv from a dict + + + +# koyeb/api\_async.models.update\_user\_settings\_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. + + + +## UpdateUserSettingsReply Objects + +```python +class UpdateUserSettingsReply(BaseModel) +``` + +UpdateUserSettingsReply + + + +#### 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 UpdateUserSettingsReply 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 UpdateUserSettingsReply from a dict + + + +# koyeb/api\_async.models.subscription + +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. + + + +## Subscription Objects + +```python +class Subscription(BaseModel) +``` + +Subscription + + + +#### 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 Subscription 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 Subscription from a dict + + + +# koyeb/api\_async.models.deployment + +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. + + + +## Deployment Objects + +```python +class Deployment(BaseModel) +``` + +Deployment + + + +#### 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 Deployment 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 Deployment from a dict + + + +# koyeb/api\_async.models.catalog\_instance + +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. + + + +## CatalogInstance Objects + +```python +class CatalogInstance(BaseModel) +``` + +CatalogInstance + + + +#### 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 CatalogInstance 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 CatalogInstance from a dict + + + +# koyeb/api\_async.models.resend\_organization\_invitation\_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. + + + +## ResendOrganizationInvitationReply Objects + +```python +class ResendOrganizationInvitationReply(BaseModel) +``` + +ResendOrganizationInvitationReply + + + +#### 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 ResendOrganizationInvitationReply 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 ResendOrganizationInvitationReply from a dict + + + +# koyeb/api\_async.models.domain + +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. + + + +## Domain Objects + +```python +class Domain(BaseModel) +``` + +Domain + + + +#### 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 Domain 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 Domain from a dict + + + +# koyeb/api\_async.models.update\_organization\_default\_project\_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. + + + +## UpdateOrganizationDefaultProjectReply Objects + +```python +class UpdateOrganizationDefaultProjectReply(BaseModel) +``` + +UpdateOrganizationDefaultProjectReply + + + +#### 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 UpdateOrganizationDefaultProjectReply 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 UpdateOrganizationDefaultProjectReply from a dict + + + +# koyeb/api\_async.models.organization\_member + +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. + + + +## OrganizationMember Objects + +```python +class OrganizationMember(BaseModel) +``` + +OrganizationMember + + + +#### 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 OrganizationMember 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 OrganizationMember from a dict + + + +# koyeb/api\_async.models.neon\_postgres\_database + +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. + + + +## NeonPostgresDatabase Objects + +```python +class NeonPostgresDatabase(BaseModel) +``` + +NeonPostgresDatabase + + + +#### 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 NeonPostgresDatabase 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 NeonPostgresDatabase from a dict + + + +# koyeb/api\_async.models.decline\_organization\_invitation\_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. + + + +## DeclineOrganizationInvitationReply Objects + +```python +class DeclineOrganizationInvitationReply(BaseModel) +``` + +DeclineOrganizationInvitationReply + + + +#### 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 DeclineOrganizationInvitationReply 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 DeclineOrganizationInvitationReply from a dict + + + +# koyeb/api\_async.models.review\_organization\_capacity\_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. + + + +## ReviewOrganizationCapacityRequest Objects + +```python +class ReviewOrganizationCapacityRequest(BaseModel) +``` + +ReviewOrganizationCapacityRequest + + + +#### 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 ReviewOrganizationCapacityRequest 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 ReviewOrganizationCapacityRequest from a dict + + + +# koyeb/api\_async.models.app\_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. + + + +## AppEvent Objects + +```python +class AppEvent(BaseModel) +``` + +AppEvent + + + +#### 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 AppEvent 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 AppEvent from a dict + + + +# koyeb/api\_async.models.object + +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. + + + +## Object Objects + +```python +class Object(BaseModel) +``` + +Object + + + +#### 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 Object 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 Object from a dict + + + +# koyeb/api\_async.models.region\_usage + +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. + + + +## RegionUsage Objects + +```python +class RegionUsage(BaseModel) +``` + +RegionUsage + + + +#### 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 RegionUsage 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 RegionUsage from a dict + + + +# koyeb/api\_async.models.update\_service + +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. + + + +## UpdateService Objects + +```python +class UpdateService(BaseModel) +``` + +UpdateService + + + +#### 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 UpdateService 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 UpdateService from a dict + + + +# koyeb/api\_async.models.archive\_source + +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. + + + +## ArchiveSource Objects + +```python +class ArchiveSource(BaseModel) +``` + +ArchiveSource + + + +#### 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 ArchiveSource 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 ArchiveSource from a dict + + + +# koyeb/api\_async.models.regional\_deployment\_list\_item + +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. + + + +## RegionalDeploymentListItem Objects + +```python +class RegionalDeploymentListItem(BaseModel) +``` + +RegionalDeploymentListItem + + + +#### 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 RegionalDeploymentListItem 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 RegionalDeploymentListItem from a dict + + + +# koyeb/api\_async.models.git\_env\_deployment\_metadata + +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. + + + +## GitEnvDeploymentMetadata Objects + +```python +class GitEnvDeploymentMetadata(BaseModel) +``` + +GitEnvDeploymentMetadata + + + +#### 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 GitEnvDeploymentMetadata 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 GitEnvDeploymentMetadata from a dict + + + +# koyeb/api\_async.models.o\_auth\_provider + +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. + + + +## OAuthProvider Objects + +```python +class OAuthProvider(BaseModel) +``` + +OAuthProvider + + + +#### 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 OAuthProvider 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 OAuthProvider from a dict + + + +# koyeb/api\_async.models.list\_deployment\_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. + + + +## ListDeploymentEventsReply Objects + +```python +class ListDeploymentEventsReply(BaseModel) +``` + +ListDeploymentEventsReply + + + +#### 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 ListDeploymentEventsReply 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 ListDeploymentEventsReply from a dict + + + +# koyeb/api\_async.models.get\_catalog\_instance\_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. + + + +## GetCatalogInstanceReply Objects + +```python +class GetCatalogInstanceReply(BaseModel) +``` + +GetCatalogInstanceReply + + + +#### 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 GetCatalogInstanceReply 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 GetCatalogInstanceReply from a dict + + + +# koyeb/api\_async.models.database\_usage\_details + +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. + + + +## DatabaseUsageDetails Objects + +```python +class DatabaseUsageDetails(BaseModel) +``` + +DatabaseUsageDetails + + + +#### 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 DatabaseUsageDetails 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 DatabaseUsageDetails from a dict + + + +# koyeb/api\_async.models.ksearch\_service + +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. + + + +## KsearchService Objects + +```python +class KsearchService(BaseModel) +``` + +KsearchService + + + +#### 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 KsearchService 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 KsearchService from a dict + + + +# koyeb/api\_async.models.invite\_user\_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. + + + +## InviteUserRequest Objects + +```python +class InviteUserRequest(BaseModel) +``` + +InviteUserRequest + + + +#### 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 InviteUserRequest 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 InviteUserRequest from a dict + + + +# koyeb/api\_async.models.persistent\_volume\_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. + + + +## PersistentVolumeStatus Objects + +```python +class PersistentVolumeStatus(str, Enum) +``` + +PersistentVolumeStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of PersistentVolumeStatus from a JSON string + + + +# koyeb/api\_async.models.organization + +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. + + + +## Organization Objects + +```python +class Organization(BaseModel) +``` + +Organization + + + +#### 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 Organization 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 Organization from a dict + + + +# koyeb/api\_async.models.create\_credential + +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. + + + +## CreateCredential Objects + +```python +class CreateCredential(BaseModel) +``` + +CreateCredential + + + +#### 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 CreateCredential 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 CreateCredential from a dict + + + +# koyeb/api\_async.models.query\_logs\_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. + + + +## QueryLogsReply Objects + +```python +class QueryLogsReply(BaseModel) +``` + +QueryLogsReply + + + +#### 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 QueryLogsReply 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 QueryLogsReply from a dict + + + +# koyeb/api\_async.models.update\_user\_settings\_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. + + + +## UpdateUserSettingsRequest Objects + +```python +class UpdateUserSettingsRequest(BaseModel) +``` + +UpdateUserSettingsRequest + + + +#### 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 UpdateUserSettingsRequest 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 UpdateUserSettingsRequest from a dict + + + +# koyeb/api\_async.models.user\_role\_role + +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. + + + +## UserRoleRole Objects + +```python +class UserRoleRole(str, Enum) +``` + +UserRoleRole + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of UserRoleRole from a JSON string + + + +# koyeb/api\_async.models.list\_service\_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. + + + +## ListServiceEventsReply Objects + +```python +class ListServiceEventsReply(BaseModel) +``` + +ListServiceEventsReply + + + +#### 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 ListServiceEventsReply 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 ListServiceEventsReply from a dict + + + +# koyeb/api\_async.models.deployment\_provisioning\_info\_stage\_build\_attempt\_build\_step + +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. + + + +## DeploymentProvisioningInfoStageBuildAttemptBuildStep Objects + +```python +class DeploymentProvisioningInfoStageBuildAttemptBuildStep(BaseModel) +``` + +DeploymentProvisioningInfoStageBuildAttemptBuildStep + + + +#### 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 DeploymentProvisioningInfoStageBuildAttemptBuildStep 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 DeploymentProvisioningInfoStageBuildAttemptBuildStep from a dict + + + +# koyeb/api\_async.models.list\_deployments\_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. + + + +## ListDeploymentsReply Objects + +```python +class ListDeploymentsReply(BaseModel) +``` + +ListDeploymentsReply + + + +#### 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 ListDeploymentsReply 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 ListDeploymentsReply from a dict + + + +# koyeb/api\_async.models.list\_organization\_invitations\_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. + + + +## ListOrganizationInvitationsReply Objects + +```python +class ListOrganizationInvitationsReply(BaseModel) +``` + +ListOrganizationInvitationsReply + + + +#### 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 ListOrganizationInvitationsReply 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 ListOrganizationInvitationsReply from a dict + + + +# koyeb/api\_async.models.get\_persistent\_volume\_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. + + + +## GetPersistentVolumeReply Objects + +```python +class GetPersistentVolumeReply(BaseModel) +``` + +GetPersistentVolumeReply + + + +#### 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 GetPersistentVolumeReply 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 GetPersistentVolumeReply from a dict + + + +# koyeb/api\_async.models.service\_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. + + + +## ServiceStatus Objects + +```python +class ServiceStatus(str, Enum) +``` + +ServiceStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of ServiceStatus from a JSON string + + + +# koyeb/api\_async.models.redeploy\_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. + + + +## RedeployReply Objects + +```python +class RedeployReply(BaseModel) +``` + +RedeployReply + + + +#### 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 RedeployReply 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 RedeployReply from a dict + + + +# koyeb/api\_async.models.persistent\_volume\_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. + + + +## PersistentVolumeQuotas Objects + +```python +class PersistentVolumeQuotas(BaseModel) +``` + +PersistentVolumeQuotas + + + +#### 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 PersistentVolumeQuotas 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 PersistentVolumeQuotas from a dict + + + +# koyeb/api\_async.models.notification + +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. + + + +## Notification Objects + +```python +class Notification(BaseModel) +``` + +Notification + + + +#### 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 Notification 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 Notification from a dict + + + +# koyeb/api\_async.models.budget + +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. + + + +## Budget Objects + +```python +class Budget(BaseModel) +``` + +Budget + + + +#### 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 Budget 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 Budget from a dict + + + +# koyeb/api\_async.models.region + +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. + + + +## Region Objects + +```python +class Region(BaseModel) +``` + +Region + + + +#### 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 Region 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 Region from a dict + + + +# koyeb/api\_async.models.create\_account\_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. + + + +## CreateAccountRequest Objects + +```python +class CreateAccountRequest(BaseModel) +``` + +Create new account + + + +#### 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 CreateAccountRequest 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 CreateAccountRequest from a dict + + + +# koyeb/api\_async.models.list\_datacenters\_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. + + + +## ListDatacentersReply Objects + +```python +class ListDatacentersReply(BaseModel) +``` + +ListDatacentersReply + + + +#### 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 ListDatacentersReply 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 ListDatacentersReply from a dict + + + +# koyeb/api\_async.models.kgitproxy\_github\_installation\_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. + + + +## KgitproxyGithubInstallationStatus Objects + +```python +class KgitproxyGithubInstallationStatus(str, Enum) +``` + +KgitproxyGithubInstallationStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of KgitproxyGithubInstallationStatus from a JSON string + + + +# koyeb/api\_async.models.delete\_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. + + + +## DeleteSnapshotReply Objects + +```python +class DeleteSnapshotReply(BaseModel) +``` + +DeleteSnapshotReply + + + +#### 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 DeleteSnapshotReply 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 DeleteSnapshotReply from a dict + + + +# koyeb/api\_async.models.digital\_ocean\_registry\_configuration + +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. + + + +## DigitalOceanRegistryConfiguration Objects + +```python +class DigitalOceanRegistryConfiguration(BaseModel) +``` + +DigitalOceanRegistryConfiguration + + + +#### 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 DigitalOceanRegistryConfiguration 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 DigitalOceanRegistryConfiguration from a dict + + + +# koyeb/api\_async.models.list\_user\_organization\_invitations\_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. + + + +## ListUserOrganizationInvitationsReply Objects + +```python +class ListUserOrganizationInvitationsReply(BaseModel) +``` + +ListUserOrganizationInvitationsReply + + + +#### 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 ListUserOrganizationInvitationsReply 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 ListUserOrganizationInvitationsReply from a dict + + + +# koyeb/api\_async.models.deployment\_scaling\_target\_requests\_per\_second + +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. + + + +## DeploymentScalingTargetRequestsPerSecond Objects + +```python +class DeploymentScalingTargetRequestsPerSecond(BaseModel) +``` + +DeploymentScalingTargetRequestsPerSecond + + + +#### 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 DeploymentScalingTargetRequestsPerSecond 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 DeploymentScalingTargetRequestsPerSecond from a dict + + + +# koyeb/api\_async.models.database\_role\_password + +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. + + + +## DatabaseRolePassword Objects + +```python +class DatabaseRolePassword(BaseModel) +``` + +DatabaseRolePassword + + + +#### 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 DatabaseRolePassword 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 DatabaseRolePassword from a dict + + + +# koyeb/api\_async.models.create\_secret\_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. + + + +## CreateSecretReply Objects + +```python +class CreateSecretReply(BaseModel) +``` + +CreateSecretReply + + + +#### 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 CreateSecretReply 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 CreateSecretReply from a dict + + + +# koyeb/api\_async.models.ksearch\_app + +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. + + + +## KsearchApp Objects + +```python +class KsearchApp(BaseModel) +``` + +KsearchApp + + + +#### 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 KsearchApp 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 KsearchApp from a dict + + + +# koyeb/api\_async.models.route + +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. + + + +## Route Objects + +```python +class Route(BaseModel) +``` + +Route + + + +#### 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 Route 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 Route from a dict + + + +# koyeb/api\_async.models.list\_secrets\_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. + + + +## ListSecretsReply Objects + +```python +class ListSecretsReply(BaseModel) +``` + +ListSecretsReply + + + +#### 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 ListSecretsReply 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 ListSecretsReply from a dict + + + +# koyeb/api\_async.models.ksearch\_instance + +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. + + + +## KsearchInstance Objects + +```python +class KsearchInstance(BaseModel) +``` + +KsearchInstance + + + +#### 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 KsearchInstance 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 KsearchInstance from a dict + + + +# koyeb/api\_async.models.regional\_deployment\_mesh + +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. + + + +## RegionalDeploymentMesh Objects + +```python +class RegionalDeploymentMesh(str, Enum) +``` + +RegionalDeploymentMesh + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of RegionalDeploymentMesh from a JSON string + + + +# koyeb/api\_async.models.regional\_deployment\_role + +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. + + + +## RegionalDeploymentRole Objects + +```python +class RegionalDeploymentRole(str, Enum) +``` + +RegionalDeploymentRole + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of RegionalDeploymentRole from a JSON string + + + +# koyeb/api\_async.models.instances\_summary + +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. + + + +## InstancesSummary Objects + +```python +class InstancesSummary(BaseModel) +``` + +InstancesSummary + + + +#### 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 InstancesSummary 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 InstancesSummary from a dict + + + +# koyeb/api\_async.models.create\_secret + +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. + + + +## CreateSecret Objects + +```python +class CreateSecret(BaseModel) +``` + +CreateSecret + + + +#### 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 CreateSecret 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 CreateSecret from a dict + + + +# koyeb/api\_async.models.list\_services\_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. + + + +## ListServicesReply Objects + +```python +class ListServicesReply(BaseModel) +``` + +ListServicesReply + + + +#### 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 ListServicesReply 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 ListServicesReply from a dict + + + +# koyeb/api\_async.models.instance\_usage + +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. + + + +## InstanceUsage Objects + +```python +class InstanceUsage(BaseModel) +``` + +InstanceUsage + + + +#### 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 InstanceUsage 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 InstanceUsage from a dict + + + +# koyeb/api\_async.models.app\_list\_item + +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. + + + +## AppListItem Objects + +```python +class AppListItem(BaseModel) +``` + +AppListItem + + + +#### 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 AppListItem 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 AppListItem from a dict + + + +# koyeb/api\_async.models.private\_registry\_configuration + +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. + + + +## PrivateRegistryConfiguration Objects + +```python +class PrivateRegistryConfiguration(BaseModel) +``` + +PrivateRegistryConfiguration + + + +#### 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 PrivateRegistryConfiguration 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 PrivateRegistryConfiguration from a dict + + + +# koyeb/api\_async.models.http\_header + +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. + + + +## HTTPHeader Objects + +```python +class HTTPHeader(BaseModel) +``` + +HTTPHeader + + + +#### 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 HTTPHeader 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 HTTPHeader from a dict + + + +# koyeb/api\_async.models.deployment\_volume + +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. + + + +## DeploymentVolume Objects + +```python +class DeploymentVolume(BaseModel) +``` + +DeploymentVolume + + + +#### 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 DeploymentVolume 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 DeploymentVolume from a dict + + + +# koyeb/api\_async.models.next\_invoice\_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. + + + +## NextInvoiceReply Objects + +```python +class NextInvoiceReply(BaseModel) +``` + +NextInvoiceReply + + + +#### 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 NextInvoiceReply 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 NextInvoiceReply from a dict + + + +# koyeb/api\_async.models.auto\_release + +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. + + + +## AutoRelease Objects + +```python +class AutoRelease(BaseModel) +``` + +AutoRelease + + + +#### 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 AutoRelease 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 AutoRelease from a dict + + + +# koyeb/api\_async.models.usage\_details + +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. + + + +## UsageDetails Objects + +```python +class UsageDetails(BaseModel) +``` + +UsageDetails + + + +#### 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 UsageDetails 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 UsageDetails from a dict + + + +# koyeb/api\_async.models.deployment\_scaling\_target\_requests\_response\_time + +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. + + + +## DeploymentScalingTargetRequestsResponseTime Objects + +```python +class DeploymentScalingTargetRequestsResponseTime(BaseModel) +``` + +DeploymentScalingTargetRequestsResponseTime + + + +#### 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 DeploymentScalingTargetRequestsResponseTime 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 DeploymentScalingTargetRequestsResponseTime from a dict + + + +# koyeb/api\_async.models.organization\_invitation\_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. + + + +## OrganizationInvitationStatus Objects + +```python +class OrganizationInvitationStatus(str, Enum) +``` + +OrganizationInvitationStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of OrganizationInvitationStatus from a JSON string + + + +# koyeb/api\_async.models.deployment\_route + +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. + + + +## DeploymentRoute Objects + +```python +class DeploymentRoute(BaseModel) +``` + +DeploymentRoute + + + +#### 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 DeploymentRoute 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 DeploymentRoute from a dict + + + +# koyeb/api\_async.models.login\_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. + + + +## LoginRequest Objects + +```python +class LoginRequest(BaseModel) +``` + +LoginRequest + + + +#### 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 LoginRequest 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 LoginRequest from a dict + + + +# koyeb/api\_async.models.update\_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. + + + +## UpdateSnapshotRequest Objects + +```python +class UpdateSnapshotRequest(BaseModel) +``` + +UpdateSnapshotRequest + + + +#### 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 UpdateSnapshotRequest 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 UpdateSnapshotRequest from a dict + + + +# koyeb/api\_async.models.get\_organization\_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. + + + +## GetOrganizationReply Objects + +```python +class GetOrganizationReply(BaseModel) +``` + +GetOrganizationReply + + + +#### 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 GetOrganizationReply 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 GetOrganizationReply from a dict + + + +# koyeb/api\_async.models.update\_password\_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. + + + +## UpdatePasswordRequest Objects + +```python +class UpdatePasswordRequest(BaseModel) +``` + +UpdatePasswordRequest + + + +#### 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 UpdatePasswordRequest 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 UpdatePasswordRequest from a dict + + + +# koyeb/api\_async.models.service\_life\_cycle + +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. + + + +## ServiceLifeCycle Objects + +```python +class ServiceLifeCycle(BaseModel) +``` + +ServiceLifeCycle + + + +#### 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 ServiceLifeCycle 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 ServiceLifeCycle from a dict + + + +# koyeb/api\_async.models.list\_regional\_deployment\_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. + + + +## ListRegionalDeploymentEventsReply Objects + +```python +class ListRegionalDeploymentEventsReply(BaseModel) +``` + +ListRegionalDeploymentEventsReply + + + +#### 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 ListRegionalDeploymentEventsReply 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 ListRegionalDeploymentEventsReply from a dict + + + +# koyeb/api\_async.models.deactivate\_organization\_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. + + + +## DeactivateOrganizationReply Objects + +```python +class DeactivateOrganizationReply(BaseModel) +``` + +DeactivateOrganizationReply + + + +#### 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 DeactivateOrganizationReply 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 DeactivateOrganizationReply from a dict + + + +# koyeb/api\_async.models.login\_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. + + + +## LoginReply Objects + +```python +class LoginReply(BaseModel) +``` + +LoginReply + + + +#### 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 LoginReply 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 LoginReply from a dict + + + +# koyeb/api\_async.models.update\_organization\_plan\_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. + + + +## UpdateOrganizationPlanReply Objects + +```python +class UpdateOrganizationPlanReply(BaseModel) +``` + +UpdateOrganizationPlanReply + + + +#### 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 UpdateOrganizationPlanReply 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 UpdateOrganizationPlanReply from a dict + + + +# koyeb/api\_async.models.instance\_availability + +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. + + + +## InstanceAvailability Objects + +```python +class InstanceAvailability(BaseModel) +``` + +InstanceAvailability + + + +#### 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 InstanceAvailability 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 InstanceAvailability from a dict + + + +# koyeb/api\_async.models.activity + +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. + + + +## Activity Objects + +```python +class Activity(BaseModel) +``` + +Activity + + + +#### 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 Activity 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 Activity from a dict + + + +# koyeb/api\_async.models.redeem\_coupon\_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. + + + +## RedeemCouponRequest Objects + +```python +class RedeemCouponRequest(BaseModel) +``` + +RedeemCouponRequest + + + +#### 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 RedeemCouponRequest 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 RedeemCouponRequest from a dict + + + +# koyeb/api\_async.models.user\_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. + + + +## UserReply Objects + +```python +class UserReply(BaseModel) +``` + +UserReply + + + +#### 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 UserReply 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 UserReply from a dict + + + +# koyeb/api\_async.models.service\_usage + +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. + + + +## ServiceUsage Objects + +```python +class ServiceUsage(BaseModel) +``` + +ServiceUsage + + + +#### 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 ServiceUsage 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 ServiceUsage from a dict + + + +# koyeb/api\_async.models.get\_service\_scaling\_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. + + + +## GetServiceScalingReply Objects + +```python +class GetServiceScalingReply(BaseModel) +``` + +GetServiceScalingReply + + + +#### 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 GetServiceScalingReply 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 GetServiceScalingReply from a dict + + + +# koyeb/api\_async.models + +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. + + + +# koyeb/api\_async.models.kgitproxy\_repository\_provider + +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. + + + +## KgitproxyRepositoryProvider Objects + +```python +class KgitproxyRepositoryProvider(str, Enum) +``` + +KgitproxyRepositoryProvider + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of KgitproxyRepositoryProvider from a JSON string + + + +# koyeb/api\_async.models.github\_installation\_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. + + + +## GithubInstallationRequest Objects + +```python +class GithubInstallationRequest(BaseModel) +``` + +GithubInstallationRequest + + + +#### 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 GithubInstallationRequest 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 GithubInstallationRequest from a dict + + + +# koyeb/api\_async.models.deployment\_scaling\_target\_average\_mem + +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. + + + +## DeploymentScalingTargetAverageMem Objects + +```python +class DeploymentScalingTargetAverageMem(BaseModel) +``` + +DeploymentScalingTargetAverageMem + + + +#### 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 DeploymentScalingTargetAverageMem 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 DeploymentScalingTargetAverageMem from a dict + + + +# koyeb/api\_async.models.deployment\_scaling\_target\_sleep\_idle\_delay + +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. + + + +## DeploymentScalingTargetSleepIdleDelay Objects + +```python +class DeploymentScalingTargetSleepIdleDelay(BaseModel) +``` + +DeploymentScalingTargetSleepIdleDelay + + + +#### 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 DeploymentScalingTargetSleepIdleDelay 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 DeploymentScalingTargetSleepIdleDelay from a dict + + + +# koyeb/api\_async.models.secrets\_summary + +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. + + + +## SecretsSummary Objects + +```python +class SecretsSummary(BaseModel) +``` + +SecretsSummary + + + +#### 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 SecretsSummary 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 SecretsSummary from a dict + + + +# koyeb/api\_async.models.kgitproxy\_list\_repositories\_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. + + + +## KgitproxyListRepositoriesReply Objects + +```python +class KgitproxyListRepositoriesReply(BaseModel) +``` + +KgitproxyListRepositoriesReply + + + +#### 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 KgitproxyListRepositoriesReply 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 KgitproxyListRepositoriesReply from a dict + + + +# koyeb/api\_async.models.redeploy\_request\_info + +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. + + + +## RedeployRequestInfo Objects + +```python +class RedeployRequestInfo(BaseModel) +``` + +RedeployRequestInfo + + + +#### 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 RedeployRequestInfo 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 RedeployRequestInfo from a dict + + + +# koyeb/api\_async.models.ktest\_test\_auth\_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. + + + +## KtestTestAuthRequest Objects + +```python +class KtestTestAuthRequest(BaseModel) +``` + +KtestTestAuthRequest + + + +#### 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 KtestTestAuthRequest 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 KtestTestAuthRequest from a dict + + + +# koyeb/api\_async.models.get\_subscription\_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. + + + +## GetSubscriptionReply Objects + +```python +class GetSubscriptionReply(BaseModel) +``` + +GetSubscriptionReply + + + +#### 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 GetSubscriptionReply 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 GetSubscriptionReply from a dict + + + +# koyeb/api\_async.models.organization\_detailed\_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. + + + +## OrganizationDetailedStatus Objects + +```python +class OrganizationDetailedStatus(str, Enum) +``` + +OrganizationDetailedStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of OrganizationDetailedStatus from a JSON string + + + +# koyeb/api\_async.models.next\_invoice\_reply\_line\_price + +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. + + + +## NextInvoiceReplyLinePrice Objects + +```python +class NextInvoiceReplyLinePrice(BaseModel) +``` + +NextInvoiceReplyLinePrice + + + +#### 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 NextInvoiceReplyLinePrice 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 NextInvoiceReplyLinePrice from a dict + + + +# koyeb/api\_async.models.scale\_to\_zero\_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. + + + +## ScaleToZeroQuotas Objects + +```python +class ScaleToZeroQuotas(BaseModel) +``` + +ScaleToZeroQuotas + + + +#### 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 ScaleToZeroQuotas 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 ScaleToZeroQuotas from a dict + + + +# koyeb/api\_async.models.service\_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. + + + +## ServiceType Objects + +```python +class ServiceType(str, Enum) +``` + +ServiceType + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of ServiceType from a JSON string + + + +# koyeb/api\_async.models.get\_secret\_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. + + + +## GetSecretReply Objects + +```python +class GetSecretReply(BaseModel) +``` + +GetSecretReply + + + +#### 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 GetSecretReply 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 GetSecretReply from a dict + + + +# koyeb/api\_async.models.persistent\_volume + +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. + + + +## PersistentVolume Objects + +```python +class PersistentVolume(BaseModel) +``` + +PersistentVolume + + + +#### 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 PersistentVolume 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 PersistentVolume from a dict + + + +# koyeb/api\_async.models.service\_state + +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. + + + +## ServiceState Objects + +```python +class ServiceState(BaseModel) +``` + +ServiceState + + + +#### 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 ServiceState 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 ServiceState from a dict + + + +# koyeb/api\_async.models.login\_method\_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. + + + +## LoginMethodReply Objects + +```python +class LoginMethodReply(BaseModel) +``` + +LoginMethodReply + + + +#### 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 LoginMethodReply 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 LoginMethodReply from a dict + + + +# koyeb/api\_async.models.log\_entry + +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. + + + +## LogEntry Objects + +```python +class LogEntry(BaseModel) +``` + +LogEntry + + + +#### 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 LogEntry 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 LogEntry from a dict + + + +# koyeb/api\_async.models.database\_deployment\_metadata + +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. + + + +## DatabaseDeploymentMetadata Objects + +```python +class DatabaseDeploymentMetadata(BaseModel) +``` + +DatabaseDeploymentMetadata + + + +#### 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 DatabaseDeploymentMetadata 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 DatabaseDeploymentMetadata from a dict + + + +# koyeb/api\_async.models.git\_lab\_registry\_configuration + +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. + + + +## GitLabRegistryConfiguration Objects + +```python +class GitLabRegistryConfiguration(BaseModel) +``` + +GitLabRegistryConfiguration + + + +#### 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 GitLabRegistryConfiguration 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 GitLabRegistryConfiguration from a dict + + + +# koyeb/api\_async.models.delete\_organization\_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. + + + +## DeleteOrganizationReply Objects + +```python +class DeleteOrganizationReply(BaseModel) +``` + +DeleteOrganizationReply + + + +#### 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 DeleteOrganizationReply 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 DeleteOrganizationReply from a dict + + + +# koyeb/api\_async.models.reactivate\_organization\_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. + + + +## ReactivateOrganizationReply Objects + +```python +class ReactivateOrganizationReply(BaseModel) +``` + +ReactivateOrganizationReply + + + +#### 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 ReactivateOrganizationReply 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 ReactivateOrganizationReply from a dict + + + +# koyeb/api\_async.models.domain\_load\_balancer\_koyeb + +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. + + + +## DomainLoadBalancerKoyeb Objects + +```python +class DomainLoadBalancerKoyeb(BaseModel) +``` + +DomainLoadBalancerKoyeb + + + +#### 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 DomainLoadBalancerKoyeb 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 DomainLoadBalancerKoyeb from a dict + + + +# koyeb/api\_async.models.deployment\_definition + +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. + + + +## DeploymentDefinition Objects + +```python +class DeploymentDefinition(BaseModel) +``` + +DeploymentDefinition + + + +#### 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 DeploymentDefinition 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 DeploymentDefinition from a dict + + + +# koyeb/api\_async.models.domain\_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. + + + +## DomainType Objects + +```python +class DomainType(str, Enum) +``` + +DomainType + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of DomainType from a JSON string + + + +# koyeb/api\_async.models.action + +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. + + + +## Action Objects + +```python +class Action(str, Enum) +``` + +Action + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of Action from a JSON string + + + +# koyeb/api\_async.models.update\_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. + + + +## UpdateSnapshotReply Objects + +```python +class UpdateSnapshotReply(BaseModel) +``` + +UpdateSnapshotReply + + + +#### 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 UpdateSnapshotReply 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 UpdateSnapshotReply from a dict + + + +# koyeb/api\_async.models.query\_logs\_reply\_pagination + +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. + + + +## QueryLogsReplyPagination Objects + +```python +class QueryLogsReplyPagination(BaseModel) +``` + +QueryLogsReplyPagination + + + +#### 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 QueryLogsReplyPagination 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 QueryLogsReplyPagination from a dict + + + +# koyeb/api\_async.models.regional\_deployment\_definition\_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. + + + +## RegionalDeploymentDefinitionType Objects + +```python +class RegionalDeploymentDefinitionType(str, Enum) +``` + +RegionalDeploymentDefinitionType + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of RegionalDeploymentDefinitionType from a JSON string + + + +# koyeb/api\_async.models.neon\_postgres\_database\_deployment\_metadata + +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. + + + +## NeonPostgresDatabaseDeploymentMetadata Objects + +```python +class NeonPostgresDatabaseDeploymentMetadata(BaseModel) +``` + +NeonPostgresDatabaseDeploymentMetadata + + + +#### 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 NeonPostgresDatabaseDeploymentMetadata 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 NeonPostgresDatabaseDeploymentMetadata from a dict + + + +# koyeb/api\_async.models.manage\_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. + + + +## ManageReply Objects + +```python +class ManageReply(BaseModel) +``` + +ManageReply + + + +#### 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 ManageReply 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 ManageReply from a dict + + + +# koyeb/api\_async.models.credential\_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. + + + +## CredentialType Objects + +```python +class CredentialType(str, Enum) +``` + +CredentialType + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of CredentialType from a JSON string + + + +# koyeb/api\_async.models.trigger\_deployment\_metadata + +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. + + + +## TriggerDeploymentMetadata Objects + +```python +class TriggerDeploymentMetadata(BaseModel) +``` + +TriggerDeploymentMetadata + + + +#### 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 TriggerDeploymentMetadata 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 TriggerDeploymentMetadata from a dict + + + +# koyeb/api\_async.models.update\_budget\_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. + + + +## UpdateBudgetRequest Objects + +```python +class UpdateBudgetRequest(BaseModel) +``` + +UpdateBudgetRequest + + + +#### 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 UpdateBudgetRequest 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 UpdateBudgetRequest from a dict + + + +# koyeb/api\_async.models.get\_deployment\_scaling\_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. + + + +## GetDeploymentScalingReply Objects + +```python +class GetDeploymentScalingReply(BaseModel) +``` + +GetDeploymentScalingReply + + + +#### 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 GetDeploymentScalingReply 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 GetDeploymentScalingReply from a dict + + + +# koyeb/api\_async.models.deployment\_scaling\_target + +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. + + + +## DeploymentScalingTarget Objects + +```python +class DeploymentScalingTarget(BaseModel) +``` + +DeploymentScalingTarget + + + +#### 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 DeploymentScalingTarget 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 DeploymentScalingTarget from a dict + + + +# koyeb/api\_async.models.update\_persistent\_volume\_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. + + + +## UpdatePersistentVolumeRequest Objects + +```python +class UpdatePersistentVolumeRequest(BaseModel) +``` + +UpdatePersistentVolumeRequest + + + +#### 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 UpdatePersistentVolumeRequest 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 UpdatePersistentVolumeRequest from a dict + + + +# koyeb/api\_async.models.exec\_command\_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. + + + +## ExecCommandReply Objects + +```python +class ExecCommandReply(BaseModel) +``` + +ExecCommandReply + + + +#### 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 ExecCommandReply 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 ExecCommandReply from a dict + + + +# koyeb/api\_async.models.service\_list\_item + +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. + + + +## ServiceListItem Objects + +```python +class ServiceListItem(BaseModel) +``` + +ServiceListItem + + + +#### 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 ServiceListItem 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 ServiceListItem from a dict + + + +# koyeb/api\_async.models.deployment\_provisioning\_info\_stage\_build\_attempt + +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. + + + +## DeploymentProvisioningInfoStageBuildAttempt Objects + +```python +class DeploymentProvisioningInfoStageBuildAttempt(BaseModel) +``` + +DeploymentProvisioningInfoStageBuildAttempt + + + +#### 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 DeploymentProvisioningInfoStageBuildAttempt 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 DeploymentProvisioningInfoStageBuildAttempt from a dict + + + +# koyeb/api\_async.models.update\_organization\_name\_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. + + + +## UpdateOrganizationNameReply Objects + +```python +class UpdateOrganizationNameReply(BaseModel) +``` + +UpdateOrganizationNameReply + + + +#### 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 UpdateOrganizationNameReply 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 UpdateOrganizationNameReply from a dict + + + +# koyeb/api\_async.models.update\_budget\_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. + + + +## UpdateBudgetReply Objects + +```python +class UpdateBudgetReply(BaseModel) +``` + +UpdateBudgetReply + + + +#### 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 UpdateBudgetReply 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 UpdateBudgetReply from a dict + + + +# koyeb/api\_async.models.clear\_idenfy\_verification\_result\_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. + + + +## ClearIdenfyVerificationResultRequest Objects + +```python +class ClearIdenfyVerificationResultRequest(BaseModel) +``` + +ClearIdenfyVerificationResultRequest + + + +#### 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 ClearIdenfyVerificationResultRequest 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 ClearIdenfyVerificationResultRequest from a dict + + + +# koyeb/api\_async.models.create\_organization\_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. + + + +## CreateOrganizationReply Objects + +```python +class CreateOrganizationReply(BaseModel) +``` + +CreateOrganizationReply + + + +#### 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 CreateOrganizationReply 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 CreateOrganizationReply from a dict + + + +# koyeb/api\_async.models.deployment\_strategy\_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. + + + +## DeploymentStrategyType Objects + +```python +class DeploymentStrategyType(str, Enum) +``` + +- DEPLOYMENT_STRATEGY_TYPE_INVALID: DEPRECATED: Use DEPLOYMENT_STRATEGY_TYPE_DEFAULT instead. - DEPLOYMENT_STRATEGY_TYPE_DEFAULT: Default/unspecified strategy (resolves to platform default, currently ROLLING). - DEPLOYMENT_STRATEGY_TYPE_CANARY: Use canary strategy. - DEPLOYMENT_STRATEGY_TYPE_ROLLING: Use rolling strategy. - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN: Use blue green strategy. - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE: Use immediate strategy. + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of DeploymentStrategyType from a JSON string + + + +# koyeb/api\_async.models.git\_hub\_registry\_configuration + +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. + + + +## GitHubRegistryConfiguration Objects + +```python +class GitHubRegistryConfiguration(BaseModel) +``` + +GitHubRegistryConfiguration + + + +#### 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 GitHubRegistryConfiguration 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 GitHubRegistryConfiguration from a dict + + + +# koyeb/api\_async.models.deployment\_strategy + +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. + + + +## DeploymentStrategy Objects + +```python +class DeploymentStrategy(BaseModel) +``` + +DeploymentStrategy + + + +#### 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 DeploymentStrategy 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 DeploymentStrategy from a dict + + + +# koyeb/api\_async.models.basic\_auth\_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. + + + +## BasicAuthPolicy Objects + +```python +class BasicAuthPolicy(BaseModel) +``` + +BasicAuthPolicy + + + +#### 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 BasicAuthPolicy 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 BasicAuthPolicy from a dict + + + +# koyeb/api\_async.models.deployment\_provisioning\_info\_stage\_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. + + + +## DeploymentProvisioningInfoStageStatus Objects + +```python +class DeploymentProvisioningInfoStageStatus(str, Enum) +``` + +DeploymentProvisioningInfoStageStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of DeploymentProvisioningInfoStageStatus from a JSON string + + + +# koyeb/api\_async.models.update\_domain + +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. + + + +## UpdateDomain Objects + +```python +class UpdateDomain(BaseModel) +``` + +UpdateDomain + + + +#### 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 UpdateDomain 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 UpdateDomain from a dict + + + +# koyeb/api\_async.models.deployment\_scaling + +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. + + + +## DeploymentScaling Objects + +```python +class DeploymentScaling(BaseModel) +``` + +DeploymentScaling + + + +#### 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 DeploymentScaling 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 DeploymentScaling from a dict + + + +# koyeb/api\_async.models.get\_domain\_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. + + + +## GetDomainReply Objects + +```python +class GetDomainReply(BaseModel) +``` + +GetDomainReply + + + +#### 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 GetDomainReply 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 GetDomainReply from a dict + + + +# koyeb/api\_async.models.metric\_name + +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. + + + +## MetricName Objects + +```python +class MetricName(str, Enum) +``` + +MetricName + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of MetricName from a JSON string + + + +# koyeb/api\_async.models.regional\_deployment + +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. + + + +## RegionalDeployment Objects + +```python +class RegionalDeployment(BaseModel) +``` + +RegionalDeployment + + + +#### 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 RegionalDeployment 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 RegionalDeployment from a dict + + + +# koyeb/api\_async.models.secret\_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. + + + +## SecretType Objects + +```python +class SecretType(str, Enum) +``` + +SecretType + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of SecretType from a JSON string + + + +# koyeb/api\_async.models.create\_credential\_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. + + + +## CreateCredentialReply Objects + +```python +class CreateCredentialReply(BaseModel) +``` + +CreateCredentialReply + + + +#### 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 CreateCredentialReply 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 CreateCredentialReply from a dict + + + +# koyeb/api\_async.models.regional\_deployment\_volume + +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. + + + +## RegionalDeploymentVolume Objects + +```python +class RegionalDeploymentVolume(BaseModel) +``` + +RegionalDeploymentVolume + + + +#### 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 RegionalDeploymentVolume 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 RegionalDeploymentVolume from a dict + + + +# koyeb/api\_async.models.has\_unpaid\_invoices\_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. + + + +## HasUnpaidInvoicesReply Objects + +```python +class HasUnpaidInvoicesReply(BaseModel) +``` + +HasUnpaidInvoicesReply + + + +#### 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 HasUnpaidInvoicesReply 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 HasUnpaidInvoicesReply from a dict + + + +# koyeb/api\_async.models.create\_payment\_authorization\_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. + + + +## CreatePaymentAuthorizationReply Objects + +```python +class CreatePaymentAuthorizationReply(BaseModel) +``` + +CreatePaymentAuthorizationReply + + + +#### 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 CreatePaymentAuthorizationReply 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 CreatePaymentAuthorizationReply from a dict + + + +# koyeb/api\_async.models.get\_idenfy\_token\_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. + + + +## GetIdenfyTokenReply Objects + +```python +class GetIdenfyTokenReply(BaseModel) +``` + +GetIdenfyTokenReply + + + +#### 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 GetIdenfyTokenReply 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 GetIdenfyTokenReply from a dict + + + +# koyeb/api\_async.models.proxy\_port\_protocol + +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. + + + +## ProxyPortProtocol Objects + +```python +class ProxyPortProtocol(str, Enum) +``` + +ProxyPortProtocol + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of ProxyPortProtocol from a JSON string + + + +# koyeb/api\_async.models.subscription\_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. + + + +## SubscriptionStatus Objects + +```python +class SubscriptionStatus(str, Enum) +``` + +SubscriptionStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of SubscriptionStatus from a JSON string + + + +# koyeb/api\_async.models.period\_usage + +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. + + + +## PeriodUsage Objects + +```python +class PeriodUsage(BaseModel) +``` + +PeriodUsage + + + +#### 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 PeriodUsage 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 PeriodUsage from a dict + + + +# koyeb/api\_async.models.neon\_postgres\_database\_neon\_role + +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. + + + +## NeonPostgresDatabaseNeonRole Objects + +```python +class NeonPostgresDatabaseNeonRole(BaseModel) +``` + +NeonPostgresDatabaseNeonRole + + + +#### 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 NeonPostgresDatabaseNeonRole 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 NeonPostgresDatabaseNeonRole from a dict + + + +# koyeb/api\_async.models.secret + +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. + + + +## Secret Objects + +```python +class Secret(BaseModel) +``` + +Secret + + + +#### 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 Secret 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 Secret from a dict + + + +# koyeb/api\_async.models.git\_deployment\_metadata + +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. + + + +## GitDeploymentMetadata Objects + +```python +class GitDeploymentMetadata(BaseModel) +``` + +GitDeploymentMetadata + + + +#### 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 GitDeploymentMetadata 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 GitDeploymentMetadata from a dict + + + +# koyeb/api\_async.models.service\_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. + + + +## ServiceEvent Objects + +```python +class ServiceEvent(BaseModel) +``` + +ServiceEvent + + + +#### 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 ServiceEvent 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 ServiceEvent from a dict + + + +# koyeb/api\_async.models.catalog\_usage + +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. + + + +## CatalogUsage Objects + +```python +class CatalogUsage(BaseModel) +``` + +CatalogUsage + + + +#### 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 CatalogUsage 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 CatalogUsage from a dict + + + +# koyeb/api\_async.models.get\_organization\_invitation\_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. + + + +## GetOrganizationInvitationReply Objects + +```python +class GetOrganizationInvitationReply(BaseModel) +``` + +GetOrganizationInvitationReply + + + +#### 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 GetOrganizationInvitationReply 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 GetOrganizationInvitationReply from a dict + + + +# koyeb/api\_async.models.catalog\_instance\_list\_item + +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. + + + +## CatalogInstanceListItem Objects + +```python +class CatalogInstanceListItem(BaseModel) +``` + +CatalogInstanceListItem + + + +#### 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 CatalogInstanceListItem 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 CatalogInstanceListItem from a dict + + + +# koyeb/api\_async.models.list\_instances\_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. + + + +## ListInstancesReply Objects + +```python +class ListInstancesReply(BaseModel) +``` + +ListInstancesReply + + + +#### 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 ListInstancesReply 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 ListInstancesReply from a dict + + + +# koyeb/api\_async.models.organization\_invitation + +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. + + + +## OrganizationInvitation Objects + +```python +class OrganizationInvitation(BaseModel) +``` + +OrganizationInvitation + + + +#### 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 OrganizationInvitation 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 OrganizationInvitation from a dict + + + +# koyeb/api\_async.models.create\_access\_token\_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. + + + +## CreateAccessTokenRequest Objects + +```python +class CreateAccessTokenRequest(BaseModel) +``` + +CreateAccessTokenRequest + + + +#### 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 CreateAccessTokenRequest 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 CreateAccessTokenRequest from a dict + + + +# koyeb/api\_async.models.get\_user\_settings\_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. + + + +## GetUserSettingsReply Objects + +```python +class GetUserSettingsReply(BaseModel) +``` + +GetUserSettingsReply + + + +#### 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 GetUserSettingsReply 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 GetUserSettingsReply from a dict + + + +# koyeb/api\_async.models.next\_invoice\_reply\_discount\_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. + + + +## NextInvoiceReplyDiscountType Objects + +```python +class NextInvoiceReplyDiscountType(str, Enum) +``` + +NextInvoiceReplyDiscountType + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of NextInvoiceReplyDiscountType from a JSON string + + + +# koyeb/api\_async.models.create\_stage\_attempt\_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. + + + +## CreateStageAttemptRequest Objects + +```python +class CreateStageAttemptRequest(BaseModel) +``` + +CreateStageAttemptRequest + + + +#### 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 CreateStageAttemptRequest 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 CreateStageAttemptRequest from a dict + + + +# koyeb/api\_async.models.get\_payment\_method\_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. + + + +## GetPaymentMethodReply Objects + +```python +class GetPaymentMethodReply(BaseModel) +``` + +GetPaymentMethodReply + + + +#### 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 GetPaymentMethodReply 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 GetPaymentMethodReply from a dict + + + +# koyeb/api\_async.models.list\_credentials\_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. + + + +## ListCredentialsReply Objects + +```python +class ListCredentialsReply(BaseModel) +``` + +ListCredentialsReply + + + +#### 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 ListCredentialsReply 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 ListCredentialsReply from a dict + + + +# koyeb/api\_async.models.create\_access\_token\_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. + + + +## CreateAccessTokenReply Objects + +```python +class CreateAccessTokenReply(BaseModel) +``` + +CreateAccessTokenReply + + + +#### 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 CreateAccessTokenReply 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 CreateAccessTokenReply from a dict + + + +# koyeb/api\_async.models.deployment\_scaling\_target\_average\_cpu + +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. + + + +## DeploymentScalingTargetAverageCPU Objects + +```python +class DeploymentScalingTargetAverageCPU(BaseModel) +``` + +DeploymentScalingTargetAverageCPU + + + +#### 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 DeploymentScalingTargetAverageCPU 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 DeploymentScalingTargetAverageCPU from a dict + + + +# koyeb/api\_async.models.create\_archive + +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. + + + +## CreateArchive Objects + +```python +class CreateArchive(BaseModel) +``` + +CreateArchive + + + +#### 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 CreateArchive 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 CreateArchive from a dict + + + +# koyeb/api\_async.models.create\_organization\_invitation\_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. + + + +## CreateOrganizationInvitationRequest Objects + +```python +class CreateOrganizationInvitationRequest(BaseModel) +``` + +CreateOrganizationInvitationRequest + + + +#### 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 CreateOrganizationInvitationRequest 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 CreateOrganizationInvitationRequest from a dict + + + +# koyeb/api\_async.models.list\_projects\_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. + + + +## ListProjectsReply Objects + +```python +class ListProjectsReply(BaseModel) +``` + +ListProjectsReply + + + +#### 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 ListProjectsReply 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 ListProjectsReply from a dict + + + +# koyeb/api\_async.models.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. + + + +## SnapshotStatus Objects + +```python +class SnapshotStatus(str, Enum) +``` + +SnapshotStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of SnapshotStatus from a JSON string + + + +# koyeb/api\_async.models.members\_summary + +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. + + + +## MembersSummary Objects + +```python +class MembersSummary(BaseModel) +``` + +MembersSummary + + + +#### 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 MembersSummary 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 MembersSummary from a dict + + + +# koyeb/api\_async.models.organization\_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. + + + +## OrganizationStatus Objects + +```python +class OrganizationStatus(str, Enum) +``` + +OrganizationStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of OrganizationStatus from a JSON string + + + +# koyeb/api\_async.models.get\_deployment\_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. + + + +## GetDeploymentReply Objects + +```python +class GetDeploymentReply(BaseModel) +``` + +GetDeploymentReply + + + +#### 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 GetDeploymentReply 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 GetDeploymentReply from a dict + + + +# koyeb/api\_async.models.list\_persistent\_volumes\_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. + + + +## ListPersistentVolumesReply Objects + +```python +class ListPersistentVolumesReply(BaseModel) +``` + +ListPersistentVolumesReply + + + +#### 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 ListPersistentVolumesReply 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 ListPersistentVolumesReply from a dict + + + +# koyeb/api\_async.models.list\_payment\_methods\_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. + + + +## ListPaymentMethodsReply Objects + +```python +class ListPaymentMethodsReply(BaseModel) +``` + +ListPaymentMethodsReply + + + +#### 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 ListPaymentMethodsReply 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 ListPaymentMethodsReply from a dict + + + +# koyeb/api\_async.models.deployment\_instance\_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. + + + +## DeploymentInstanceType Objects + +```python +class DeploymentInstanceType(BaseModel) +``` + +DeploymentInstanceType + + + +#### 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 DeploymentInstanceType 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 DeploymentInstanceType from a dict + + + +# koyeb/api\_async.models.instance\_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. + + + +## InstanceEvent Objects + +```python +class InstanceEvent(BaseModel) +``` + +InstanceEvent + + + +#### 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 InstanceEvent 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 InstanceEvent from a dict + + + +# koyeb/api\_async.models.update\_service\_scaling\_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. + + + +## UpdateServiceScalingRequest Objects + +```python +class UpdateServiceScalingRequest(BaseModel) +``` + +UpdateServiceScalingRequest + + + +#### 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 UpdateServiceScalingRequest 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 UpdateServiceScalingRequest from a dict + + + +# koyeb/api\_async.models.docker\_builder + +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. + + + +## DockerBuilder Objects + +```python +class DockerBuilder(BaseModel) +``` + +DockerBuilder + + + +#### 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 DockerBuilder 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 DockerBuilder from a dict + + + +# koyeb/api\_async.models.organization\_summary + +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. + + + +## OrganizationSummary Objects + +```python +class OrganizationSummary(BaseModel) +``` + +OrganizationSummary + + + +#### 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 OrganizationSummary 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 OrganizationSummary from a dict + + + +# koyeb/api\_async.models.git\_source + +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. + + + +## GitSource Objects + +```python +class GitSource(BaseModel) +``` + +GitSource + + + +#### 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 GitSource 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 GitSource from a dict + + + +# koyeb/api\_async.models.error\_field + +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. + + + +## ErrorField Objects + +```python +class ErrorField(BaseModel) +``` + +ErrorField + + + +#### 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 ErrorField 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 ErrorField from a dict + + + +# koyeb/api\_async.models.update\_organization\_plan\_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. + + + +## UpdateOrganizationPlanRequest Objects + +```python +class UpdateOrganizationPlanRequest(BaseModel) +``` + +UpdateOrganizationPlanRequest + + + +#### 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 UpdateOrganizationPlanRequest 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 UpdateOrganizationPlanRequest from a dict + + + +# koyeb/api\_async.models.domain\_load\_balancer\_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. + + + +## DomainLoadBalancerQuotas Objects + +```python +class DomainLoadBalancerQuotas(BaseModel) +``` + +DomainLoadBalancerQuotas + + + +#### 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 DomainLoadBalancerQuotas 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 DomainLoadBalancerQuotas from a dict + + + +# koyeb/api\_async.models.declare\_step\_progress\_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. + + + +## DeclareStepProgressRequest Objects + +```python +class DeclareStepProgressRequest(BaseModel) +``` + +DeclareStepProgressRequest + + + +#### 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 DeclareStepProgressRequest 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 DeclareStepProgressRequest from a dict + + + +# koyeb/api\_async.models.get\_organization\_summary\_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. + + + +## GetOrganizationSummaryReply Objects + +```python +class GetOrganizationSummaryReply(BaseModel) +``` + +GetOrganizationSummaryReply + + + +#### 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 GetOrganizationSummaryReply 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 GetOrganizationSummaryReply from a dict + + + +# koyeb/api\_async.models.deployment\_health\_check + +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. + + + +## DeploymentHealthCheck Objects + +```python +class DeploymentHealthCheck(BaseModel) +``` + +DeploymentHealthCheck + + + +#### 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 DeploymentHealthCheck 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 DeploymentHealthCheck from a dict + + + +# koyeb/api\_async.models.notification\_list + +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. + + + +## NotificationList Objects + +```python +class NotificationList(BaseModel) +``` + +NotificationList + + + +#### 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 NotificationList 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 NotificationList from a dict + + + +# koyeb/api\_async.models.create\_domain\_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. + + + +## CreateDomainReply Objects + +```python +class CreateDomainReply(BaseModel) +``` + +CreateDomainReply + + + +#### 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 CreateDomainReply 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 CreateDomainReply from a dict + + + +# koyeb/api\_async.models.ksearch\_regional\_deployment + +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. + + + +## KsearchRegionalDeployment Objects + +```python +class KsearchRegionalDeployment(BaseModel) +``` + +KsearchRegionalDeployment + + + +#### 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 KsearchRegionalDeployment 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 KsearchRegionalDeployment from a dict + + + +# koyeb/api\_async.models.persistent\_volume\_backing\_store + +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. + + + +## PersistentVolumeBackingStore Objects + +```python +class PersistentVolumeBackingStore(str, Enum) +``` + +PersistentVolumeBackingStore + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of PersistentVolumeBackingStore from a JSON string + + + +# koyeb/api\_async.models.create\_persistent\_volume\_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. + + + +## CreatePersistentVolumeRequest Objects + +```python +class CreatePersistentVolumeRequest(BaseModel) +``` + +CreatePersistentVolumeRequest + + + +#### 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 CreatePersistentVolumeRequest 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 CreatePersistentVolumeRequest from a dict + + + +# koyeb/api\_async.models.docker\_hub\_registry\_configuration + +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. + + + +## DockerHubRegistryConfiguration Objects + +```python +class DockerHubRegistryConfiguration(BaseModel) +``` + +DockerHubRegistryConfiguration + + + +#### 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 DockerHubRegistryConfiguration 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 DockerHubRegistryConfiguration from a dict + + + +# koyeb/api\_async.models.trigger\_git\_deployment\_metadata\_provider + +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. + + + +## TriggerGitDeploymentMetadataProvider Objects + +```python +class TriggerGitDeploymentMetadataProvider(str, Enum) +``` + +TriggerGitDeploymentMetadataProvider + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of TriggerGitDeploymentMetadataProvider from a JSON string + + + +# koyeb/api\_async.models.deployment\_port + +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. + + + +## DeploymentPort Objects + +```python +class DeploymentPort(BaseModel) +``` + +DeploymentPort + + + +#### 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 DeploymentPort 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 DeploymentPort from a dict + + + +# koyeb/api\_async.models.stream\_result\_of\_log\_entry + +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. + + + +## StreamResultOfLogEntry Objects + +```python +class StreamResultOfLogEntry(BaseModel) +``` + +StreamResultOfLogEntry + + + +#### 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 StreamResultOfLogEntry 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 StreamResultOfLogEntry from a dict + + + +# koyeb/api\_async.models.sandbox\_metadata + +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. + + + +## SandboxMetadata Objects + +```python +class SandboxMetadata(BaseModel) +``` + +SandboxMetadata + + + +#### 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 SandboxMetadata 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 SandboxMetadata from a dict + + + +# koyeb/api\_async.models.sample + +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. + + + +## Sample Objects + +```python +class Sample(BaseModel) +``` + +Sample + + + +#### 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 Sample 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 Sample from a dict + + + +# koyeb/api\_async.models.archive + +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. + + + +## Archive Objects + +```python +class Archive(BaseModel) +``` + +Archive + + + +#### 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 Archive 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 Archive from a dict + + + +# koyeb/api\_async.models.kgitproxy\_indexing\_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. + + + +## KgitproxyIndexingStatus Objects + +```python +class KgitproxyIndexingStatus(str, Enum) +``` + +KgitproxyIndexingStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of KgitproxyIndexingStatus from a JSON string + + + +# koyeb/api\_async.models.app + +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. + + + +## App Objects + +```python +class App(BaseModel) +``` + +App + + + +#### 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 App 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 App from a dict + + + +# koyeb/api\_async.models.google\_protobuf\_any + +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. + + + +## GoogleProtobufAny Objects + +```python +class GoogleProtobufAny(BaseModel) +``` + +GoogleProtobufAny + + + +#### 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 GoogleProtobufAny 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. +* Fields in `self.additional_properties` are added to the output dict. + + + +#### from\_dict + +```python +@classmethod +def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self] +``` + +Create an instance of GoogleProtobufAny from a dict + + + +# koyeb/api\_async.models.gcp\_container\_registry\_configuration + +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. + + + +## GCPContainerRegistryConfiguration Objects + +```python +class GCPContainerRegistryConfiguration(BaseModel) +``` + +GCPContainerRegistryConfiguration + + + +#### 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 GCPContainerRegistryConfiguration 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 GCPContainerRegistryConfiguration from a dict + + + +# koyeb/api\_async.models.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. + + + +## SnapshotType Objects + +```python +class SnapshotType(str, Enum) +``` + +SnapshotType + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of SnapshotType from a JSON string + + + +# koyeb/api\_async.models.update\_organization\_name\_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. + + + +## UpdateOrganizationNameRequest Objects + +```python +class UpdateOrganizationNameRequest(BaseModel) +``` + +UpdateOrganizationNameRequest + + + +#### 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 UpdateOrganizationNameRequest 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 UpdateOrganizationNameRequest from a dict + + + +# koyeb/api\_async.models.get\_service\_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. + + + +## GetServiceReply Objects + +```python +class GetServiceReply(BaseModel) +``` + +GetServiceReply + + + +#### 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 GetServiceReply 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 GetServiceReply from a dict + + + +# koyeb/api\_async.models.exec\_command\_request\_body + +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. + + + +## ExecCommandRequestBody Objects + +```python +class ExecCommandRequestBody(BaseModel) +``` + +ExecCommandRequestBody + + + +#### 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 ExecCommandRequestBody 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 ExecCommandRequestBody from a dict + + + +# koyeb/api\_async.models.organization\_deactivation\_reason + +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. + + + +## OrganizationDeactivationReason Objects + +```python +class OrganizationDeactivationReason(str, Enum) +``` + +OrganizationDeactivationReason + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of OrganizationDeactivationReason from a JSON string + + + +# koyeb/api\_async.models.create\_archive\_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. + + + +## CreateArchiveReply Objects + +```python +class CreateArchiveReply(BaseModel) +``` + +CreateArchiveReply + + + +#### 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 CreateArchiveReply 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 CreateArchiveReply from a dict + + + +# koyeb/api\_async.models.o\_auth\_callback\_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. + + + +## OAuthCallbackReply Objects + +```python +class OAuthCallbackReply(BaseModel) +``` + +OAuthCallbackReply + + + +#### 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 OAuthCallbackReply 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 OAuthCallbackReply from a dict + + + +# koyeb/api\_async.models.lifecycle\_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. + + + +## LifecycleQuotas Objects + +```python +class LifecycleQuotas(BaseModel) +``` + +LifecycleQuotas + + + +#### 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 LifecycleQuotas 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 LifecycleQuotas from a dict + + + +# koyeb/api\_async.models.ktest\_test\_auth\_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. + + + +## KtestTestAuthReply Objects + +```python +class KtestTestAuthReply(BaseModel) +``` + +KtestTestAuthReply + + + +#### 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 KtestTestAuthReply 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 KtestTestAuthReply from a dict + + + +# koyeb/api\_async.models.create\_service\_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. + + + +## CreateServiceReply Objects + +```python +class CreateServiceReply(BaseModel) +``` + +CreateServiceReply + + + +#### 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 CreateServiceReply 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 CreateServiceReply from a dict + + + +# koyeb/api\_async.models.trigger\_git\_deployment\_metadata + +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. + + + +## TriggerGitDeploymentMetadata Objects + +```python +class TriggerGitDeploymentMetadata(BaseModel) +``` + +TriggerGitDeploymentMetadata + + + +#### 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 TriggerGitDeploymentMetadata 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 TriggerGitDeploymentMetadata from a dict + + + +# koyeb/api\_async.models.update\_project\_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. + + + +## UpdateProjectReply Objects + +```python +class UpdateProjectReply(BaseModel) +``` + +UpdateProjectReply + + + +#### 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 UpdateProjectReply 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 UpdateProjectReply from a dict + + + +# koyeb/api\_async.models.delete\_user\_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. + + + +## DeleteUserReply Objects + +```python +class DeleteUserReply(BaseModel) +``` + +DeleteUserReply + + + +#### 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 DeleteUserReply 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 DeleteUserReply from a dict + + + +# koyeb/api\_async.models.get\_region\_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. + + + +## GetRegionReply Objects + +```python +class GetRegionReply(BaseModel) +``` + +GetRegionReply + + + +#### 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 GetRegionReply 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 GetRegionReply from a dict + + + +# koyeb/api\_async.models.autocomplete\_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. + + + +## AutocompleteRequest Objects + +```python +class AutocompleteRequest(BaseModel) +``` + +AutocompleteRequest + + + +#### 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 AutocompleteRequest 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 AutocompleteRequest from a dict + + + +# koyeb/api\_async.models.regional\_deployment\_definition + +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. + + + +## RegionalDeploymentDefinition Objects + +```python +class RegionalDeploymentDefinition(BaseModel) +``` + +RegionalDeploymentDefinition + + + +#### 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 RegionalDeploymentDefinition 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 RegionalDeploymentDefinition from a dict + + + +# koyeb/api\_async.models.apps\_summary + +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. + + + +## AppsSummary Objects + +```python +class AppsSummary(BaseModel) +``` + +AppsSummary + + + +#### 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 AppsSummary 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 AppsSummary from a dict + + + +# koyeb/api\_async.models.deployment\_neon\_postgres\_database\_info + +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. + + + +## DeploymentNeonPostgresDatabaseInfo Objects + +```python +class DeploymentNeonPostgresDatabaseInfo(BaseModel) +``` + +DeploymentNeonPostgresDatabaseInfo + + + +#### 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 DeploymentNeonPostgresDatabaseInfo 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 DeploymentNeonPostgresDatabaseInfo from a dict + + + +# koyeb/api\_async.models.stream\_result\_of\_exec\_command\_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. + + + +## StreamResultOfExecCommandReply Objects + +```python +class StreamResultOfExecCommandReply(BaseModel) +``` + +StreamResultOfExecCommandReply + + + +#### 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 StreamResultOfExecCommandReply 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 StreamResultOfExecCommandReply from a dict + + + +# koyeb/api\_async.models.desired\_deployment + +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. + + + +## DesiredDeployment Objects + +```python +class DesiredDeployment(BaseModel) +``` + +DesiredDeployment + + + +#### 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 DesiredDeployment 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 DesiredDeployment from a dict + + + +# koyeb/api\_async.models.deployment\_metadata + +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. + + + +## DeploymentMetadata Objects + +```python +class DeploymentMetadata(BaseModel) +``` + +DeploymentMetadata + + + +#### 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 DeploymentMetadata 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 DeploymentMetadata from a dict + + + +# koyeb/api\_async.models.datacenter\_list\_item + +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. + + + +## DatacenterListItem Objects + +```python +class DatacenterListItem(BaseModel) +``` + +DatacenterListItem + + + +#### 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 DatacenterListItem 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 DatacenterListItem from a dict + + + +# koyeb/api\_async.models.remove\_organization\_member\_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. + + + +## RemoveOrganizationMemberReply Objects + +```python +class RemoveOrganizationMemberReply(BaseModel) +``` + +RemoveOrganizationMemberReply + + + +#### 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 RemoveOrganizationMemberReply 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 RemoveOrganizationMemberReply from a dict + + + +# koyeb/api\_async.models.app\_life\_cycle + +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. + + + +## AppLifeCycle Objects + +```python +class AppLifeCycle(BaseModel) +``` + +AppLifeCycle + + + +#### 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 AppLifeCycle 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 AppLifeCycle from a dict + + + +# koyeb/api\_async.models.app\_usage + +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. + + + +## AppUsage Objects + +```python +class AppUsage(BaseModel) +``` + +AppUsage + + + +#### 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 AppUsage 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 AppUsage from a dict + + + +# koyeb/api\_async.models.kgitproxy\_list\_branches\_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. + + + +## KgitproxyListBranchesReply Objects + +```python +class KgitproxyListBranchesReply(BaseModel) +``` + +KgitproxyListBranchesReply + + + +#### 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 KgitproxyListBranchesReply 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 KgitproxyListBranchesReply from a dict + + + +# koyeb/api\_async.models.deactivate\_organization\_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. + + + +## DeactivateOrganizationRequest Objects + +```python +class DeactivateOrganizationRequest(BaseModel) +``` + +DeactivateOrganizationRequest + + + +#### 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 DeactivateOrganizationRequest 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 DeactivateOrganizationRequest from a dict + + + +# koyeb/api\_async.models.ksearch\_user + +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. + + + +## KsearchUser Objects + +```python +class KsearchUser(BaseModel) +``` + +KsearchUser + + + +#### 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 KsearchUser 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 KsearchUser from a dict + + + +# koyeb/api\_async.models.create\_organization\_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. + + + +## CreateOrganizationRequest Objects + +```python +class CreateOrganizationRequest(BaseModel) +``` + +CreateOrganizationRequest + + + +#### 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 CreateOrganizationRequest 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 CreateOrganizationRequest from a dict + + + +# koyeb/api\_async.models.list\_apps\_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. + + + +## ListAppsReply Objects + +```python +class ListAppsReply(BaseModel) +``` + +ListAppsReply + + + +#### 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 ListAppsReply 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 ListAppsReply from a dict + + + +# koyeb/api\_async.models.get\_organization\_usage\_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. + + + +## GetOrganizationUsageReply Objects + +```python +class GetOrganizationUsageReply(BaseModel) +``` + +GetOrganizationUsageReply + + + +#### 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 GetOrganizationUsageReply 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 GetOrganizationUsageReply from a dict + + + +# koyeb/api\_async.models.get\_o\_auth\_options\_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. + + + +## GetOAuthOptionsReply Objects + +```python +class GetOAuthOptionsReply(BaseModel) +``` + +A list of providers which you can use for single sign-on. + + + +#### 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 GetOAuthOptionsReply 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 GetOAuthOptionsReply from a dict + + + +# koyeb/api\_async.models.update\_credential\_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. + + + +## UpdateCredentialReply Objects + +```python +class UpdateCredentialReply(BaseModel) +``` + +UpdateCredentialReply + + + +#### 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 UpdateCredentialReply 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 UpdateCredentialReply from a dict + + + +# koyeb/api\_async.models.list\_regions\_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. + + + +## ListRegionsReply Objects + +```python +class ListRegionsReply(BaseModel) +``` + +ListRegionsReply + + + +#### 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 ListRegionsReply 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 ListRegionsReply from a dict + + + +# koyeb/api\_async.models.domains\_summary + +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. + + + +## DomainsSummary Objects + +```python +class DomainsSummary(BaseModel) +``` + +DomainsSummary + + + +#### 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 DomainsSummary 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 DomainsSummary from a dict + + + +# koyeb/api\_async.models.update\_domain\_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. + + + +## UpdateDomainReply Objects + +```python +class UpdateDomainReply(BaseModel) +``` + +UpdateDomainReply + + + +#### 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 UpdateDomainReply 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 UpdateDomainReply from a dict + + + +# koyeb/api\_async.models.update\_app\_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. + + + +## UpdateAppReply Objects + +```python +class UpdateAppReply(BaseModel) +``` + +UpdateAppReply + + + +#### 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 UpdateAppReply 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 UpdateAppReply from a dict + + + +# koyeb/api\_async.models.update\_organization\_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. + + + +## UpdateOrganizationReply Objects + +```python +class UpdateOrganizationReply(BaseModel) +``` + +UpdateOrganizationReply + + + +#### 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 UpdateOrganizationReply 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 UpdateOrganizationReply from a dict + + + +# koyeb/api\_async.models.declare\_stage\_progress\_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. + + + +## DeclareStageProgressRequest Objects + +```python +class DeclareStageProgressRequest(BaseModel) +``` + +DeclareStageProgressRequest + + + +#### 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 DeclareStageProgressRequest 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 DeclareStageProgressRequest from a dict + + + +# koyeb/api\_async.models.error\_with\_fields + +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. + + + +## ErrorWithFields Objects + +```python +class ErrorWithFields(BaseModel) +``` + +ErrorWithFields + + + +#### 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 ErrorWithFields 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 ErrorWithFields from a dict + + + +# koyeb/api\_async.models.delete\_persistent\_volume\_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. + + + +## DeletePersistentVolumeReply Objects + +```python +class DeletePersistentVolumeReply(BaseModel) +``` + +DeletePersistentVolumeReply + + + +#### 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 DeletePersistentVolumeReply 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 DeletePersistentVolumeReply from a dict + + + +# koyeb/api\_async.models.list\_catalog\_instances\_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. + + + +## ListCatalogInstancesReply Objects + +```python +class ListCatalogInstancesReply(BaseModel) +``` + +ListCatalogInstancesReply + + + +#### 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 ListCatalogInstancesReply 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 ListCatalogInstancesReply from a dict + + + +# koyeb/api\_async.models.get\_budget\_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. + + + +## GetBudgetReply Objects + +```python +class GetBudgetReply(BaseModel) +``` + +GetBudgetReply + + + +#### 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 GetBudgetReply 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 GetBudgetReply from a dict + + + +# koyeb/api\_async.models.verify\_docker\_image\_reply\_err\_code + +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. + + + +## VerifyDockerImageReplyErrCode Objects + +```python +class VerifyDockerImageReplyErrCode(str, Enum) +``` + +- UNKNOWN: Default value - AUTH_ACCESS_DENIED: The registry denied access to an authenticated request - ANON_ACCESS_DENIED: The registry denied access to an anonymous request - AUTH_NOT_FOUND: The image has not been found after an authenticated request - ANON_NOT_FOUND: The image has not been found after an anonymous request - REGISTRY_ERROR: The registry returned an error - TIMEOUT: The request to the registry timed out - DNS: There was an error trying to resolve the name of the registry - MALFORMED: The provided image name is malformed - INVALID_OS: The operating system is not supported - INVALID_ARCH: The architecture is not supported - INVALID_SCHEME: The scheme is not https - GENERIC: Generic catch-all error code + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of VerifyDockerImageReplyErrCode from a JSON string + + + +# koyeb/api\_async.models.get\_intercom\_profile\_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. + + + +## GetIntercomProfileReply Objects + +```python +class GetIntercomProfileReply(BaseModel) +``` + +GetIntercomProfileReply + + + +#### 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 GetIntercomProfileReply 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 GetIntercomProfileReply from a dict + + + +# koyeb/api\_async.models.list\_regional\_deployments\_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. + + + +## ListRegionalDeploymentsReply Objects + +```python +class ListRegionalDeploymentsReply(BaseModel) +``` + +ListRegionalDeploymentsReply + + + +#### 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 ListRegionalDeploymentsReply 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 ListRegionalDeploymentsReply from a dict + + + +# koyeb/api\_async.models.list\_organization\_members\_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. + + + +## ListOrganizationMembersReply Objects + +```python +class ListOrganizationMembersReply(BaseModel) +``` + +ListOrganizationMembersReply + + + +#### 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 ListOrganizationMembersReply 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 ListOrganizationMembersReply from a dict + + + +# koyeb/api\_async.models.deployment\_role + +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. + + + +## DeploymentRole Objects + +```python +class DeploymentRole(str, Enum) +``` + +DeploymentRole + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of DeploymentRole from a JSON string + + + +# koyeb/api\_async.models.deployment\_mesh + +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. + + + +## DeploymentMesh Objects + +```python +class DeploymentMesh(str, Enum) +``` + +DeploymentMesh + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of DeploymentMesh from a JSON string + + + +# koyeb/api\_async.models.list\_persistent\_volume\_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. + + + +## ListPersistentVolumeEventsReply Objects + +```python +class ListPersistentVolumeEventsReply(BaseModel) +``` + +ListPersistentVolumeEventsReply + + + +#### 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 ListPersistentVolumeEventsReply 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 ListPersistentVolumeEventsReply from a dict + + + +# koyeb/api\_async.models.domain\_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. + + + +## DomainStatus Objects + +```python +class DomainStatus(str, Enum) +``` + +DomainStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of DomainStatus from a JSON string + + + +# koyeb/api\_async.models.next\_invoice\_reply\_line\_period + +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. + + + +## NextInvoiceReplyLinePeriod Objects + +```python +class NextInvoiceReplyLinePeriod(BaseModel) +``` + +NextInvoiceReplyLinePeriod + + + +#### 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 NextInvoiceReplyLinePeriod 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 NextInvoiceReplyLinePeriod from a dict + + + +# koyeb/api\_async.models.verify\_docker\_image\_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. + + + +## VerifyDockerImageReply Objects + +```python +class VerifyDockerImageReply(BaseModel) +``` + +VerifyDockerImageReply + + + +#### 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 VerifyDockerImageReply 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 VerifyDockerImageReply from a dict + + + +# koyeb/api\_async.models.reveal\_secret\_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. + + + +## RevealSecretReply Objects + +```python +class RevealSecretReply(BaseModel) +``` + +RevealSecretReply + + + +#### 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 RevealSecretReply 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 RevealSecretReply from a dict + + + +# koyeb/api\_async.models.compose\_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. + + + +## ComposeReply Objects + +```python +class ComposeReply(BaseModel) +``` + +ComposeReply + + + +#### 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 ComposeReply 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 ComposeReply from a dict + + + +# koyeb/api\_async.models.create\_project + +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. + + + +## CreateProject Objects + +```python +class CreateProject(BaseModel) +``` + +CreateProject + + + +#### 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 CreateProject 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 CreateProject from a dict + + + +# koyeb/api\_async.models.http\_health\_check + +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. + + + +## HTTPHealthCheck Objects + +```python +class HTTPHealthCheck(BaseModel) +``` + +HTTPHealthCheck + + + +#### 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 HTTPHealthCheck 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 HTTPHealthCheck from a dict + + + +# koyeb/api\_async.models.google\_rpc\_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. + + + +## GoogleRpcStatus Objects + +```python +class GoogleRpcStatus(BaseModel) +``` + +GoogleRpcStatus + + + +#### 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 GoogleRpcStatus 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 GoogleRpcStatus from a dict + + + +# koyeb/api\_async.models.credential + +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. + + + +## Credential Objects + +```python +class Credential(BaseModel) +``` + +Credential + + + +#### 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 Credential 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 Credential from a dict + + + +# koyeb/api\_async.models.desired\_deployment\_group + +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. + + + +## DesiredDeploymentGroup Objects + +```python +class DesiredDeploymentGroup(BaseModel) +``` + +DesiredDeploymentGroup + + + +#### 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 DesiredDeploymentGroup 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 DesiredDeploymentGroup from a dict + + + +# koyeb/api\_async.models.get\_credential\_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. + + + +## GetCredentialReply Objects + +```python +class GetCredentialReply(BaseModel) +``` + +GetCredentialReply + + + +#### 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 GetCredentialReply 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 GetCredentialReply from a dict + + + +# koyeb/api\_async.models.get\_github\_installation\_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. + + + +## GetGithubInstallationReply Objects + +```python +class GetGithubInstallationReply(BaseModel) +``` + +GetGithubInstallationReply + + + +#### 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 GetGithubInstallationReply 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 GetGithubInstallationReply from a dict + + + +# koyeb/api\_async.models.usage + +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. + + + +## Usage Objects + +```python +class Usage(BaseModel) +``` + +Usage + + + +#### 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 Usage 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 Usage from a dict + + + +# koyeb/api\_async.models.public\_organization + +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. + + + +## PublicOrganization Objects + +```python +class PublicOrganization(BaseModel) +``` + +PublicOrganization + + + +#### 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 PublicOrganization 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 PublicOrganization from a dict + + + +# koyeb/api\_async.models.region\_list\_item + +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. + + + +## RegionListItem Objects + +```python +class RegionListItem(BaseModel) +``` + +RegionListItem + + + +#### 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 RegionListItem 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 RegionListItem from a dict + + + +# koyeb/api\_async.models.availability\_level + +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. + + + +## AvailabilityLevel Objects + +```python +class AvailabilityLevel(str, Enum) +``` + +AvailabilityLevel + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of AvailabilityLevel from a JSON string + + + +# koyeb/api\_async.models.subscription\_payment\_failure\_stripe\_sdk + +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. + + + +## SubscriptionPaymentFailureStripeSDK Objects + +```python +class SubscriptionPaymentFailureStripeSDK(BaseModel) +``` + +SubscriptionPaymentFailureStripeSDK + + + +#### 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 SubscriptionPaymentFailureStripeSDK 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 SubscriptionPaymentFailureStripeSDK from a dict + + + +# koyeb/api\_async.models.ksearch\_search\_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. + + + +## KsearchSearchReply Objects + +```python +class KsearchSearchReply(BaseModel) +``` + +KsearchSearchReply + + + +#### 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 KsearchSearchReply 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 KsearchSearchReply from a dict + + + +# koyeb/api\_async.models.exec\_command\_io + +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. + + + +## ExecCommandIO Objects + +```python +class ExecCommandIO(BaseModel) +``` + +ExecCommandIO + + + +#### data\_validate\_regular\_expression + +```python +@field_validator('data') +def data_validate_regular_expression(cls, value) +``` + +Validates the regular expression + + + +#### 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 ExecCommandIO 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 ExecCommandIO from a dict + + + +# koyeb/api\_async.models.deployment\_proxy\_port\_metadata + +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. + + + +## DeploymentProxyPortMetadata Objects + +```python +class DeploymentProxyPortMetadata(BaseModel) +``` + +DeploymentProxyPortMetadata + + + +#### 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 DeploymentProxyPortMetadata 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 DeploymentProxyPortMetadata from a dict + + + +# koyeb/api\_async.models.project + +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. + + + +## Project Objects + +```python +class Project(BaseModel) +``` + +Project + + + +#### 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 Project 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 Project from a dict + + + +# koyeb/api\_async.models.region\_availability + +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. + + + +## RegionAvailability Objects + +```python +class RegionAvailability(BaseModel) +``` + +RegionAvailability + + + +#### 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 RegionAvailability 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 RegionAvailability from a dict + + + +# koyeb/api\_async.models.manual\_service\_scaling + +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. + + + +## ManualServiceScaling Objects + +```python +class ManualServiceScaling(BaseModel) +``` + +ManualServiceScaling + + + +#### 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 ManualServiceScaling 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 ManualServiceScaling from a dict + + + +# koyeb/api\_async.models.create\_app\_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. + + + +## CreateAppReply Objects + +```python +class CreateAppReply(BaseModel) +``` + +CreateAppReply + + + +#### 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 CreateAppReply 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 CreateAppReply from a dict + + + +# koyeb/api\_async.models.public\_user + +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. + + + +## PublicUser Objects + +```python +class PublicUser(BaseModel) +``` + +PublicUser + + + +#### 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 PublicUser 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 PublicUser from a dict + + + +# koyeb/api\_async.models.reset\_password\_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. + + + +## ResetPasswordRequest Objects + +```python +class ResetPasswordRequest(BaseModel) +``` + +ResetPasswordRequest + + + +#### 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 ResetPasswordRequest 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 ResetPasswordRequest from a dict + + + +# koyeb/api\_async.models.create\_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. + + + +## CreateSnapshotReply Objects + +```python +class CreateSnapshotReply(BaseModel) +``` + +CreateSnapshotReply + + + +#### 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 CreateSnapshotReply 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 CreateSnapshotReply from a dict + + + +# koyeb/api\_async.models.create\_persistent\_volume\_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. + + + +## CreatePersistentVolumeReply Objects + +```python +class CreatePersistentVolumeReply(BaseModel) +``` + +CreatePersistentVolumeReply + + + +#### 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 CreatePersistentVolumeReply 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 CreatePersistentVolumeReply from a dict + + + +# koyeb/api\_async.models.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. + + + +## Snapshot Objects + +```python +class Snapshot(BaseModel) +``` + +The object that represents a snapshot. It can either be local, on a node, or remote, in a cold storage. + + + +#### 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 Snapshot 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 Snapshot from a dict + + + +# koyeb/api\_async.models.deployment\_neon\_postgres\_database\_info\_role + +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. + + + +## DeploymentNeonPostgresDatabaseInfoRole Objects + +```python +class DeploymentNeonPostgresDatabaseInfoRole(BaseModel) +``` + +DeploymentNeonPostgresDatabaseInfoRole + + + +#### 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 DeploymentNeonPostgresDatabaseInfoRole 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 DeploymentNeonPostgresDatabaseInfoRole from a dict + + + +# koyeb/api\_async.models.get\_metrics\_reply\_metric + +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. + + + +## GetMetricsReplyMetric Objects + +```python +class GetMetricsReplyMetric(BaseModel) +``` + +GetMetricsReplyMetric + + + +#### 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 GetMetricsReplyMetric 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 GetMetricsReplyMetric from a dict + + + +# koyeb/api\_async.models.get\_project\_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. + + + +## GetProjectReply Objects + +```python +class GetProjectReply(BaseModel) +``` + +GetProjectReply + + + +#### 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 GetProjectReply 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 GetProjectReply from a dict + + + +# koyeb/api\_async.models.subscription\_payment\_failure + +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. + + + +## SubscriptionPaymentFailure Objects + +```python +class SubscriptionPaymentFailure(BaseModel) +``` + +SubscriptionPaymentFailure + + + +#### 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 SubscriptionPaymentFailure 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 SubscriptionPaymentFailure from a dict + + + +# koyeb/api\_async.models.review\_organization\_capacity\_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. + + + +## ReviewOrganizationCapacityReply Objects + +```python +class ReviewOrganizationCapacityReply(BaseModel) +``` + +ReviewOrganizationCapacityReply + + + +#### 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 ReviewOrganizationCapacityReply 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 ReviewOrganizationCapacityReply from a dict + + + +# koyeb/api\_async.models.user\_flags + +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. + + + +## UserFlags Objects + +```python +class UserFlags(str, Enum) +``` + +UserFlags + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of UserFlags from a JSON string + + + +# koyeb/api\_async.models.kgitproxy\_branch + +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. + + + +## KgitproxyBranch Objects + +```python +class KgitproxyBranch(BaseModel) +``` + +KgitproxyBranch + + + +#### 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 KgitproxyBranch 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 KgitproxyBranch from a dict + + + +# koyeb/api\_async.models.create\_domain + +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. + + + +## CreateDomain Objects + +```python +class CreateDomain(BaseModel) +``` + +CreateDomain + + + +#### 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 CreateDomain 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 CreateDomain from a dict + + + +# koyeb/api\_async.models.discourse\_auth\_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. + + + +## DiscourseAuthReply Objects + +```python +class DiscourseAuthReply(BaseModel) +``` + +DiscourseAuthReply + + + +#### 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 DiscourseAuthReply 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 DiscourseAuthReply from a dict + + + +# koyeb/api\_async.models.regional\_deployment\_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. + + + +## RegionalDeploymentEvent Objects + +```python +class RegionalDeploymentEvent(BaseModel) +``` + +RegionalDeploymentEvent + + + +#### 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 RegionalDeploymentEvent 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 RegionalDeploymentEvent from a dict + + + +# koyeb/api\_async.models.regional\_deployment\_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. + + + +## RegionalDeploymentStatus Objects + +```python +class RegionalDeploymentStatus(str, Enum) +``` + +RegionalDeploymentStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of RegionalDeploymentStatus from a JSON string + + + +# koyeb/api\_async.models.ksearch\_global\_deployment + +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. + + + +## KsearchGlobalDeployment Objects + +```python +class KsearchGlobalDeployment(BaseModel) +``` + +KsearchGlobalDeployment + + + +#### 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 KsearchGlobalDeployment 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 KsearchGlobalDeployment from a dict + + + +# koyeb/api\_async.models.organization\_member\_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. + + + +## OrganizationMemberStatus Objects + +```python +class OrganizationMemberStatus(str, Enum) +``` + +OrganizationMemberStatus + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of OrganizationMemberStatus from a JSON string + + + +# koyeb/api\_async.models.trigger\_deployment\_metadata\_actor\_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. + + + +## TriggerDeploymentMetadataActorType Objects + +```python +class TriggerDeploymentMetadataActorType(str, Enum) +``` + +TriggerDeploymentMetadataActorType + + + +#### from\_json + +```python +@classmethod +def from_json(cls, json_str: str) -> Self +``` + +Create an instance of TriggerDeploymentMetadataActorType from a JSON string + + + +# koyeb/api\_async.models.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. + + + +## Quotas Objects + +```python +class Quotas(BaseModel) +``` + +Quotas + + + +#### 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 Quotas 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 Quotas from a dict + + + +# koyeb/api\_async.models.database\_source + +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. + + + +## DatabaseSource Objects + +```python +class DatabaseSource(BaseModel) +``` + +DatabaseSource + + + +#### 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 DatabaseSource 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 DatabaseSource from a dict + + + +# koyeb/api\_async.models.list\_usage\_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. + + + +## ListUsageReply Objects + +```python +class ListUsageReply(BaseModel) +``` + +ListUsageReply + + + +#### 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 ListUsageReply 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 ListUsageReply from a dict + + + +# koyeb/api\_async.models.catalog\_gpu\_details + +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. + + + +## CatalogGPUDetails Objects + +```python +class CatalogGPUDetails(BaseModel) +``` + +CatalogGPUDetails + + + +#### 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 CatalogGPUDetails 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 CatalogGPUDetails from a dict + + + +# koyeb/api\_async.models.create\_budget\_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. + + + +## CreateBudgetReply Objects + +```python +class CreateBudgetReply(BaseModel) +``` + +CreateBudgetReply + + + +#### 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 CreateBudgetReply 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 CreateBudgetReply from a dict + + + +# koyeb/api\_async.models.create\_organization\_invitation\_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. + + + +## CreateOrganizationInvitationReply Objects + +```python +class CreateOrganizationInvitationReply(BaseModel) +``` + +CreateOrganizationInvitationReply + + + +#### 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 CreateOrganizationInvitationReply 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 CreateOrganizationInvitationReply from a dict + + + +# koyeb/api\_async.models.github\_installation\_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. + + + +## GithubInstallationReply Objects + +```python +class GithubInstallationReply(BaseModel) +``` + +GithubInstallationReply + + + +#### 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 GithubInstallationReply 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 GithubInstallationReply from a dict + + + +# koyeb/api\_async.models.update\_service\_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. + + + +## UpdateServiceReply Objects + +```python +class UpdateServiceReply(BaseModel) +``` + +UpdateServiceReply + + + +#### 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 UpdateServiceReply 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 UpdateServiceReply from a dict + + + +# koyeb/api\_async.models.confirm\_payment\_authorization\_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. + + + +## ConfirmPaymentAuthorizationReply Objects + +```python +class ConfirmPaymentAuthorizationReply(BaseModel) +``` + +ConfirmPaymentAuthorizationReply + + + +#### 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 ConfirmPaymentAuthorizationReply 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 ConfirmPaymentAuthorizationReply from a dict + + + +# koyeb/api\_async.models.next\_invoice\_reply\_discount + +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. + + + +## NextInvoiceReplyDiscount Objects + +```python +class NextInvoiceReplyDiscount(BaseModel) +``` + +NextInvoiceReplyDiscount + + + +#### 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 NextInvoiceReplyDiscount 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 NextInvoiceReplyDiscount from a dict + + + +# koyeb/api\_async.models.deployment\_provisioning\_info + +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. + + + +## DeploymentProvisioningInfo Objects + +```python +class DeploymentProvisioningInfo(BaseModel) +``` + +DeploymentProvisioningInfo + + + +#### 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 DeploymentProvisioningInfo 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 DeploymentProvisioningInfo from a dict + + + +# koyeb/api\_async.models.tcp\_health\_check + +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. + + + +## TCPHealthCheck Objects + +```python +class TCPHealthCheck(BaseModel) +``` + +TCPHealthCheck + + + +#### 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 TCPHealthCheck 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 TCPHealthCheck from a dict + + + +# koyeb/api\_async.models.create\_project\_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. + + + +## CreateProjectReply Objects + +```python +class CreateProjectReply(BaseModel) +``` + +CreateProjectReply + + + +#### 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 CreateProjectReply 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 CreateProjectReply from a dict + + + +# koyeb/api\_async.api\_response + +API response object. + + + +## ApiResponse Objects + +```python +class ApiResponse(BaseModel, Generic[T]) +``` + +API response object + + + +# koyeb/api\_async.api.sso\_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. + + + +## SsoApi Objects + +```python +class SsoApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### canny\_auth + +```python +@validate_call +async def canny_auth( + body: Dict[str, Any], + _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) -> CannyAuthReply +``` + +canny_auth + +**Arguments**: + +- `body` (`object`): (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. + + + +#### canny\_auth\_with\_http\_info + +```python +@validate_call +async def canny_auth_with_http_info( + body: Dict[str, Any], + _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[CannyAuthReply] +``` + +canny_auth + +**Arguments**: + +- `body` (`object`): (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. + + + +#### canny\_auth\_without\_preload\_content + +```python +@validate_call +async def canny_auth_without_preload_content( + body: Dict[str, Any], + _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 +``` + +canny_auth + +**Arguments**: + +- `body` (`object`): (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. + + + +#### discourse\_auth + +```python +@validate_call +async def discourse_auth( + body: DiscourseAuthRequest, + _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 +) -> DiscourseAuthReply +``` + +discourse_auth + +**Arguments**: + +- `body` (`DiscourseAuthRequest`): (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. + + + +#### discourse\_auth\_with\_http\_info + +```python +@validate_call +async def discourse_auth_with_http_info( + body: DiscourseAuthRequest, + _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[DiscourseAuthReply] +``` + +discourse_auth + +**Arguments**: + +- `body` (`DiscourseAuthRequest`): (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. + + + +#### discourse\_auth\_without\_preload\_content + +```python +@validate_call +async def discourse_auth_without_preload_content( + body: DiscourseAuthRequest, + _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 +``` + +discourse_auth + +**Arguments**: + +- `body` (`DiscourseAuthRequest`): (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. + + + +# koyeb/api\_async.api.catalog\_datacenters\_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. + + + +## CatalogDatacentersApi Objects + +```python +class CatalogDatacentersApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### list\_datacenters + +```python +@validate_call +async def list_datacenters( + _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 +) -> ListDatacentersReply +``` + +List datacenters + +**Arguments**: + +- `_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\_datacenters\_with\_http\_info + +```python +@validate_call +async def list_datacenters_with_http_info( + _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[ListDatacentersReply] +``` + +List datacenters + +**Arguments**: + +- `_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\_datacenters\_without\_preload\_content + +```python +@validate_call +async def list_datacenters_without_preload_content( + _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 datacenters + +**Arguments**: + +- `_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.subscriptions\_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. + + + +## SubscriptionsApi Objects + +```python +class SubscriptionsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### get\_subscription + +```python +@validate_call +async def get_subscription( + id: Annotated[StrictStr, + Field(description="The id of the instance")], + _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 +) -> GetSubscriptionReply +``` + +Get Subscription + +**Arguments**: + +- `id` (`str`): The id of the instance (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\_subscription\_with\_http\_info + +```python +@validate_call +async def get_subscription_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the instance")], + _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[GetSubscriptionReply] +``` + +Get Subscription + +**Arguments**: + +- `id` (`str`): The id of the instance (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\_subscription\_without\_preload\_content + +```python +@validate_call +async def get_subscription_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the instance")], + _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 Subscription + +**Arguments**: + +- `id` (`str`): The id of the instance (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. + + + +# koyeb/api\_async.api.catalog\_regions\_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. + + + +## CatalogRegionsApi Objects + +```python +class CatalogRegionsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### get\_region + +```python +@validate_call +async def get_region( + id: Annotated[StrictStr, + Field(description="The name of the region")], + _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) -> GetRegionReply +``` + +Get Region + +**Arguments**: + +- `id` (`str`): The name of the region (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\_region\_with\_http\_info + +```python +@validate_call +async def get_region_with_http_info( + id: Annotated[StrictStr, + Field(description="The name of the region")], + _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[GetRegionReply] +``` + +Get Region + +**Arguments**: + +- `id` (`str`): The name of the region (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\_region\_without\_preload\_content + +```python +@validate_call +async def get_region_without_preload_content( + id: Annotated[StrictStr, + Field(description="The name of the region")], + _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 Region + +**Arguments**: + +- `id` (`str`): The name of the region (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\_regions + +```python +@validate_call +async def list_regions( + 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, + id: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for regions")] = 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) -> ListRegionsReply +``` + +List Region + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `id` (`str`): (Optional) A filter for regions +- `_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\_regions\_with\_http\_info + +```python +@validate_call +async def list_regions_with_http_info( + 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, + id: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for regions")] = 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[ListRegionsReply] +``` + +List Region + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `id` (`str`): (Optional) A filter for regions +- `_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\_regions\_without\_preload\_content + +```python +@validate_call +async def list_regions_without_preload_content( + 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, + id: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for regions")] = 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 Region + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `id` (`str`): (Optional) A filter for regions +- `_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.regional\_deployments\_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. + + + +## RegionalDeploymentsApi Objects + +```python +class RegionalDeploymentsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### get\_regional\_deployment + +```python +@validate_call +async def get_regional_deployment( + id: Annotated[StrictStr, + Field(description="The id of the regional deployment")], + _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 +) -> GetRegionalDeploymentReply +``` + +Get Regional Deployment + +Experimental: use at your own risk + +**Arguments**: + +- `id` (`str`): The id of the regional deployment (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\_regional\_deployment\_with\_http\_info + +```python +@validate_call +async def get_regional_deployment_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the regional deployment")], + _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[GetRegionalDeploymentReply] +``` + +Get Regional Deployment + +Experimental: use at your own risk + +**Arguments**: + +- `id` (`str`): The id of the regional deployment (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\_regional\_deployment\_without\_preload\_content + +```python +@validate_call +async def get_regional_deployment_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the regional deployment")], + _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 Regional Deployment + +Experimental: use at your own risk + +**Arguments**: + +- `id` (`str`): The id of the regional deployment (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\_regional\_deployment\_events + +```python +@validate_call +async def list_regional_deployment_events( + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description="(Optional) Filter on regional deployment id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on regional deployment 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 +) -> ListRegionalDeploymentEventsReply +``` + +List Regional Deployment events + +**Arguments**: + +- `regional_deployment_id` (`str`): (Optional) Filter on regional deployment id +- `types` (`List[str]`): (Optional) Filter on regional deployment 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\_regional\_deployment\_events\_with\_http\_info + +```python +@validate_call +async def list_regional_deployment_events_with_http_info( + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description="(Optional) Filter on regional deployment id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on regional deployment 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[ListRegionalDeploymentEventsReply] +``` + +List Regional Deployment events + +**Arguments**: + +- `regional_deployment_id` (`str`): (Optional) Filter on regional deployment id +- `types` (`List[str]`): (Optional) Filter on regional deployment 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\_regional\_deployment\_events\_without\_preload\_content + +```python +@validate_call +async def list_regional_deployment_events_without_preload_content( + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description="(Optional) Filter on regional deployment id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on regional deployment 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 Regional Deployment events + +**Arguments**: + +- `regional_deployment_id` (`str`): (Optional) Filter on regional deployment id +- `types` (`List[str]`): (Optional) Filter on regional deployment 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\_regional\_deployments + +```python +@validate_call +async def list_regional_deployments( + deployment_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on deployment id")] = 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, + _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 +) -> ListRegionalDeploymentsReply +``` + +List Regional Deployments + +Experimental: use at your own risk + +**Arguments**: + +- `deployment_id` (`str`): (Optional) Filter on deployment id +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `_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\_regional\_deployments\_with\_http\_info + +```python +@validate_call +async def list_regional_deployments_with_http_info( + deployment_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on deployment id")] = 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, + _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[ListRegionalDeploymentsReply] +``` + +List Regional Deployments + +Experimental: use at your own risk + +**Arguments**: + +- `deployment_id` (`str`): (Optional) Filter on deployment id +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `_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\_regional\_deployments\_without\_preload\_content + +```python +@validate_call +async def list_regional_deployments_without_preload_content( + deployment_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on deployment id")] = 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, + _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 Regional Deployments + +Experimental: use at your own risk + +**Arguments**: + +- `deployment_id` (`str`): (Optional) Filter on deployment id +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `_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.docker\_helper\_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. + + + +## DockerHelperApi Objects + +```python +class DockerHelperApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### verify\_docker\_image + +```python +@validate_call +async def verify_docker_image( + image: Annotated[ + Optional[StrictStr], + Field(description="The full image uri to be verified")] = None, + secret_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) the id of the secret to use to authenticate to the registry" + )] = 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 +) -> VerifyDockerImageReply +``` + +Verify Docker Image + +Verify if a docker image is reachable + +**Arguments**: + +- `image` (`str`): The full image uri to be verified +- `secret_id` (`str`): (Optional) the id of the secret to use to authenticate to the registry +- `_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. + + + +#### verify\_docker\_image\_with\_http\_info + +```python +@validate_call +async def verify_docker_image_with_http_info( + image: Annotated[ + Optional[StrictStr], + Field(description="The full image uri to be verified")] = None, + secret_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) the id of the secret to use to authenticate to the registry" + )] = 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[VerifyDockerImageReply] +``` + +Verify Docker Image + +Verify if a docker image is reachable + +**Arguments**: + +- `image` (`str`): The full image uri to be verified +- `secret_id` (`str`): (Optional) the id of the secret to use to authenticate to the registry +- `_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. + + + +#### verify\_docker\_image\_without\_preload\_content + +```python +@validate_call +async def verify_docker_image_without_preload_content( + image: Annotated[ + Optional[StrictStr], + Field(description="The full image uri to be verified")] = None, + secret_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) the id of the secret to use to authenticate to the registry" + )] = 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 +``` + +Verify Docker Image + +Verify if a docker image is reachable + +**Arguments**: + +- `image` (`str`): The full image uri to be verified +- `secret_id` (`str`): (Optional) the id of the secret to use to authenticate to the registry +- `_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.activity\_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. + + + +## ActivityApi Objects + +```python +class ActivityApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### get\_account\_activities + +```python +@validate_call +async def get_account_activities( + limit: Optional[StrictStr] = None, + offset: 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) -> ActivityList +``` + +get_account_activities + +**Arguments**: + +- `limit` (`str`): +- `offset` (`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. + + + +#### get\_account\_activities\_with\_http\_info + +```python +@validate_call +async def get_account_activities_with_http_info( + limit: Optional[StrictStr] = None, + offset: 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[ActivityList] +``` + +get_account_activities + +**Arguments**: + +- `limit` (`str`): +- `offset` (`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. + + + +#### get\_account\_activities\_without\_preload\_content + +```python +@validate_call +async def get_account_activities_without_preload_content( + limit: Optional[StrictStr] = None, + offset: 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 +``` + +get_account_activities + +**Arguments**: + +- `limit` (`str`): +- `offset` (`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\_activities + +```python +@validate_call +async def list_activities( + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on object type")] = 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) -> ActivityList +``` + +List Activities + +**Arguments**: + +- `limit` (`str`): +- `offset` (`str`): +- `types` (`List[str]`): (Optional) Filter on object type +- `_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\_activities\_with\_http\_info + +```python +@validate_call +async def list_activities_with_http_info( + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on object type")] = 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[ActivityList] +``` + +List Activities + +**Arguments**: + +- `limit` (`str`): +- `offset` (`str`): +- `types` (`List[str]`): (Optional) Filter on object type +- `_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\_activities\_without\_preload\_content + +```python +@validate_call +async def list_activities_without_preload_content( + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on object type")] = 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 Activities + +**Arguments**: + +- `limit` (`str`): +- `offset` (`str`): +- `types` (`List[str]`): (Optional) Filter on object type +- `_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\_notifications + +```python +@validate_call +async def list_notifications( + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + mark_read: Optional[StrictStr] = None, + mark_seen: Optional[StrictStr] = None, + unread: Optional[StrictStr] = None, + unseen: 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) -> NotificationList +``` + +List Notifications + +**Arguments**: + +- `limit` (`str`): +- `offset` (`str`): +- `mark_read` (`str`): +- `mark_seen` (`str`): +- `unread` (`str`): +- `unseen` (`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\_notifications\_with\_http\_info + +```python +@validate_call +async def list_notifications_with_http_info( + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + mark_read: Optional[StrictStr] = None, + mark_seen: Optional[StrictStr] = None, + unread: Optional[StrictStr] = None, + unseen: 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[NotificationList] +``` + +List Notifications + +**Arguments**: + +- `limit` (`str`): +- `offset` (`str`): +- `mark_read` (`str`): +- `mark_seen` (`str`): +- `unread` (`str`): +- `unseen` (`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\_notifications\_without\_preload\_content + +```python +@validate_call +async def list_notifications_without_preload_content( + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + mark_read: Optional[StrictStr] = None, + mark_seen: Optional[StrictStr] = None, + unread: Optional[StrictStr] = None, + unseen: 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 Notifications + +**Arguments**: + +- `limit` (`str`): +- `offset` (`str`): +- `mark_read` (`str`): +- `mark_seen` (`str`): +- `unread` (`str`): +- `unseen` (`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.coupons\_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. + + + +## CouponsApi Objects + +```python +class CouponsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### check\_coupon + +```python +@validate_call +async def check_coupon( + code: 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) -> CheckCouponReply +``` + +Check Coupon + +This API allows to check if a given coupon is valid. It is heavily rate-limited. + +**Arguments**: + +- `code` (`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. + + + +#### check\_coupon\_with\_http\_info + +```python +@validate_call +async def check_coupon_with_http_info( + code: 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[CheckCouponReply] +``` + +Check Coupon + +This API allows to check if a given coupon is valid. It is heavily rate-limited. + +**Arguments**: + +- `code` (`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. + + + +#### check\_coupon\_without\_preload\_content + +```python +@validate_call +async def check_coupon_without_preload_content( + code: 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 +``` + +Check Coupon + +This API allows to check if a given coupon is valid. It is heavily rate-limited. + +**Arguments**: + +- `code` (`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. + + + +#### redeem\_coupon + +```python +@validate_call +async def redeem_coupon( + body: RedeemCouponRequest, + _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) -> object +``` + +Redeem Coupon + +This API allows to redeem a coupon. Pass the code you received in the body. + +**Arguments**: + +- `body` (`RedeemCouponRequest`): (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. + + + +#### redeem\_coupon\_with\_http\_info + +```python +@validate_call +async def redeem_coupon_with_http_info( + body: RedeemCouponRequest, + _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[object] +``` + +Redeem Coupon + +This API allows to redeem a coupon. Pass the code you received in the body. + +**Arguments**: + +- `body` (`RedeemCouponRequest`): (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. + + + +#### redeem\_coupon\_without\_preload\_content + +```python +@validate_call +async def redeem_coupon_without_preload_content( + body: RedeemCouponRequest, + _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 +``` + +Redeem Coupon + +This API allows to redeem a coupon. Pass the code you received in the body. + +**Arguments**: + +- `body` (`RedeemCouponRequest`): (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. + + + +# koyeb/api\_async.api.credentials\_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. + + + +## CredentialsApi Objects + +```python +class CredentialsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_credential + +```python +@validate_call +async def create_credential( + credential: CreateCredential, + _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 +) -> CreateCredentialReply +``` + +Create credential + +**Arguments**: + +- `credential` (`CreateCredential`): (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\_credential\_with\_http\_info + +```python +@validate_call +async def create_credential_with_http_info( + credential: CreateCredential, + _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[CreateCredentialReply] +``` + +Create credential + +**Arguments**: + +- `credential` (`CreateCredential`): (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\_credential\_without\_preload\_content + +```python +@validate_call +async def create_credential_without_preload_content( + credential: CreateCredential, + _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 credential + +**Arguments**: + +- `credential` (`CreateCredential`): (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\_credential + +```python +@validate_call +async def delete_credential( + 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) -> object +``` + +Delete credential + +**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\_credential\_with\_http\_info + +```python +@validate_call +async def delete_credential_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[object] +``` + +Delete credential + +**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\_credential\_without\_preload\_content + +```python +@validate_call +async def delete_credential_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 credential + +**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\_credential + +```python +@validate_call +async def get_credential( + 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 +) -> GetCredentialReply +``` + +Get credential + +**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\_credential\_with\_http\_info + +```python +@validate_call +async def get_credential_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[GetCredentialReply] +``` + +Get credential + +**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\_credential\_without\_preload\_content + +```python +@validate_call +async def get_credential_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 credential + +**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\_credentials + +```python +@validate_call +async def list_credentials( + type: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for type")] = None, + name: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + organization_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an user")] = 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, + _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 +) -> ListCredentialsReply +``` + +List credentials + +**Arguments**: + +- `type` (`str`): (Optional) A filter for type +- `name` (`str`): (Optional) A filter for name +- `organization_id` (`str`): (Optional) Filter for an organization +- `user_id` (`str`): (Optional) Filter for an user +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `_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\_credentials\_with\_http\_info + +```python +@validate_call +async def list_credentials_with_http_info( + type: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for type")] = None, + name: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + organization_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an user")] = 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, + _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[ListCredentialsReply] +``` + +List credentials + +**Arguments**: + +- `type` (`str`): (Optional) A filter for type +- `name` (`str`): (Optional) A filter for name +- `organization_id` (`str`): (Optional) Filter for an organization +- `user_id` (`str`): (Optional) Filter for an user +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `_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\_credentials\_without\_preload\_content + +```python +@validate_call +async def list_credentials_without_preload_content( + type: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for type")] = None, + name: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + organization_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an user")] = 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, + _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 credentials + +**Arguments**: + +- `type` (`str`): (Optional) A filter for type +- `name` (`str`): (Optional) A filter for name +- `organization_id` (`str`): (Optional) Filter for an organization +- `user_id` (`str`): (Optional) Filter for an user +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `_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. + + + +#### update\_credential + +```python +@validate_call +async def update_credential( + id: StrictStr, + credential: Credential, + update_mask: 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 +) -> UpdateCredentialReply +``` + +Update credential + +**Arguments**: + +- `id` (`str`): (required) +- `credential` (`Credential`): (required) +- `update_mask` (`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. + + + +#### update\_credential\_with\_http\_info + +```python +@validate_call +async def update_credential_with_http_info( + id: StrictStr, + credential: Credential, + update_mask: 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[UpdateCredentialReply] +``` + +Update credential + +**Arguments**: + +- `id` (`str`): (required) +- `credential` (`Credential`): (required) +- `update_mask` (`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. + + + +#### update\_credential\_without\_preload\_content + +```python +@validate_call +async def update_credential_without_preload_content( + id: StrictStr, + credential: Credential, + update_mask: 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 +``` + +Update credential + +**Arguments**: + +- `id` (`str`): (required) +- `credential` (`Credential`): (required) +- `update_mask` (`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. + + + +#### update\_credential2 + +```python +@validate_call +async def update_credential2( + id: StrictStr, + credential: Credential, + update_mask: 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 +) -> UpdateCredentialReply +``` + +Update credential + +**Arguments**: + +- `id` (`str`): (required) +- `credential` (`Credential`): (required) +- `update_mask` (`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. + + + +#### update\_credential2\_with\_http\_info + +```python +@validate_call +async def update_credential2_with_http_info( + id: StrictStr, + credential: Credential, + update_mask: 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[UpdateCredentialReply] +``` + +Update credential + +**Arguments**: + +- `id` (`str`): (required) +- `credential` (`Credential`): (required) +- `update_mask` (`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. + + + +#### update\_credential2\_without\_preload\_content + +```python +@validate_call +async def update_credential2_without_preload_content( + id: StrictStr, + credential: Credential, + update_mask: 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 +``` + +Update credential + +**Arguments**: + +- `id` (`str`): (required) +- `credential` (`Credential`): (required) +- `update_mask` (`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.organization\_confirmations\_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. + + + +## OrganizationConfirmationsApi Objects + +```python +class OrganizationConfirmationsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### confirm\_organization\_action + +```python +@validate_call +async def confirm_organization_action( + 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) -> object +``` + +Confirm organization action + +**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. + + + +#### confirm\_organization\_action\_with\_http\_info + +```python +@validate_call +async def confirm_organization_action_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[object] +``` + +Confirm organization action + +**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. + + + +#### confirm\_organization\_action\_without\_preload\_content + +```python +@validate_call +async def confirm_organization_action_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 +``` + +Confirm organization action + +**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. + + + +# koyeb/api\_async.api.domains\_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. + + + +## DomainsApi Objects + +```python +class DomainsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_domain + +```python +@validate_call +async def create_domain( + domain: CreateDomain, + _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) -> CreateDomainReply +``` + +Create Domain + +**Arguments**: + +- `domain` (`CreateDomain`): (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\_domain\_with\_http\_info + +```python +@validate_call +async def create_domain_with_http_info( + domain: CreateDomain, + _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[CreateDomainReply] +``` + +Create Domain + +**Arguments**: + +- `domain` (`CreateDomain`): (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\_domain\_without\_preload\_content + +```python +@validate_call +async def create_domain_without_preload_content( + domain: CreateDomain, + _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 Domain + +**Arguments**: + +- `domain` (`CreateDomain`): (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\_domain + +```python +@validate_call +async def delete_domain( + 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) -> object +``` + +Delete Domain + +**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\_domain\_with\_http\_info + +```python +@validate_call +async def delete_domain_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[object] +``` + +Delete Domain + +**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\_domain\_without\_preload\_content + +```python +@validate_call +async def delete_domain_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 Domain + +**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\_domain + +```python +@validate_call +async def get_domain( + 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) -> GetDomainReply +``` + +Get Domain + +**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\_domain\_with\_http\_info + +```python +@validate_call +async def get_domain_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[GetDomainReply] +``` + +Get Domain + +**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\_domain\_without\_preload\_content + +```python +@validate_call +async def get_domain_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 Domain + +**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\_domains + +```python +@validate_call +async def list_domains( + 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, + types: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app" + )] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) A filter for statuses")] = None, + app_ids: Annotated[Optional[List[StrictStr]], + Field( + description="(Optional) A filter for apps")] = None, + name: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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) -> ListDomainsReply +``` + +List Domains + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `types` (`List[str]`): (Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app +- `statuses` (`List[str]`): (Optional) A filter for statuses +- `app_ids` (`List[str]`): (Optional) A filter for apps +- `name` (`str`): (Optional) A filter for name +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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\_domains\_with\_http\_info + +```python +@validate_call +async def list_domains_with_http_info( + 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, + types: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app" + )] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) A filter for statuses")] = None, + app_ids: Annotated[Optional[List[StrictStr]], + Field( + description="(Optional) A filter for apps")] = None, + name: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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[ListDomainsReply] +``` + +List Domains + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `types` (`List[str]`): (Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app +- `statuses` (`List[str]`): (Optional) A filter for statuses +- `app_ids` (`List[str]`): (Optional) A filter for apps +- `name` (`str`): (Optional) A filter for name +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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\_domains\_without\_preload\_content + +```python +@validate_call +async def list_domains_without_preload_content( + 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, + types: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app" + )] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) A filter for statuses")] = None, + app_ids: Annotated[Optional[List[StrictStr]], + Field( + description="(Optional) A filter for apps")] = None, + name: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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 Domains + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `types` (`List[str]`): (Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app +- `statuses` (`List[str]`): (Optional) A filter for statuses +- `app_ids` (`List[str]`): (Optional) A filter for apps +- `name` (`str`): (Optional) A filter for name +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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. + + + +#### refresh\_domain\_status + +```python +@validate_call +async def refresh_domain_status( + 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) -> object +``` + +Refresh Domain Status + +**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. + + + +#### refresh\_domain\_status\_with\_http\_info + +```python +@validate_call +async def refresh_domain_status_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[object] +``` + +Refresh Domain Status + +**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. + + + +#### refresh\_domain\_status\_without\_preload\_content + +```python +@validate_call +async def refresh_domain_status_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 +``` + +Refresh Domain Status + +**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. + + + +#### update\_domain + +```python +@validate_call +async def update_domain( + id: StrictStr, + domain: UpdateDomain, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[ + Optional[StrictBool], + Field(description= + "If set, run validation and check that the domain is available." + )] = 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) -> UpdateDomainReply +``` + +Update Domain + +**Arguments**: + +- `id` (`str`): (required) +- `domain` (`UpdateDomain`): (required) +- `update_mask` (`str`): +- `dry_run` (`bool`): If set, run validation and check that the domain is available. +- `_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. + + + +#### update\_domain\_with\_http\_info + +```python +@validate_call +async def update_domain_with_http_info( + id: StrictStr, + domain: UpdateDomain, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[ + Optional[StrictBool], + Field(description= + "If set, run validation and check that the domain is available." + )] = 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[UpdateDomainReply] +``` + +Update Domain + +**Arguments**: + +- `id` (`str`): (required) +- `domain` (`UpdateDomain`): (required) +- `update_mask` (`str`): +- `dry_run` (`bool`): If set, run validation and check that the domain is available. +- `_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. + + + +#### update\_domain\_without\_preload\_content + +```python +@validate_call +async def update_domain_without_preload_content( + id: StrictStr, + domain: UpdateDomain, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[ + Optional[StrictBool], + Field(description= + "If set, run validation and check that the domain is available." + )] = 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 +``` + +Update Domain + +**Arguments**: + +- `id` (`str`): (required) +- `domain` (`UpdateDomain`): (required) +- `update_mask` (`str`): +- `dry_run` (`bool`): If set, run validation and check that the domain is available. +- `_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.logs\_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. + + + +## LogsApi Objects + +```python +class LogsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### query\_logs + +```python +@validate_call +async def query_logs( + type: Annotated[ + Optional[StrictStr], + Field( + description= + "Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\"." + )] = None, + app_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + service_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + instance_id: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using instance_ids instead." + )] = None, + instance_ids: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + stream: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs)." + )] = None, + start: Annotated[ + Optional[datetime], + Field( + description= + "(Optional) Must always be before `end`. Defaults to 15 minutes ago." + )] = None, + end: Annotated[ + Optional[datetime], + Field(description= + "(Optional) Must always be after `start`. Defaults to now." + )] = None, + order: Annotated[ + Optional[StrictStr], + Field(description="(Optional) `asc` or `desc`. Defaults to `desc`." + )] = None, + limit: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Defaults to 100. Maximum of 1000." + )] = None, + regex: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Apply a regex to filter logs. Can't be used with `text`." + )] = None, + text: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Looks for this string in logs. Can't be used with `regex`." + )] = None, + regions: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"])." + )] = 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) -> QueryLogsReply +``` + +Query logs + +**Arguments**: + +- `type` (`str`): Type of logs to retrieve, either "build" or "runtime". Defaults to "runtime". +- `app_id` (`str`): (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `service_id` (`str`): (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `deployment_id` (`str`): (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `regional_deployment_id` (`str`): (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `instance_id` (`str`): Deprecated, prefer using instance_ids instead. +- `instance_ids` (`List[str]`): (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `stream` (`str`): Deprecated, prefer using streams instead. +- `streams` (`List[str]`): (Optional) Filter on stream: either "stdout", "stderr" or "koyeb" (for system logs). +- `start` (`datetime`): (Optional) Must always be before `end`. Defaults to 15 minutes ago. +- `end` (`datetime`): (Optional) Must always be after `start`. Defaults to now. +- `order` (`str`): (Optional) `asc` or `desc`. Defaults to `desc`. +- `limit` (`str`): (Optional) Defaults to 100. Maximum of 1000. +- `regex` (`str`): (Optional) Apply a regex to filter logs. Can't be used with `text`. +- `text` (`str`): (Optional) Looks for this string in logs. Can't be used with `regex`. +- `regions` (`List[str]`): (Optional) Filter on the provided regions (e.g. ["fra", "was"]). +- `_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. + + + +#### query\_logs\_with\_http\_info + +```python +@validate_call +async def query_logs_with_http_info( + type: Annotated[ + Optional[StrictStr], + Field( + description= + "Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\"." + )] = None, + app_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + service_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + instance_id: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using instance_ids instead." + )] = None, + instance_ids: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + stream: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs)." + )] = None, + start: Annotated[ + Optional[datetime], + Field( + description= + "(Optional) Must always be before `end`. Defaults to 15 minutes ago." + )] = None, + end: Annotated[ + Optional[datetime], + Field(description= + "(Optional) Must always be after `start`. Defaults to now." + )] = None, + order: Annotated[ + Optional[StrictStr], + Field(description="(Optional) `asc` or `desc`. Defaults to `desc`." + )] = None, + limit: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Defaults to 100. Maximum of 1000." + )] = None, + regex: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Apply a regex to filter logs. Can't be used with `text`." + )] = None, + text: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Looks for this string in logs. Can't be used with `regex`." + )] = None, + regions: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"])." + )] = 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[QueryLogsReply] +``` + +Query logs + +**Arguments**: + +- `type` (`str`): Type of logs to retrieve, either "build" or "runtime". Defaults to "runtime". +- `app_id` (`str`): (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `service_id` (`str`): (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `deployment_id` (`str`): (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `regional_deployment_id` (`str`): (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `instance_id` (`str`): Deprecated, prefer using instance_ids instead. +- `instance_ids` (`List[str]`): (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `stream` (`str`): Deprecated, prefer using streams instead. +- `streams` (`List[str]`): (Optional) Filter on stream: either "stdout", "stderr" or "koyeb" (for system logs). +- `start` (`datetime`): (Optional) Must always be before `end`. Defaults to 15 minutes ago. +- `end` (`datetime`): (Optional) Must always be after `start`. Defaults to now. +- `order` (`str`): (Optional) `asc` or `desc`. Defaults to `desc`. +- `limit` (`str`): (Optional) Defaults to 100. Maximum of 1000. +- `regex` (`str`): (Optional) Apply a regex to filter logs. Can't be used with `text`. +- `text` (`str`): (Optional) Looks for this string in logs. Can't be used with `regex`. +- `regions` (`List[str]`): (Optional) Filter on the provided regions (e.g. ["fra", "was"]). +- `_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. + + + +#### query\_logs\_without\_preload\_content + +```python +@validate_call +async def query_logs_without_preload_content( + type: Annotated[ + Optional[StrictStr], + Field( + description= + "Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\"." + )] = None, + app_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + service_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + instance_id: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using instance_ids instead." + )] = None, + instance_ids: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + stream: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs)." + )] = None, + start: Annotated[ + Optional[datetime], + Field( + description= + "(Optional) Must always be before `end`. Defaults to 15 minutes ago." + )] = None, + end: Annotated[ + Optional[datetime], + Field(description= + "(Optional) Must always be after `start`. Defaults to now." + )] = None, + order: Annotated[ + Optional[StrictStr], + Field(description="(Optional) `asc` or `desc`. Defaults to `desc`." + )] = None, + limit: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Defaults to 100. Maximum of 1000." + )] = None, + regex: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Apply a regex to filter logs. Can't be used with `text`." + )] = None, + text: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Looks for this string in logs. Can't be used with `regex`." + )] = None, + regions: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"])." + )] = 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 +``` + +Query logs + +**Arguments**: + +- `type` (`str`): Type of logs to retrieve, either "build" or "runtime". Defaults to "runtime". +- `app_id` (`str`): (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `service_id` (`str`): (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `deployment_id` (`str`): (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `regional_deployment_id` (`str`): (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `instance_id` (`str`): Deprecated, prefer using instance_ids instead. +- `instance_ids` (`List[str]`): (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `stream` (`str`): Deprecated, prefer using streams instead. +- `streams` (`List[str]`): (Optional) Filter on stream: either "stdout", "stderr" or "koyeb" (for system logs). +- `start` (`datetime`): (Optional) Must always be before `end`. Defaults to 15 minutes ago. +- `end` (`datetime`): (Optional) Must always be after `start`. Defaults to now. +- `order` (`str`): (Optional) `asc` or `desc`. Defaults to `desc`. +- `limit` (`str`): (Optional) Defaults to 100. Maximum of 1000. +- `regex` (`str`): (Optional) Apply a regex to filter logs. Can't be used with `text`. +- `text` (`str`): (Optional) Looks for this string in logs. Can't be used with `regex`. +- `regions` (`List[str]`): (Optional) Filter on the provided regions (e.g. ["fra", "was"]). +- `_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. + + + +#### tail\_logs + +```python +@validate_call +async def tail_logs( + type: Annotated[ + Optional[StrictStr], + Field( + description= + "Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\"." + )] = None, + app_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + service_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + instance_id: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using instance_ids instead." + )] = None, + instance_ids: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + stream: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs)." + )] = None, + start: Annotated[ + Optional[datetime], + Field(description="(Optional) Defaults to 24 hours ago.")] = None, + limit: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Defaults to 1000. Maximum of 1000." + )] = None, + regex: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Apply a regex to filter logs. Can't be used with `text`." + )] = None, + text: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Looks for this string in logs. Can't be used with `regex`." + )] = None, + regions: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"])." + )] = 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 +) -> StreamResultOfLogEntry +``` + +Tails logs + +**Arguments**: + +- `type` (`str`): Type of logs to retrieve, either "build" or "runtime". Defaults to "runtime". +- `app_id` (`str`): (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `service_id` (`str`): (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `deployment_id` (`str`): (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `regional_deployment_id` (`str`): (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `instance_id` (`str`): Deprecated, prefer using instance_ids instead. +- `instance_ids` (`List[str]`): (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `stream` (`str`): Deprecated, prefer using streams instead. +- `streams` (`List[str]`): (Optional) Filter on stream: either "stdout", "stderr" or "koyeb" (for system logs). +- `start` (`datetime`): (Optional) Defaults to 24 hours ago. +- `limit` (`str`): (Optional) Defaults to 1000. Maximum of 1000. +- `regex` (`str`): (Optional) Apply a regex to filter logs. Can't be used with `text`. +- `text` (`str`): (Optional) Looks for this string in logs. Can't be used with `regex`. +- `regions` (`List[str]`): (Optional) Filter on the provided regions (e.g. ["fra", "was"]). +- `_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. + + + +#### tail\_logs\_with\_http\_info + +```python +@validate_call +async def tail_logs_with_http_info( + type: Annotated[ + Optional[StrictStr], + Field( + description= + "Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\"." + )] = None, + app_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + service_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + instance_id: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using instance_ids instead." + )] = None, + instance_ids: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + stream: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs)." + )] = None, + start: Annotated[ + Optional[datetime], + Field(description="(Optional) Defaults to 24 hours ago.")] = None, + limit: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Defaults to 1000. Maximum of 1000." + )] = None, + regex: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Apply a regex to filter logs. Can't be used with `text`." + )] = None, + text: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Looks for this string in logs. Can't be used with `regex`." + )] = None, + regions: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"])." + )] = 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[StreamResultOfLogEntry] +``` + +Tails logs + +**Arguments**: + +- `type` (`str`): Type of logs to retrieve, either "build" or "runtime". Defaults to "runtime". +- `app_id` (`str`): (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `service_id` (`str`): (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `deployment_id` (`str`): (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `regional_deployment_id` (`str`): (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `instance_id` (`str`): Deprecated, prefer using instance_ids instead. +- `instance_ids` (`List[str]`): (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `stream` (`str`): Deprecated, prefer using streams instead. +- `streams` (`List[str]`): (Optional) Filter on stream: either "stdout", "stderr" or "koyeb" (for system logs). +- `start` (`datetime`): (Optional) Defaults to 24 hours ago. +- `limit` (`str`): (Optional) Defaults to 1000. Maximum of 1000. +- `regex` (`str`): (Optional) Apply a regex to filter logs. Can't be used with `text`. +- `text` (`str`): (Optional) Looks for this string in logs. Can't be used with `regex`. +- `regions` (`List[str]`): (Optional) Filter on the provided regions (e.g. ["fra", "was"]). +- `_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. + + + +#### tail\_logs\_without\_preload\_content + +```python +@validate_call +async def tail_logs_without_preload_content( + type: Annotated[ + Optional[StrictStr], + Field( + description= + "Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\"." + )] = None, + app_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + service_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + instance_id: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using instance_ids instead." + )] = None, + instance_ids: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set." + )] = None, + stream: Annotated[ + Optional[StrictStr], + Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs)." + )] = None, + start: Annotated[ + Optional[datetime], + Field(description="(Optional) Defaults to 24 hours ago.")] = None, + limit: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Defaults to 1000. Maximum of 1000." + )] = None, + regex: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Apply a regex to filter logs. Can't be used with `text`." + )] = None, + text: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Looks for this string in logs. Can't be used with `regex`." + )] = None, + regions: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"])." + )] = 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 +``` + +Tails logs + +**Arguments**: + +- `type` (`str`): Type of logs to retrieve, either "build" or "runtime". Defaults to "runtime". +- `app_id` (`str`): (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `service_id` (`str`): (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `deployment_id` (`str`): (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `regional_deployment_id` (`str`): (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `instance_id` (`str`): Deprecated, prefer using instance_ids instead. +- `instance_ids` (`List[str]`): (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. +- `stream` (`str`): Deprecated, prefer using streams instead. +- `streams` (`List[str]`): (Optional) Filter on stream: either "stdout", "stderr" or "koyeb" (for system logs). +- `start` (`datetime`): (Optional) Defaults to 24 hours ago. +- `limit` (`str`): (Optional) Defaults to 1000. Maximum of 1000. +- `regex` (`str`): (Optional) Apply a regex to filter logs. Can't be used with `text`. +- `text` (`str`): (Optional) Looks for this string in logs. Can't be used with `regex`. +- `regions` (`List[str]`): (Optional) Filter on the provided regions (e.g. ["fra", "was"]). +- `_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.services\_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. + + + +## ServicesApi Objects + +```python +class ServicesApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### autocomplete + +```python +@validate_call +async def autocomplete( + body: AutocompleteRequest, + _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) -> AutocompleteReply +``` + +Autocomplete definition + +Generate autocomplete definition for a service + +**Arguments**: + +- `body` (`AutocompleteRequest`): (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. + + + +#### autocomplete\_with\_http\_info + +```python +@validate_call +async def autocomplete_with_http_info( + body: AutocompleteRequest, + _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[AutocompleteReply] +``` + +Autocomplete definition + +Generate autocomplete definition for a service + +**Arguments**: + +- `body` (`AutocompleteRequest`): (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. + + + +#### autocomplete\_without\_preload\_content + +```python +@validate_call +async def autocomplete_without_preload_content( + body: AutocompleteRequest, + _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 +``` + +Autocomplete definition + +Generate autocomplete definition for a service + +**Arguments**: + +- `body` (`AutocompleteRequest`): (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\_service + +```python +@validate_call +async def create_service( + service: CreateService, + dry_run: Annotated[Optional[StrictBool], + Field(description="If set only run validation")] = 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 +) -> CreateServiceReply +``` + +Create Service + +**Arguments**: + +- `service` (`CreateService`): (required) +- `dry_run` (`bool`): If set only run validation +- `_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\_service\_with\_http\_info + +```python +@validate_call +async def create_service_with_http_info( + service: CreateService, + dry_run: Annotated[Optional[StrictBool], + Field(description="If set only run validation")] = 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[CreateServiceReply] +``` + +Create Service + +**Arguments**: + +- `service` (`CreateService`): (required) +- `dry_run` (`bool`): If set only run validation +- `_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\_service\_without\_preload\_content + +```python +@validate_call +async def create_service_without_preload_content( + service: CreateService, + dry_run: Annotated[Optional[StrictBool], + Field(description="If set only run validation")] = 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 +``` + +Create Service + +**Arguments**: + +- `service` (`CreateService`): (required) +- `dry_run` (`bool`): If set only run validation +- `_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\_service + +```python +@validate_call +async def delete_service( + id: Annotated[StrictStr, + Field(description="The id of the entity to delete")], + _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) -> object +``` + +Delete Service + +Service deletion is allowed for all status. + +**Arguments**: + +- `id` (`str`): The id of the entity to delete (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\_service\_with\_http\_info + +```python +@validate_call +async def delete_service_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the entity to delete")], + _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[object] +``` + +Delete Service + +Service deletion is allowed for all status. + +**Arguments**: + +- `id` (`str`): The id of the entity to delete (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\_service\_without\_preload\_content + +```python +@validate_call +async def delete_service_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the entity to delete")], + _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 Service + +Service deletion is allowed for all status. + +**Arguments**: + +- `id` (`str`): The id of the entity to delete (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\_service\_scaling + +```python +@validate_call +async def delete_service_scaling( + id: Annotated[StrictStr, + Field(description="The id of the service")], + _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) -> object +``` + +Delete Service Scaling + +Deletes the manual scaling configuration for a service, reverting to the scaling defined in the deployment definition. + +**Arguments**: + +- `id` (`str`): The id of the service (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\_service\_scaling\_with\_http\_info + +```python +@validate_call +async def delete_service_scaling_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the service")], + _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[object] +``` + +Delete Service Scaling + +Deletes the manual scaling configuration for a service, reverting to the scaling defined in the deployment definition. + +**Arguments**: + +- `id` (`str`): The id of the service (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\_service\_scaling\_without\_preload\_content + +```python +@validate_call +async def delete_service_scaling_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the service")], + _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 Service Scaling + +Deletes the manual scaling configuration for a service, reverting to the scaling defined in the deployment definition. + +**Arguments**: + +- `id` (`str`): The id of the service (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\_service + +```python +@validate_call +async def get_service( + id: Annotated[StrictStr, + Field(description="The id of the Service")], + _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) -> GetServiceReply +``` + +Get Service + +**Arguments**: + +- `id` (`str`): The id of the Service (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\_service\_with\_http\_info + +```python +@validate_call +async def get_service_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the Service")], + _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[GetServiceReply] +``` + +Get Service + +**Arguments**: + +- `id` (`str`): The id of the Service (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\_service\_without\_preload\_content + +```python +@validate_call +async def get_service_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the Service")], + _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 Service + +**Arguments**: + +- `id` (`str`): The id of the Service (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\_service\_scaling + +```python +@validate_call +async def get_service_scaling( + id: Annotated[StrictStr, + Field(description="The id of the service")], + _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 +) -> GetServiceScalingReply +``` + +Get Service Scaling + +Returns the current scaling configuration for a service + +**Arguments**: + +- `id` (`str`): The id of the service (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\_service\_scaling\_with\_http\_info + +```python +@validate_call +async def get_service_scaling_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the service")], + _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[GetServiceScalingReply] +``` + +Get Service Scaling + +Returns the current scaling configuration for a service + +**Arguments**: + +- `id` (`str`): The id of the service (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\_service\_scaling\_without\_preload\_content + +```python +@validate_call +async def get_service_scaling_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the service")], + _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 Service Scaling + +Returns the current scaling configuration for a service + +**Arguments**: + +- `id` (`str`): The id of the service (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\_service\_events + +```python +@validate_call +async def list_service_events( + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on service id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on service 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 +) -> ListServiceEventsReply +``` + +List Service events + +**Arguments**: + +- `service_id` (`str`): (Optional) Filter on service id +- `types` (`List[str]`): (Optional) Filter on service 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\_service\_events\_with\_http\_info + +```python +@validate_call +async def list_service_events_with_http_info( + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on service id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on service 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[ListServiceEventsReply] +``` + +List Service events + +**Arguments**: + +- `service_id` (`str`): (Optional) Filter on service id +- `types` (`List[str]`): (Optional) Filter on service 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\_service\_events\_without\_preload\_content + +```python +@validate_call +async def list_service_events_without_preload_content( + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on service id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on service 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 Service events + +**Arguments**: + +- `service_id` (`str`): (Optional) Filter on service id +- `types` (`List[str]`): (Optional) Filter on service 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\_services + +```python +@validate_call +async def list_services( + app_id: Annotated[Optional[StrictStr], + Field( + description="(Optional) The id of the app")] = 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, + name: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on service types")] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on service statuses")] = None, + regions: Annotated[Optional[List[StrictStr]], + Field( + description="(Optional) Filter on regions")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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) -> ListServicesReply +``` + +List Services + +**Arguments**: + +- `app_id` (`str`): (Optional) The id of the app +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `name` (`str`): (Optional) A filter for name +- `types` (`List[str]`): (Optional) Filter on service types +- `statuses` (`List[str]`): (Optional) Filter on service statuses +- `regions` (`List[str]`): (Optional) Filter on regions +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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\_services\_with\_http\_info + +```python +@validate_call +async def list_services_with_http_info( + app_id: Annotated[Optional[StrictStr], + Field( + description="(Optional) The id of the app")] = 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, + name: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on service types")] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on service statuses")] = None, + regions: Annotated[Optional[List[StrictStr]], + Field( + description="(Optional) Filter on regions")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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[ListServicesReply] +``` + +List Services + +**Arguments**: + +- `app_id` (`str`): (Optional) The id of the app +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `name` (`str`): (Optional) A filter for name +- `types` (`List[str]`): (Optional) Filter on service types +- `statuses` (`List[str]`): (Optional) Filter on service statuses +- `regions` (`List[str]`): (Optional) Filter on regions +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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\_services\_without\_preload\_content + +```python +@validate_call +async def list_services_without_preload_content( + app_id: Annotated[Optional[StrictStr], + Field( + description="(Optional) The id of the app")] = 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, + name: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on service types")] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on service statuses")] = None, + regions: Annotated[Optional[List[StrictStr]], + Field( + description="(Optional) Filter on regions")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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 Services + +**Arguments**: + +- `app_id` (`str`): (Optional) The id of the app +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `name` (`str`): (Optional) A filter for name +- `types` (`List[str]`): (Optional) Filter on service types +- `statuses` (`List[str]`): (Optional) Filter on service statuses +- `regions` (`List[str]`): (Optional) Filter on regions +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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. + + + +#### pause\_service + +```python +@validate_call +async def pause_service( + id: Annotated[StrictStr, + Field(description="The id of the service to pause.")], + _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) -> object +``` + +Pause Service + +Service pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + +**Arguments**: + +- `id` (`str`): The id of the service to pause. (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. + + + +#### pause\_service\_with\_http\_info + +```python +@validate_call +async def pause_service_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the service to pause.")], + _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[object] +``` + +Pause Service + +Service pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + +**Arguments**: + +- `id` (`str`): The id of the service to pause. (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. + + + +#### pause\_service\_without\_preload\_content + +```python +@validate_call +async def pause_service_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the service to pause.")], + _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 +``` + +Pause Service + +Service pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + +**Arguments**: + +- `id` (`str`): The id of the service to pause. (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. + + + +#### re\_deploy + +```python +@validate_call +async def re_deploy( + id: StrictStr, + info: RedeployRequestInfo, + _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) -> RedeployReply +``` + +ReDeploy Service + +**Arguments**: + +- `id` (`str`): (required) +- `info` (`RedeployRequestInfo`): (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. + + + +#### re\_deploy\_with\_http\_info + +```python +@validate_call +async def re_deploy_with_http_info( + id: StrictStr, + info: RedeployRequestInfo, + _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[RedeployReply] +``` + +ReDeploy Service + +**Arguments**: + +- `id` (`str`): (required) +- `info` (`RedeployRequestInfo`): (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. + + + +#### re\_deploy\_without\_preload\_content + +```python +@validate_call +async def re_deploy_without_preload_content( + id: StrictStr, + info: RedeployRequestInfo, + _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 +``` + +ReDeploy Service + +**Arguments**: + +- `id` (`str`): (required) +- `info` (`RedeployRequestInfo`): (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. + + + +#### resume\_service + +```python +@validate_call +async def resume_service( + id: Annotated[StrictStr, + Field(description="The id of the service to pause.")], + skip_build: + Annotated[ + Optional[StrictBool], + Field( + description= + "If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened." + )] = None, + use_cache: Optional[StrictBool] = 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) -> object +``` + +Resume Service + +Service resume action is allowed for the following status: - paused + +**Arguments**: + +- `id` (`str`): The id of the service to pause. (required) +- `skip_build` (`bool`): If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened. +- `use_cache` (`bool`): +- `_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. + + + +#### resume\_service\_with\_http\_info + +```python +@validate_call +async def resume_service_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the service to pause.")], + skip_build: Annotated[ + Optional[StrictBool], + Field( + description= + "If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened." + )] = None, + use_cache: Optional[StrictBool] = 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[object] +``` + +Resume Service + +Service resume action is allowed for the following status: - paused + +**Arguments**: + +- `id` (`str`): The id of the service to pause. (required) +- `skip_build` (`bool`): If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened. +- `use_cache` (`bool`): +- `_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. + + + +#### resume\_service\_without\_preload\_content + +```python +@validate_call +async def resume_service_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the service to pause.")], + skip_build: Annotated[ + Optional[StrictBool], + Field( + description= + "If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened." + )] = None, + use_cache: Optional[StrictBool] = 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 +``` + +Resume Service + +Service resume action is allowed for the following status: - paused + +**Arguments**: + +- `id` (`str`): The id of the service to pause. (required) +- `skip_build` (`bool`): If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened. +- `use_cache` (`bool`): +- `_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. + + + +#### update\_service + +```python +@validate_call +async def update_service( + id: Annotated[StrictStr, + Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[ + Optional[StrictBool], + Field(description= + "If set, run validation and check that the service exists" + )] = 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 +) -> UpdateServiceReply +``` + +Update Service + +**Arguments**: + +- `id` (`str`): The id of the entity to update (required) +- `service` (`UpdateService`): (required) +- `update_mask` (`str`): +- `dry_run` (`bool`): If set, run validation and check that the service exists +- `_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. + + + +#### update\_service\_with\_http\_info + +```python +@validate_call +async def update_service_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[ + Optional[StrictBool], + Field(description= + "If set, run validation and check that the service exists" + )] = 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[UpdateServiceReply] +``` + +Update Service + +**Arguments**: + +- `id` (`str`): The id of the entity to update (required) +- `service` (`UpdateService`): (required) +- `update_mask` (`str`): +- `dry_run` (`bool`): If set, run validation and check that the service exists +- `_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. + + + +#### update\_service\_without\_preload\_content + +```python +@validate_call +async def update_service_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[ + Optional[StrictBool], + Field(description= + "If set, run validation and check that the service exists" + )] = 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 +``` + +Update Service + +**Arguments**: + +- `id` (`str`): The id of the entity to update (required) +- `service` (`UpdateService`): (required) +- `update_mask` (`str`): +- `dry_run` (`bool`): If set, run validation and check that the service exists +- `_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. + + + +#### update\_service2 + +```python +@validate_call +async def update_service2( + id: Annotated[StrictStr, + Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[ + Optional[StrictBool], + Field(description= + "If set, run validation and check that the service exists" + )] = 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 +) -> UpdateServiceReply +``` + +Update Service + +**Arguments**: + +- `id` (`str`): The id of the entity to update (required) +- `service` (`UpdateService`): (required) +- `update_mask` (`str`): +- `dry_run` (`bool`): If set, run validation and check that the service exists +- `_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. + + + +#### update\_service2\_with\_http\_info + +```python +@validate_call +async def update_service2_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[ + Optional[StrictBool], + Field(description= + "If set, run validation and check that the service exists" + )] = 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[UpdateServiceReply] +``` + +Update Service + +**Arguments**: + +- `id` (`str`): The id of the entity to update (required) +- `service` (`UpdateService`): (required) +- `update_mask` (`str`): +- `dry_run` (`bool`): If set, run validation and check that the service exists +- `_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. + + + +#### update\_service2\_without\_preload\_content + +```python +@validate_call +async def update_service2_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[ + Optional[StrictBool], + Field(description= + "If set, run validation and check that the service exists" + )] = 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 +``` + +Update Service + +**Arguments**: + +- `id` (`str`): The id of the entity to update (required) +- `service` (`UpdateService`): (required) +- `update_mask` (`str`): +- `dry_run` (`bool`): If set, run validation and check that the service exists +- `_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. + + + +#### update\_service\_scaling + +```python +@validate_call +async def update_service_scaling( + id: Annotated[StrictStr, + Field(description="The id of the service to scale")], + body: UpdateServiceScalingRequest, + _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) -> object +``` + +Update Service Scaling + +Stores or updates the scaling configuration for a service to use manual scaling + +**Arguments**: + +- `id` (`str`): The id of the service to scale (required) +- `body` (`UpdateServiceScalingRequest`): (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. + + + +#### update\_service\_scaling\_with\_http\_info + +```python +@validate_call +async def update_service_scaling_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the service to scale")], + body: UpdateServiceScalingRequest, + _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[object] +``` + +Update Service Scaling + +Stores or updates the scaling configuration for a service to use manual scaling + +**Arguments**: + +- `id` (`str`): The id of the service to scale (required) +- `body` (`UpdateServiceScalingRequest`): (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. + + + +#### update\_service\_scaling\_without\_preload\_content + +```python +@validate_call +async def update_service_scaling_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the service to scale")], + body: UpdateServiceScalingRequest, + _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 +``` + +Update Service Scaling + +Stores or updates the scaling configuration for a service to use manual scaling + +**Arguments**: + +- `id` (`str`): The id of the service to scale (required) +- `body` (`UpdateServiceScalingRequest`): (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. + + + +# koyeb/api\_async.api.summary\_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. + + + +## SummaryApi Objects + +```python +class SummaryApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### get\_organization\_summary + +```python +@validate_call +async def get_organization_summary( + organization_id: Annotated[StrictStr, + Field(description="Organization ID")], + _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 +) -> GetOrganizationSummaryReply +``` + +Get organization usage summary + +**Arguments**: + +- `organization_id` (`str`): Organization ID (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\_organization\_summary\_with\_http\_info + +```python +@validate_call +async def get_organization_summary_with_http_info( + organization_id: Annotated[StrictStr, + Field(description="Organization ID")], + _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[GetOrganizationSummaryReply] +``` + +Get organization usage summary + +**Arguments**: + +- `organization_id` (`str`): Organization ID (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\_organization\_summary\_without\_preload\_content + +```python +@validate_call +async def get_organization_summary_without_preload_content( + organization_id: Annotated[StrictStr, + Field(description="Organization ID")], + _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 organization usage summary + +**Arguments**: + +- `organization_id` (`str`): Organization ID (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. + + + +# koyeb/api\_async.api.persistent\_volumes\_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. + + + +## PersistentVolumesApi Objects + +```python +class PersistentVolumesApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_persistent\_volume + +```python +@validate_call +async def create_persistent_volume( + body: CreatePersistentVolumeRequest, + _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 +) -> CreatePersistentVolumeReply +``` + +Create a PersistentVolume + +**Arguments**: + +- `body` (`CreatePersistentVolumeRequest`): (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\_persistent\_volume\_with\_http\_info + +```python +@validate_call +async def create_persistent_volume_with_http_info( + body: CreatePersistentVolumeRequest, + _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[CreatePersistentVolumeReply] +``` + +Create a PersistentVolume + +**Arguments**: + +- `body` (`CreatePersistentVolumeRequest`): (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\_persistent\_volume\_without\_preload\_content + +```python +@validate_call +async def create_persistent_volume_without_preload_content( + body: CreatePersistentVolumeRequest, + _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 a PersistentVolume + +**Arguments**: + +- `body` (`CreatePersistentVolumeRequest`): (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\_persistent\_volume + +```python +@validate_call +async def delete_persistent_volume( + 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 +) -> DeletePersistentVolumeReply +``` + +Delete a PersistentVolume + +**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\_persistent\_volume\_with\_http\_info + +```python +@validate_call +async def delete_persistent_volume_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[DeletePersistentVolumeReply] +``` + +Delete a PersistentVolume + +**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\_persistent\_volume\_without\_preload\_content + +```python +@validate_call +async def delete_persistent_volume_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 a PersistentVolume + +**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\_persistent\_volume + +```python +@validate_call +async def get_persistent_volume( + 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 +) -> GetPersistentVolumeReply +``` + +Get a PersistentVolume + +**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\_persistent\_volume\_with\_http\_info + +```python +@validate_call +async def get_persistent_volume_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[GetPersistentVolumeReply] +``` + +Get a PersistentVolume + +**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\_persistent\_volume\_without\_preload\_content + +```python +@validate_call +async def get_persistent_volume_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 a PersistentVolume + +**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\_persistent\_volume\_events + +```python +@validate_call +async def list_persistent_volume_events( + persistent_volume_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on persistent volume id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on persistent volume 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 +) -> ListPersistentVolumeEventsReply +``` + +List Persistent Volume events + +**Arguments**: + +- `persistent_volume_id` (`str`): (Optional) Filter on persistent volume id +- `types` (`List[str]`): (Optional) Filter on persistent volume 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\_persistent\_volume\_events\_with\_http\_info + +```python +@validate_call +async def list_persistent_volume_events_with_http_info( + persistent_volume_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on persistent volume id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on persistent volume 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[ListPersistentVolumeEventsReply] +``` + +List Persistent Volume events + +**Arguments**: + +- `persistent_volume_id` (`str`): (Optional) Filter on persistent volume id +- `types` (`List[str]`): (Optional) Filter on persistent volume 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\_persistent\_volume\_events\_without\_preload\_content + +```python +@validate_call +async def list_persistent_volume_events_without_preload_content( + persistent_volume_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on persistent volume id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on persistent volume 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 Persistent Volume events + +**Arguments**: + +- `persistent_volume_id` (`str`): (Optional) Filter on persistent volume id +- `types` (`List[str]`): (Optional) Filter on persistent volume 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\_persistent\_volumes + +```python +@validate_call +async def list_persistent_volumes( + 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, + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the service id")] = None, + region: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the region")] = None, + name: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the name")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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 +) -> ListPersistentVolumesReply +``` + +List all PersistentVolumes + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `service_id` (`str`): (Optional) A filter for the service id +- `region` (`str`): (Optional) A filter for the region +- `name` (`str`): (Optional) A filter for the name +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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\_persistent\_volumes\_with\_http\_info + +```python +@validate_call +async def list_persistent_volumes_with_http_info( + 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, + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the service id")] = None, + region: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the region")] = None, + name: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the name")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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[ListPersistentVolumesReply] +``` + +List all PersistentVolumes + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `service_id` (`str`): (Optional) A filter for the service id +- `region` (`str`): (Optional) A filter for the region +- `name` (`str`): (Optional) A filter for the name +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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\_persistent\_volumes\_without\_preload\_content + +```python +@validate_call +async def list_persistent_volumes_without_preload_content( + 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, + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the service id")] = None, + region: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the region")] = None, + name: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the name")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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 all PersistentVolumes + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `service_id` (`str`): (Optional) A filter for the service id +- `region` (`str`): (Optional) A filter for the region +- `name` (`str`): (Optional) A filter for the name +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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. + + + +#### update\_persistent\_volume + +```python +@validate_call +async def update_persistent_volume( + id: StrictStr, + body: UpdatePersistentVolumeRequest, + _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 +) -> UpdatePersistentVolumeReply +``` + +Update a PersistentVolume + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdatePersistentVolumeRequest`): (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. + + + +#### update\_persistent\_volume\_with\_http\_info + +```python +@validate_call +async def update_persistent_volume_with_http_info( + id: StrictStr, + body: UpdatePersistentVolumeRequest, + _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[UpdatePersistentVolumeReply] +``` + +Update a PersistentVolume + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdatePersistentVolumeRequest`): (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. + + + +#### update\_persistent\_volume\_without\_preload\_content + +```python +@validate_call +async def update_persistent_volume_without_preload_content( + id: StrictStr, + body: UpdatePersistentVolumeRequest, + _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 +``` + +Update a PersistentVolume + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdatePersistentVolumeRequest`): (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. + + + +# koyeb/api\_async.api.users\_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. + + + +## UsersApi Objects + +```python +class UsersApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### delete\_user + +```python +@validate_call +async def delete_user( + id: Annotated[StrictStr, + Field(description="The id of the user")], + _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) -> DeleteUserReply +``` + +Delete user + +**Arguments**: + +- `id` (`str`): The id of the user (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\_user\_with\_http\_info + +```python +@validate_call +async def delete_user_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the user")], + _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[DeleteUserReply] +``` + +Delete user + +**Arguments**: + +- `id` (`str`): The id of the user (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\_user\_without\_preload\_content + +```python +@validate_call +async def delete_user_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the user")], + _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 user + +**Arguments**: + +- `id` (`str`): The id of the user (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\_user\_v2 + +```python +@validate_call +async def delete_user_v2( + id: Annotated[StrictStr, + Field(description="The id of the user")], + _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) -> DeleteUserReply +``` + +V2 Delete user + +**Arguments**: + +- `id` (`str`): The id of the user (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\_user\_v2\_with\_http\_info + +```python +@validate_call +async def delete_user_v2_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the user")], + _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[DeleteUserReply] +``` + +V2 Delete user + +**Arguments**: + +- `id` (`str`): The id of the user (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\_user\_v2\_without\_preload\_content + +```python +@validate_call +async def delete_user_v2_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the user")], + _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 +``` + +V2 Delete user + +**Arguments**: + +- `id` (`str`): The id of the user (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. + + + +# koyeb/api\_async.api.archives\_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. + + + +## ArchivesApi Objects + +```python +class ArchivesApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_archive + +```python +@validate_call +async def create_archive( + archive: CreateArchive, + _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 +) -> CreateArchiveReply +``` + +Create Archive + +Create a signed URL to upload an archive. + +**Arguments**: + +- `archive` (`CreateArchive`): (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\_archive\_with\_http\_info + +```python +@validate_call +async def create_archive_with_http_info( + archive: CreateArchive, + _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[CreateArchiveReply] +``` + +Create Archive + +Create a signed URL to upload an archive. + +**Arguments**: + +- `archive` (`CreateArchive`): (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\_archive\_without\_preload\_content + +```python +@validate_call +async def create_archive_without_preload_content( + archive: CreateArchive, + _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 Archive + +Create a signed URL to upload an archive. + +**Arguments**: + +- `archive` (`CreateArchive`): (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. + + + +# koyeb/api\_async.api.metrics\_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. + + + +## MetricsApi Objects + +```python +class MetricsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### get\_metrics + +```python +@validate_call +async def get_metrics( + service_id: Annotated[ + Optional[StrictStr], + Field( + description= + "ID of the service to query instances metrics for. Ignored if instance_id is set." + )] = None, + instance_id: Annotated[ + Optional[StrictStr], + Field(description="ID of the instance to query metrics for.")] = None, + name: Annotated[Optional[StrictStr], + Field(description="Metric to query.")] = None, + start: Annotated[ + Optional[datetime], + Field(description="(Optional) Defaults to an hour prior to end." + )] = None, + end: Annotated[Optional[datetime], + Field(description="(Optional) Defaults to now.")] = None, + step: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m." + )] = 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) -> GetMetricsReply +``` + +Get Metrics + +**Arguments**: + +- `service_id` (`str`): ID of the service to query instances metrics for. Ignored if instance_id is set. +- `instance_id` (`str`): ID of the instance to query metrics for. +- `name` (`str`): Metric to query. +- `start` (`datetime`): (Optional) Defaults to an hour prior to end. +- `end` (`datetime`): (Optional) Defaults to now. +- `step` (`str`): (Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m. +- `_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\_metrics\_with\_http\_info + +```python +@validate_call +async def get_metrics_with_http_info( + service_id: Annotated[ + Optional[StrictStr], + Field( + description= + "ID of the service to query instances metrics for. Ignored if instance_id is set." + )] = None, + instance_id: Annotated[ + Optional[StrictStr], + Field(description="ID of the instance to query metrics for.")] = None, + name: Annotated[Optional[StrictStr], + Field(description="Metric to query.")] = None, + start: Annotated[ + Optional[datetime], + Field(description="(Optional) Defaults to an hour prior to end." + )] = None, + end: Annotated[Optional[datetime], + Field(description="(Optional) Defaults to now.")] = None, + step: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m." + )] = 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[GetMetricsReply] +``` + +Get Metrics + +**Arguments**: + +- `service_id` (`str`): ID of the service to query instances metrics for. Ignored if instance_id is set. +- `instance_id` (`str`): ID of the instance to query metrics for. +- `name` (`str`): Metric to query. +- `start` (`datetime`): (Optional) Defaults to an hour prior to end. +- `end` (`datetime`): (Optional) Defaults to now. +- `step` (`str`): (Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m. +- `_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\_metrics\_without\_preload\_content + +```python +@validate_call +async def get_metrics_without_preload_content( + service_id: Annotated[ + Optional[StrictStr], + Field( + description= + "ID of the service to query instances metrics for. Ignored if instance_id is set." + )] = None, + instance_id: Annotated[ + Optional[StrictStr], + Field(description="ID of the instance to query metrics for.")] = None, + name: Annotated[Optional[StrictStr], + Field(description="Metric to query.")] = None, + start: Annotated[ + Optional[datetime], + Field(description="(Optional) Defaults to an hour prior to end." + )] = None, + end: Annotated[Optional[datetime], + Field(description="(Optional) Defaults to now.")] = None, + step: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m." + )] = 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 +``` + +Get Metrics + +**Arguments**: + +- `service_id` (`str`): ID of the service to query instances metrics for. Ignored if instance_id is set. +- `instance_id` (`str`): ID of the instance to query metrics for. +- `name` (`str`): Metric to query. +- `start` (`datetime`): (Optional) Defaults to an hour prior to end. +- `end` (`datetime`): (Optional) Defaults to now. +- `step` (`str`): (Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m. +- `_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.payment\_methods\_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. + + + +## PaymentMethodsApi Objects + +```python +class PaymentMethodsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### confirm\_payment\_authorization + +```python +@validate_call +async def confirm_payment_authorization( + id: StrictStr, + body: Dict[str, Any], + _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 +) -> ConfirmPaymentAuthorizationReply +``` + +Confirm payment authorization + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (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. + + + +#### confirm\_payment\_authorization\_with\_http\_info + +```python +@validate_call +async def confirm_payment_authorization_with_http_info( + id: StrictStr, + body: Dict[str, Any], + _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[ConfirmPaymentAuthorizationReply] +``` + +Confirm payment authorization + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (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. + + + +#### confirm\_payment\_authorization\_without\_preload\_content + +```python +@validate_call +async def confirm_payment_authorization_without_preload_content( + id: StrictStr, + body: Dict[str, Any], + _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 +``` + +Confirm payment authorization + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (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\_payment\_authorization + +```python +@validate_call +async def create_payment_authorization( + body: Dict[str, Any], + _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 +) -> CreatePaymentAuthorizationReply +``` + +Create payment authorization + +**Arguments**: + +- `body` (`object`): (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\_payment\_authorization\_with\_http\_info + +```python +@validate_call +async def create_payment_authorization_with_http_info( + body: Dict[str, Any], + _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[CreatePaymentAuthorizationReply] +``` + +Create payment authorization + +**Arguments**: + +- `body` (`object`): (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\_payment\_authorization\_without\_preload\_content + +```python +@validate_call +async def create_payment_authorization_without_preload_content( + body: Dict[str, Any], + _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 payment authorization + +**Arguments**: + +- `body` (`object`): (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\_payment\_method + +```python +@validate_call +async def delete_payment_method( + 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) -> object +``` + +Delete payment method + +**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\_payment\_method\_with\_http\_info + +```python +@validate_call +async def delete_payment_method_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[object] +``` + +Delete payment method + +**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\_payment\_method\_without\_preload\_content + +```python +@validate_call +async def delete_payment_method_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 payment method + +**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\_payment\_method + +```python +@validate_call +async def get_payment_method( + 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 +) -> GetPaymentMethodReply +``` + +Get payment method + +**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\_payment\_method\_with\_http\_info + +```python +@validate_call +async def get_payment_method_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[GetPaymentMethodReply] +``` + +Get payment method + +**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\_payment\_method\_without\_preload\_content + +```python +@validate_call +async def get_payment_method_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 payment method + +**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\_payment\_methods + +```python +@validate_call +async def list_payment_methods( + 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on payment method statuses" + )] = 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 +) -> ListPaymentMethodsReply +``` + +List payment methods + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on payment method statuses +- `_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\_payment\_methods\_with\_http\_info + +```python +@validate_call +async def list_payment_methods_with_http_info( + 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on payment method statuses" + )] = 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[ListPaymentMethodsReply] +``` + +List payment methods + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on payment method statuses +- `_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\_payment\_methods\_without\_preload\_content + +```python +@validate_call +async def list_payment_methods_without_preload_content( + 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on payment method statuses" + )] = 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 payment methods + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on payment method statuses +- `_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.provisioning\_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. + + + +## ProvisioningApi Objects + +```python +class ProvisioningApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_stage\_attempt + +```python +@validate_call +async def create_stage_attempt( + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: CreateStageAttemptRequest, + _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) -> object +``` + +Create an attempt for a stage + +**Arguments**: + +- `deployment_id` (`str`): (required) +- `stage` (`str`): (required) +- `attempt` (`str`): (required) +- `body` (`CreateStageAttemptRequest`): (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\_stage\_attempt\_with\_http\_info + +```python +@validate_call +async def create_stage_attempt_with_http_info( + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: CreateStageAttemptRequest, + _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[object] +``` + +Create an attempt for a stage + +**Arguments**: + +- `deployment_id` (`str`): (required) +- `stage` (`str`): (required) +- `attempt` (`str`): (required) +- `body` (`CreateStageAttemptRequest`): (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\_stage\_attempt\_without\_preload\_content + +```python +@validate_call +async def create_stage_attempt_without_preload_content( + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: CreateStageAttemptRequest, + _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 an attempt for a stage + +**Arguments**: + +- `deployment_id` (`str`): (required) +- `stage` (`str`): (required) +- `attempt` (`str`): (required) +- `body` (`CreateStageAttemptRequest`): (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. + + + +#### declare\_stage\_progress + +```python +@validate_call +async def declare_stage_progress( + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: DeclareStageProgressRequest, + _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) -> object +``` + +Declare stage progress + +**Arguments**: + +- `deployment_id` (`str`): (required) +- `stage` (`str`): (required) +- `attempt` (`str`): (required) +- `body` (`DeclareStageProgressRequest`): (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. + + + +#### declare\_stage\_progress\_with\_http\_info + +```python +@validate_call +async def declare_stage_progress_with_http_info( + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: DeclareStageProgressRequest, + _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[object] +``` + +Declare stage progress + +**Arguments**: + +- `deployment_id` (`str`): (required) +- `stage` (`str`): (required) +- `attempt` (`str`): (required) +- `body` (`DeclareStageProgressRequest`): (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. + + + +#### declare\_stage\_progress\_without\_preload\_content + +```python +@validate_call +async def declare_stage_progress_without_preload_content( + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: DeclareStageProgressRequest, + _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 +``` + +Declare stage progress + +**Arguments**: + +- `deployment_id` (`str`): (required) +- `stage` (`str`): (required) +- `attempt` (`str`): (required) +- `body` (`DeclareStageProgressRequest`): (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. + + + +#### declare\_step\_progress + +```python +@validate_call +async def declare_step_progress( + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + step: StrictStr, + body: DeclareStepProgressRequest, + _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) -> object +``` + +Declare step progress + +**Arguments**: + +- `deployment_id` (`str`): (required) +- `stage` (`str`): (required) +- `attempt` (`str`): (required) +- `step` (`str`): (required) +- `body` (`DeclareStepProgressRequest`): (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. + + + +#### declare\_step\_progress\_with\_http\_info + +```python +@validate_call +async def declare_step_progress_with_http_info( + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + step: StrictStr, + body: DeclareStepProgressRequest, + _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[object] +``` + +Declare step progress + +**Arguments**: + +- `deployment_id` (`str`): (required) +- `stage` (`str`): (required) +- `attempt` (`str`): (required) +- `step` (`str`): (required) +- `body` (`DeclareStepProgressRequest`): (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. + + + +#### declare\_step\_progress\_without\_preload\_content + +```python +@validate_call +async def declare_step_progress_without_preload_content( + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + step: StrictStr, + body: DeclareStepProgressRequest, + _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 +``` + +Declare step progress + +**Arguments**: + +- `deployment_id` (`str`): (required) +- `stage` (`str`): (required) +- `attempt` (`str`): (required) +- `step` (`str`): (required) +- `body` (`DeclareStepProgressRequest`): (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. + + + +# koyeb/api\_async.api + + + +# koyeb/api\_async.api.organization\_invitations\_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. + + + +## OrganizationInvitationsApi Objects + +```python +class OrganizationInvitationsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_organization\_invitation + +```python +@validate_call +async def create_organization_invitation( + body: CreateOrganizationInvitationRequest, + _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 +) -> CreateOrganizationInvitationReply +``` + +Create Organization Invitation + +**Arguments**: + +- `body` (`CreateOrganizationInvitationRequest`): (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\_organization\_invitation\_with\_http\_info + +```python +@validate_call +async def create_organization_invitation_with_http_info( + body: CreateOrganizationInvitationRequest, + _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[CreateOrganizationInvitationReply] +``` + +Create Organization Invitation + +**Arguments**: + +- `body` (`CreateOrganizationInvitationRequest`): (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\_organization\_invitation\_without\_preload\_content + +```python +@validate_call +async def create_organization_invitation_without_preload_content( + body: CreateOrganizationInvitationRequest, + _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 Organization Invitation + +**Arguments**: + +- `body` (`CreateOrganizationInvitationRequest`): (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\_organization\_invitation + +```python +@validate_call +async def delete_organization_invitation( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to delete" + )], + _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) -> object +``` + +Delete Organization Invitation + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to delete (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\_organization\_invitation\_with\_http\_info + +```python +@validate_call +async def delete_organization_invitation_with_http_info( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to delete")], + _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[object] +``` + +Delete Organization Invitation + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to delete (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\_organization\_invitation\_without\_preload\_content + +```python +@validate_call +async def delete_organization_invitation_without_preload_content( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to delete")], + _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 Organization Invitation + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to delete (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\_organization\_invitation + +```python +@validate_call +async def get_organization_invitation( + id: Annotated[StrictStr, + Field(description="The id of the invitation to get")], + _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 +) -> GetOrganizationInvitationReply +``` + +Get Organization Invitation + +**Arguments**: + +- `id` (`str`): The id of the invitation to get (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\_organization\_invitation\_with\_http\_info + +```python +@validate_call +async def get_organization_invitation_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the invitation to get")], + _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[GetOrganizationInvitationReply] +``` + +Get Organization Invitation + +**Arguments**: + +- `id` (`str`): The id of the invitation to get (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\_organization\_invitation\_without\_preload\_content + +```python +@validate_call +async def get_organization_invitation_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the invitation to get")], + _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 Organization Invitation + +**Arguments**: + +- `id` (`str`): The id of the invitation to get (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\_organization\_invitations + +```python +@validate_call +async def list_organization_invitations( + 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on organization invitation statuses" + )] = None, + user_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id" + )] = 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 +) -> ListOrganizationInvitationsReply +``` + +List Organization Invitations + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on organization invitation statuses +- `user_id` (`str`): (Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id +- `_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\_organization\_invitations\_with\_http\_info + +```python +@validate_call +async def list_organization_invitations_with_http_info( + 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on organization invitation statuses" + )] = None, + user_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id" + )] = 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[ListOrganizationInvitationsReply] +``` + +List Organization Invitations + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on organization invitation statuses +- `user_id` (`str`): (Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id +- `_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\_organization\_invitations\_without\_preload\_content + +```python +@validate_call +async def list_organization_invitations_without_preload_content( + 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on organization invitation statuses" + )] = None, + user_id: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id" + )] = 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 Organization Invitations + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on organization invitation statuses +- `user_id` (`str`): (Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id +- `_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. + + + +#### resend\_organization\_invitation + +```python +@validate_call +async def resend_organization_invitation( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to resend")], + body: Dict[str, Any], + _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 +) -> ResendOrganizationInvitationReply +``` + +Resend Organization Invitation + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to resend (required) +- `body` (`object`): (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. + + + +#### resend\_organization\_invitation\_with\_http\_info + +```python +@validate_call +async def resend_organization_invitation_with_http_info( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to resend")], + body: Dict[str, Any], + _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[ResendOrganizationInvitationReply] +``` + +Resend Organization Invitation + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to resend (required) +- `body` (`object`): (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. + + + +#### resend\_organization\_invitation\_without\_preload\_content + +```python +@validate_call +async def resend_organization_invitation_without_preload_content( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to resend")], + body: Dict[str, Any], + _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 +``` + +Resend Organization Invitation + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to resend (required) +- `body` (`object`): (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. + + + +# koyeb/api\_async.api.catalog\_instance\_usage\_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. + + + +## CatalogInstanceUsageApi Objects + +```python +class CatalogInstanceUsageApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### list\_usage + +```python +@validate_call +async def list_usage( + region: 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) -> ListUsageReply +``` + +list_usage + +**Arguments**: + +- `region` (`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\_usage\_with\_http\_info + +```python +@validate_call +async def list_usage_with_http_info( + region: 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[ListUsageReply] +``` + +list_usage + +**Arguments**: + +- `region` (`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\_usage\_without\_preload\_content + +```python +@validate_call +async def list_usage_without_preload_content( + region: 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_usage + +**Arguments**: + +- `region` (`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.intercom\_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. + + + +## IntercomApi Objects + +```python +class IntercomApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### get\_intercom\_profile + +```python +@validate_call +async def get_intercom_profile( + _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 +) -> GetIntercomProfileReply +``` + +Get intercom profile + +**Arguments**: + +- `_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\_intercom\_profile\_with\_http\_info + +```python +@validate_call +async def get_intercom_profile_with_http_info( + _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[GetIntercomProfileReply] +``` + +Get intercom profile + +**Arguments**: + +- `_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\_intercom\_profile\_without\_preload\_content + +```python +@validate_call +async def get_intercom_profile_without_preload_content( + _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 intercom profile + +**Arguments**: + +- `_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.apps\_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. + + + +## AppsApi Objects + +```python +class AppsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_app + +```python +@validate_call +async def create_app( + app: CreateApp, + _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) -> CreateAppReply +``` + +Create App + +**Arguments**: + +- `app` (`CreateApp`): (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\_app\_with\_http\_info + +```python +@validate_call +async def create_app_with_http_info( + app: CreateApp, + _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[CreateAppReply] +``` + +Create App + +**Arguments**: + +- `app` (`CreateApp`): (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\_app\_without\_preload\_content + +```python +@validate_call +async def create_app_without_preload_content( + app: CreateApp, + _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 App + +**Arguments**: + +- `app` (`CreateApp`): (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\_app + +```python +@validate_call +async def delete_app( + id: Annotated[StrictStr, + Field(description="The id of the App to delete")], + _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) -> object +``` + +Delete App + +App deletion is allowed for all status. + +**Arguments**: + +- `id` (`str`): The id of the App to delete (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\_app\_with\_http\_info + +```python +@validate_call +async def delete_app_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the App to delete")], + _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[object] +``` + +Delete App + +App deletion is allowed for all status. + +**Arguments**: + +- `id` (`str`): The id of the App to delete (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\_app\_without\_preload\_content + +```python +@validate_call +async def delete_app_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the App to delete")], + _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 App + +App deletion is allowed for all status. + +**Arguments**: + +- `id` (`str`): The id of the App to delete (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\_app + +```python +@validate_call +async def get_app( + id: Annotated[StrictStr, + Field(description="The id of the App")], + _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) -> GetAppReply +``` + +Get App + +**Arguments**: + +- `id` (`str`): The id of the App (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\_app\_with\_http\_info + +```python +@validate_call +async def get_app_with_http_info( + id: Annotated[StrictStr, Field(description="The id of the App")], + _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[GetAppReply] +``` + +Get App + +**Arguments**: + +- `id` (`str`): The id of the App (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\_app\_without\_preload\_content + +```python +@validate_call +async def get_app_without_preload_content( + id: Annotated[StrictStr, Field(description="The id of the App")], + _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 App + +**Arguments**: + +- `id` (`str`): The id of the App (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\_app\_events + +```python +@validate_call +async def list_app_events( + app_id: Annotated[Optional[StrictStr], + Field(description="(Optional) Filter on app id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on app 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 +) -> ListAppEventsReply +``` + +List App events + +**Arguments**: + +- `app_id` (`str`): (Optional) Filter on app id +- `types` (`List[str]`): (Optional) Filter on app 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\_app\_events\_with\_http\_info + +```python +@validate_call +async def list_app_events_with_http_info( + app_id: Annotated[Optional[StrictStr], + Field(description="(Optional) Filter on app id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on app 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[ListAppEventsReply] +``` + +List App events + +**Arguments**: + +- `app_id` (`str`): (Optional) Filter on app id +- `types` (`List[str]`): (Optional) Filter on app 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\_app\_events\_without\_preload\_content + +```python +@validate_call +async def list_app_events_without_preload_content( + app_id: Annotated[Optional[StrictStr], + Field(description="(Optional) Filter on app id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on app 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 App events + +**Arguments**: + +- `app_id` (`str`): (Optional) Filter on app id +- `types` (`List[str]`): (Optional) Filter on app 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\_apps + +```python +@validate_call +async def list_apps( + 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, + name: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field( + description="(Optional) A filter for the project ID")] = 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) -> ListAppsReply +``` + +List App + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `name` (`str`): (Optional) A filter for name +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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\_apps\_with\_http\_info + +```python +@validate_call +async def list_apps_with_http_info( + 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, + name: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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[ListAppsReply] +``` + +List App + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `name` (`str`): (Optional) A filter for name +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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\_apps\_without\_preload\_content + +```python +@validate_call +async def list_apps_without_preload_content( + 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, + name: Annotated[Optional[StrictStr], + Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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 App + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `name` (`str`): (Optional) A filter for name +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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. + + + +#### pause\_app + +```python +@validate_call +async def pause_app( + id: Annotated[StrictStr, + Field(description="The id of the app to pause.")], + _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) -> object +``` + +Pause App + +App pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + +**Arguments**: + +- `id` (`str`): The id of the app to pause. (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. + + + +#### pause\_app\_with\_http\_info + +```python +@validate_call +async def pause_app_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the app to pause.")], + _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[object] +``` + +Pause App + +App pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + +**Arguments**: + +- `id` (`str`): The id of the app to pause. (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. + + + +#### pause\_app\_without\_preload\_content + +```python +@validate_call +async def pause_app_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the app to pause.")], + _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 +``` + +Pause App + +App pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + +**Arguments**: + +- `id` (`str`): The id of the app to pause. (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. + + + +#### resume\_app + +```python +@validate_call +async def resume_app( + id: Annotated[StrictStr, + Field(description="The id of the app to resume.")], + _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) -> object +``` + +Resume App + +App resume action is allowed for the following status: - paused + +**Arguments**: + +- `id` (`str`): The id of the app to resume. (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. + + + +#### resume\_app\_with\_http\_info + +```python +@validate_call +async def resume_app_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the app to resume.")], + _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[object] +``` + +Resume App + +App resume action is allowed for the following status: - paused + +**Arguments**: + +- `id` (`str`): The id of the app to resume. (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. + + + +#### resume\_app\_without\_preload\_content + +```python +@validate_call +async def resume_app_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the app to resume.")], + _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 +``` + +Resume App + +App resume action is allowed for the following status: - paused + +**Arguments**: + +- `id` (`str`): The id of the app to resume. (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. + + + +#### update\_app + +```python +@validate_call +async def update_app( + id: Annotated[StrictStr, + Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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) -> UpdateAppReply +``` + +Update App + +**Arguments**: + +- `id` (`str`): The id of the app to update. (required) +- `app` (`UpdateApp`): (required) +- `update_mask` (`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. + + + +#### update\_app\_with\_http\_info + +```python +@validate_call +async def update_app_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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[UpdateAppReply] +``` + +Update App + +**Arguments**: + +- `id` (`str`): The id of the app to update. (required) +- `app` (`UpdateApp`): (required) +- `update_mask` (`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. + + + +#### update\_app\_without\_preload\_content + +```python +@validate_call +async def update_app_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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 +``` + +Update App + +**Arguments**: + +- `id` (`str`): The id of the app to update. (required) +- `app` (`UpdateApp`): (required) +- `update_mask` (`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. + + + +#### update\_app2 + +```python +@validate_call +async def update_app2( + id: Annotated[StrictStr, + Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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) -> UpdateAppReply +``` + +Update App + +**Arguments**: + +- `id` (`str`): The id of the app to update. (required) +- `app` (`UpdateApp`): (required) +- `update_mask` (`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. + + + +#### update\_app2\_with\_http\_info + +```python +@validate_call +async def update_app2_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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[UpdateAppReply] +``` + +Update App + +**Arguments**: + +- `id` (`str`): The id of the app to update. (required) +- `app` (`UpdateApp`): (required) +- `update_mask` (`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. + + + +#### update\_app2\_without\_preload\_content + +```python +@validate_call +async def update_app2_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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 +``` + +Update App + +**Arguments**: + +- `id` (`str`): The id of the app to update. (required) +- `app` (`UpdateApp`): (required) +- `update_mask` (`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.invite\_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. + + + +## InviteApi Objects + +```python +class InviteApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_invite + +```python +@validate_call +async def create_invite( + body: InviteUserRequest, + _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) -> object +``` + +DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`InviteUserRequest`): (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\_invite\_with\_http\_info + +```python +@validate_call +async def create_invite_with_http_info( + body: InviteUserRequest, + _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[object] +``` + +DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`InviteUserRequest`): (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\_invite\_without\_preload\_content + +```python +@validate_call +async def create_invite_without_preload_content( + body: InviteUserRequest, + _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 +``` + +DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`InviteUserRequest`): (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. + + + +# koyeb/api\_async.api.deployments\_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. + + + +## DeploymentsApi Objects + +```python +class DeploymentsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### cancel\_deployment + +```python +@validate_call +async def cancel_deployment( + id: Annotated[StrictStr, + Field( + description="The id of the deployment to cancel.")], + _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) -> object +``` + +Cancel Deployment + +Deployment cancellation is allowed for the following status: - pending - provisioning - scheduled + +**Arguments**: + +- `id` (`str`): The id of the deployment to cancel. (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. + + + +#### cancel\_deployment\_with\_http\_info + +```python +@validate_call +async def cancel_deployment_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the deployment to cancel.")], + _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[object] +``` + +Cancel Deployment + +Deployment cancellation is allowed for the following status: - pending - provisioning - scheduled + +**Arguments**: + +- `id` (`str`): The id of the deployment to cancel. (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. + + + +#### cancel\_deployment\_without\_preload\_content + +```python +@validate_call +async def cancel_deployment_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the deployment to cancel.")], + _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 +``` + +Cancel Deployment + +Deployment cancellation is allowed for the following status: - pending - provisioning - scheduled + +**Arguments**: + +- `id` (`str`): The id of the deployment to cancel. (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\_deployment + +```python +@validate_call +async def get_deployment( + id: Annotated[StrictStr, + Field(description="The id of the deployment")], + _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 +) -> GetDeploymentReply +``` + +Get Deployment + +**Arguments**: + +- `id` (`str`): The id of the deployment (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\_deployment\_with\_http\_info + +```python +@validate_call +async def get_deployment_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the deployment")], + _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[GetDeploymentReply] +``` + +Get Deployment + +**Arguments**: + +- `id` (`str`): The id of the deployment (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\_deployment\_without\_preload\_content + +```python +@validate_call +async def get_deployment_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the deployment")], + _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 Deployment + +**Arguments**: + +- `id` (`str`): The id of the deployment (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\_deployment\_scaling + +```python +@validate_call +async def get_deployment_scaling( + id: StrictStr, + region: Annotated[Optional[StrictStr], + Field(description="(Optional) Filter on region")] = None, + replica_index: Annotated[ + Optional[StrictInt], + Field(description="(Optional) Filter on replica_index")] = 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 +) -> GetDeploymentScalingReply +``` + +Get Deployment Scaling + +**Arguments**: + +- `id` (`str`): (required) +- `region` (`str`): (Optional) Filter on region +- `replica_index` (`int`): (Optional) Filter on replica_index +- `_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\_deployment\_scaling\_with\_http\_info + +```python +@validate_call +async def get_deployment_scaling_with_http_info( + id: StrictStr, + region: Annotated[Optional[StrictStr], + Field(description="(Optional) Filter on region")] = None, + replica_index: Annotated[ + Optional[StrictInt], + Field(description="(Optional) Filter on replica_index")] = 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[GetDeploymentScalingReply] +``` + +Get Deployment Scaling + +**Arguments**: + +- `id` (`str`): (required) +- `region` (`str`): (Optional) Filter on region +- `replica_index` (`int`): (Optional) Filter on replica_index +- `_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\_deployment\_scaling\_without\_preload\_content + +```python +@validate_call +async def get_deployment_scaling_without_preload_content( + id: StrictStr, + region: Annotated[Optional[StrictStr], + Field(description="(Optional) Filter on region")] = None, + replica_index: Annotated[ + Optional[StrictInt], + Field(description="(Optional) Filter on replica_index")] = 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 +``` + +Get Deployment Scaling + +**Arguments**: + +- `id` (`str`): (required) +- `region` (`str`): (Optional) Filter on region +- `replica_index` (`int`): (Optional) Filter on replica_index +- `_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\_deployment\_events + +```python +@validate_call +async def list_deployment_events( + deployment_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on deployment id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on deployment 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 +) -> ListDeploymentEventsReply +``` + +List Deployment events + +**Arguments**: + +- `deployment_id` (`str`): (Optional) Filter on deployment id +- `types` (`List[str]`): (Optional) Filter on deployment 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\_deployment\_events\_with\_http\_info + +```python +@validate_call +async def list_deployment_events_with_http_info( + deployment_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on deployment id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on deployment 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[ListDeploymentEventsReply] +``` + +List Deployment events + +**Arguments**: + +- `deployment_id` (`str`): (Optional) Filter on deployment id +- `types` (`List[str]`): (Optional) Filter on deployment 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\_deployment\_events\_without\_preload\_content + +```python +@validate_call +async def list_deployment_events_without_preload_content( + deployment_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on deployment id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on deployment 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 Deployment events + +**Arguments**: + +- `deployment_id` (`str`): (Optional) Filter on deployment id +- `types` (`List[str]`): (Optional) Filter on deployment 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\_deployments + +```python +@validate_call +async def list_deployments( + app_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on service id")] = 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on statuses")] = 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 +) -> ListDeploymentsReply +``` + +List Deployments + +**Arguments**: + +- `app_id` (`str`): (Optional) Filter on application id +- `service_id` (`str`): (Optional) Filter on service id +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on statuses +- `_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\_deployments\_with\_http\_info + +```python +@validate_call +async def list_deployments_with_http_info( + app_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on service id")] = 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on statuses")] = 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[ListDeploymentsReply] +``` + +List Deployments + +**Arguments**: + +- `app_id` (`str`): (Optional) Filter on application id +- `service_id` (`str`): (Optional) Filter on service id +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on statuses +- `_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\_deployments\_without\_preload\_content + +```python +@validate_call +async def list_deployments_without_preload_content( + app_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on service id")] = 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on statuses")] = 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 Deployments + +**Arguments**: + +- `app_id` (`str`): (Optional) Filter on application id +- `service_id` (`str`): (Optional) Filter on service id +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on statuses +- `_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.projects\_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. + + + +## ProjectsApi Objects + +```python +class ProjectsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_project + +```python +@validate_call +async def create_project( + project: CreateProject, + _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 +) -> CreateProjectReply +``` + +Create project + +**Arguments**: + +- `project` (`CreateProject`): (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\_project\_with\_http\_info + +```python +@validate_call +async def create_project_with_http_info( + project: CreateProject, + _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[CreateProjectReply] +``` + +Create project + +**Arguments**: + +- `project` (`CreateProject`): (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\_project\_without\_preload\_content + +```python +@validate_call +async def create_project_without_preload_content( + project: CreateProject, + _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 project + +**Arguments**: + +- `project` (`CreateProject`): (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\_project + +```python +@validate_call +async def delete_project( + 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) -> object +``` + +Delete project + +**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\_project\_with\_http\_info + +```python +@validate_call +async def delete_project_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[object] +``` + +Delete project + +**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\_project\_without\_preload\_content + +```python +@validate_call +async def delete_project_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 project + +**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\_project + +```python +@validate_call +async def get_project( + 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) -> GetProjectReply +``` + +Get project + +**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\_project\_with\_http\_info + +```python +@validate_call +async def get_project_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[GetProjectReply] +``` + +Get project + +**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\_project\_without\_preload\_content + +```python +@validate_call +async def get_project_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 project + +**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\_projects + +```python +@validate_call +async def list_projects( + 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, + name: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter by project name")] = 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) -> ListProjectsReply +``` + +List projects + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `name` (`str`): (Optional) Filter by project name +- `_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\_projects\_with\_http\_info + +```python +@validate_call +async def list_projects_with_http_info( + 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, + name: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter by project name")] = 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[ListProjectsReply] +``` + +List projects + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `name` (`str`): (Optional) Filter by project name +- `_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\_projects\_without\_preload\_content + +```python +@validate_call +async def list_projects_without_preload_content( + 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, + name: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter by project name")] = 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 projects + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `name` (`str`): (Optional) Filter by project name +- `_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. + + + +#### update\_project + +```python +@validate_call +async def update_project( + id: StrictStr, + project: Project, + update_mask: 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 +) -> UpdateProjectReply +``` + +Update project + +**Arguments**: + +- `id` (`str`): (required) +- `project` (`Project`): (required) +- `update_mask` (`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. + + + +#### update\_project\_with\_http\_info + +```python +@validate_call +async def update_project_with_http_info( + id: StrictStr, + project: Project, + update_mask: 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[UpdateProjectReply] +``` + +Update project + +**Arguments**: + +- `id` (`str`): (required) +- `project` (`Project`): (required) +- `update_mask` (`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. + + + +#### update\_project\_without\_preload\_content + +```python +@validate_call +async def update_project_without_preload_content( + id: StrictStr, + project: Project, + update_mask: 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 +``` + +Update project + +**Arguments**: + +- `id` (`str`): (required) +- `project` (`Project`): (required) +- `update_mask` (`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. + + + +#### update\_project2 + +```python +@validate_call +async def update_project2( + id: StrictStr, + project: Project, + update_mask: 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 +) -> UpdateProjectReply +``` + +Update project + +**Arguments**: + +- `id` (`str`): (required) +- `project` (`Project`): (required) +- `update_mask` (`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. + + + +#### update\_project2\_with\_http\_info + +```python +@validate_call +async def update_project2_with_http_info( + id: StrictStr, + project: Project, + update_mask: 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[UpdateProjectReply] +``` + +Update project + +**Arguments**: + +- `id` (`str`): (required) +- `project` (`Project`): (required) +- `update_mask` (`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. + + + +#### update\_project2\_without\_preload\_content + +```python +@validate_call +async def update_project2_without_preload_content( + id: StrictStr, + project: Project, + update_mask: 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 +``` + +Update project + +**Arguments**: + +- `id` (`str`): (required) +- `project` (`Project`): (required) +- `update_mask` (`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.organization\_members\_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. + + + +## OrganizationMembersApi Objects + +```python +class OrganizationMembersApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### list\_organization\_members + +```python +@validate_call +async def list_organization_members( + 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, + organization_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an user")] = None, + organization_statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter for organization statuses")] = 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 +) -> ListOrganizationMembersReply +``` + +List organization members + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `organization_id` (`str`): (Optional) Filter for an organization +- `user_id` (`str`): (Optional) Filter for an user +- `organization_statuses` (`List[str]`): (Optional) Filter for organization statuses +- `_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\_organization\_members\_with\_http\_info + +```python +@validate_call +async def list_organization_members_with_http_info( + 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, + organization_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an user")] = None, + organization_statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter for organization statuses")] = 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[ListOrganizationMembersReply] +``` + +List organization members + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `organization_id` (`str`): (Optional) Filter for an organization +- `user_id` (`str`): (Optional) Filter for an user +- `organization_statuses` (`List[str]`): (Optional) Filter for organization statuses +- `_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\_organization\_members\_without\_preload\_content + +```python +@validate_call +async def list_organization_members_without_preload_content( + 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, + organization_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter for an user")] = None, + organization_statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter for organization statuses")] = 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 organization members + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `organization_id` (`str`): (Optional) Filter for an organization +- `user_id` (`str`): (Optional) Filter for an user +- `organization_statuses` (`List[str]`): (Optional) Filter for organization statuses +- `_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. + + + +#### remove\_organization\_member + +```python +@validate_call +async def remove_organization_member( + 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 +) -> RemoveOrganizationMemberReply +``` + +Remove an organization member + +**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. + + + +#### remove\_organization\_member\_with\_http\_info + +```python +@validate_call +async def remove_organization_member_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[RemoveOrganizationMemberReply] +``` + +Remove an organization member + +**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. + + + +#### remove\_organization\_member\_without\_preload\_content + +```python +@validate_call +async def remove_organization_member_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 +``` + +Remove an organization member + +**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. + + + +# koyeb/api\_async.api.organization\_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. + + + +## OrganizationApi Objects + +```python +class OrganizationApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_access\_token + +```python +@validate_call +async def create_access_token( + id: Annotated[StrictStr, + Field( + description="Organization id for ephemeral credential")], + body: CreateAccessTokenRequest, + _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 +) -> CreateAccessTokenReply +``` + +CreateAccessToken + +CreateAccessToken creates a short-lived access token in the scope of the specified organization, provided the user making the request is part of said organization. It's possible to specify a validity for the token, which defaults to 1h and must be no more than 24h. The format is `s`, where `` is a floating point in seconds (so `123.456789012s` means 123 seconds and 456789012 nanoseconds). See: https://protobuf.dev/reference/php/api-docs/Google/Protobuf/Duration.html. + +**Arguments**: + +- `id` (`str`): Organization id for ephemeral credential (required) +- `body` (`CreateAccessTokenRequest`): (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\_access\_token\_with\_http\_info + +```python +@validate_call +async def create_access_token_with_http_info( + id: Annotated[StrictStr, + Field( + description="Organization id for ephemeral credential")], + body: CreateAccessTokenRequest, + _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[CreateAccessTokenReply] +``` + +CreateAccessToken + +CreateAccessToken creates a short-lived access token in the scope of the specified organization, provided the user making the request is part of said organization. It's possible to specify a validity for the token, which defaults to 1h and must be no more than 24h. The format is `s`, where `` is a floating point in seconds (so `123.456789012s` means 123 seconds and 456789012 nanoseconds). See: https://protobuf.dev/reference/php/api-docs/Google/Protobuf/Duration.html. + +**Arguments**: + +- `id` (`str`): Organization id for ephemeral credential (required) +- `body` (`CreateAccessTokenRequest`): (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\_access\_token\_without\_preload\_content + +```python +@validate_call +async def create_access_token_without_preload_content( + id: Annotated[StrictStr, + Field( + description="Organization id for ephemeral credential")], + body: CreateAccessTokenRequest, + _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 +``` + +CreateAccessToken + +CreateAccessToken creates a short-lived access token in the scope of the specified organization, provided the user making the request is part of said organization. It's possible to specify a validity for the token, which defaults to 1h and must be no more than 24h. The format is `s`, where `` is a floating point in seconds (so `123.456789012s` means 123 seconds and 456789012 nanoseconds). See: https://protobuf.dev/reference/php/api-docs/Google/Protobuf/Duration.html. + +**Arguments**: + +- `id` (`str`): Organization id for ephemeral credential (required) +- `body` (`CreateAccessTokenRequest`): (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\_budget + +```python +@validate_call +async def create_budget( + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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) -> CreateBudgetReply +``` + +Create Budget + +**Arguments**: + +- `organization_id` (`str`): (required) +- `body` (`UpdateBudgetRequest`): (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\_budget\_with\_http\_info + +```python +@validate_call +async def create_budget_with_http_info( + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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[CreateBudgetReply] +``` + +Create Budget + +**Arguments**: + +- `organization_id` (`str`): (required) +- `body` (`UpdateBudgetRequest`): (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\_budget\_without\_preload\_content + +```python +@validate_call +async def create_budget_without_preload_content( + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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 Budget + +**Arguments**: + +- `organization_id` (`str`): (required) +- `body` (`UpdateBudgetRequest`): (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\_organization + +```python +@validate_call +async def create_organization( + body: CreateOrganizationRequest, + _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 +) -> CreateOrganizationReply +``` + +Create Organization + +**Arguments**: + +- `body` (`CreateOrganizationRequest`): (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\_organization\_with\_http\_info + +```python +@validate_call +async def create_organization_with_http_info( + body: CreateOrganizationRequest, + _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[CreateOrganizationReply] +``` + +Create Organization + +**Arguments**: + +- `body` (`CreateOrganizationRequest`): (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\_organization\_without\_preload\_content + +```python +@validate_call +async def create_organization_without_preload_content( + body: CreateOrganizationRequest, + _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 Organization + +**Arguments**: + +- `body` (`CreateOrganizationRequest`): (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. + + + +#### deactivate\_organization + +```python +@validate_call +async def deactivate_organization( + id: StrictStr, + body: DeactivateOrganizationRequest, + _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 +) -> DeactivateOrganizationReply +``` + +Deactivate an Organization + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`DeactivateOrganizationRequest`): (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. + + + +#### deactivate\_organization\_with\_http\_info + +```python +@validate_call +async def deactivate_organization_with_http_info( + id: StrictStr, + body: DeactivateOrganizationRequest, + _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[DeactivateOrganizationReply] +``` + +Deactivate an Organization + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`DeactivateOrganizationRequest`): (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. + + + +#### deactivate\_organization\_without\_preload\_content + +```python +@validate_call +async def deactivate_organization_without_preload_content( + id: StrictStr, + body: DeactivateOrganizationRequest, + _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 +``` + +Deactivate an Organization + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`DeactivateOrganizationRequest`): (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\_budget + +```python +@validate_call +async def delete_budget( + organization_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) -> object +``` + +Delete Budget + +**Arguments**: + +- `organization_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\_budget\_with\_http\_info + +```python +@validate_call +async def delete_budget_with_http_info( + organization_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[object] +``` + +Delete Budget + +**Arguments**: + +- `organization_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\_budget\_without\_preload\_content + +```python +@validate_call +async def delete_budget_without_preload_content( + organization_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 Budget + +**Arguments**: + +- `organization_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\_organization + +```python +@validate_call +async def delete_organization( + 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 +) -> DeleteOrganizationReply +``` + +Delete an Organization + +**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\_organization\_with\_http\_info + +```python +@validate_call +async def delete_organization_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[DeleteOrganizationReply] +``` + +Delete an Organization + +**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\_organization\_without\_preload\_content + +```python +@validate_call +async def delete_organization_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 an Organization + +**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\_budget + +```python +@validate_call +async def get_budget( + organization_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) -> GetBudgetReply +``` + +Get Budget + +**Arguments**: + +- `organization_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\_budget\_with\_http\_info + +```python +@validate_call +async def get_budget_with_http_info( + organization_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[GetBudgetReply] +``` + +Get Budget + +**Arguments**: + +- `organization_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\_budget\_without\_preload\_content + +```python +@validate_call +async def get_budget_without_preload_content( + organization_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 Budget + +**Arguments**: + +- `organization_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\_github\_installation + +```python +@validate_call +async def get_github_installation( + _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 +) -> GetGithubInstallationReply +``` + +Fetch Github Installation configuration + +**Arguments**: + +- `_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\_github\_installation\_with\_http\_info + +```python +@validate_call +async def get_github_installation_with_http_info( + _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[GetGithubInstallationReply] +``` + +Fetch Github Installation configuration + +**Arguments**: + +- `_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\_github\_installation\_without\_preload\_content + +```python +@validate_call +async def get_github_installation_without_preload_content( + _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 +``` + +Fetch Github Installation configuration + +**Arguments**: + +- `_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\_organization + +```python +@validate_call +async def get_organization( + 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 +) -> GetOrganizationReply +``` + +Get Organization + +**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\_organization\_with\_http\_info + +```python +@validate_call +async def get_organization_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[GetOrganizationReply] +``` + +Get Organization + +**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\_organization\_without\_preload\_content + +```python +@validate_call +async def get_organization_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 Organization + +**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. + + + +#### github\_installation + +```python +@validate_call +async def github_installation( + body: GithubInstallationRequest, + _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 +) -> GithubInstallationReply +``` + +Start Github Installation + +**Arguments**: + +- `body` (`GithubInstallationRequest`): (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. + + + +#### github\_installation\_with\_http\_info + +```python +@validate_call +async def github_installation_with_http_info( + body: GithubInstallationRequest, + _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[GithubInstallationReply] +``` + +Start Github Installation + +**Arguments**: + +- `body` (`GithubInstallationRequest`): (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. + + + +#### github\_installation\_without\_preload\_content + +```python +@validate_call +async def github_installation_without_preload_content( + body: GithubInstallationRequest, + _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 +``` + +Start Github Installation + +**Arguments**: + +- `body` (`GithubInstallationRequest`): (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. + + + +#### reactivate\_organization + +```python +@validate_call +async def reactivate_organization( + id: StrictStr, + body: Dict[str, Any], + _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 +) -> ReactivateOrganizationReply +``` + +Reactivate an Organization + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (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. + + + +#### reactivate\_organization\_with\_http\_info + +```python +@validate_call +async def reactivate_organization_with_http_info( + id: StrictStr, + body: Dict[str, Any], + _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[ReactivateOrganizationReply] +``` + +Reactivate an Organization + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (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. + + + +#### reactivate\_organization\_without\_preload\_content + +```python +@validate_call +async def reactivate_organization_without_preload_content( + id: StrictStr, + body: Dict[str, Any], + _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 +``` + +Reactivate an Organization + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (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. + + + +#### switch\_organization + +```python +@validate_call +async def switch_organization( + id: StrictStr, + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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) -> LoginReply +``` + +Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### switch\_organization\_with\_http\_info + +```python +@validate_call +async def switch_organization_with_http_info( + id: StrictStr, + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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[LoginReply] +``` + +Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### switch\_organization\_without\_preload\_content + +```python +@validate_call +async def switch_organization_without_preload_content( + id: StrictStr, + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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 +``` + +Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### unscope\_organization\_token + +```python +@validate_call +async def unscope_organization_token( + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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) -> LoginReply +``` + +Unscope Organization Token + +UnscopeOrganizationToken removes the organization scope from a token. This endpoint is useful when a user wants to remove an organization: by unscoping the token first, the user can then delete the organization without invalidating his token. + +**Arguments**: + +- `body` (`object`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### unscope\_organization\_token\_with\_http\_info + +```python +@validate_call +async def unscope_organization_token_with_http_info( + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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[LoginReply] +``` + +Unscope Organization Token + +UnscopeOrganizationToken removes the organization scope from a token. This endpoint is useful when a user wants to remove an organization: by unscoping the token first, the user can then delete the organization without invalidating his token. + +**Arguments**: + +- `body` (`object`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### unscope\_organization\_token\_without\_preload\_content + +```python +@validate_call +async def unscope_organization_token_without_preload_content( + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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 +``` + +Unscope Organization Token + +UnscopeOrganizationToken removes the organization scope from a token. This endpoint is useful when a user wants to remove an organization: by unscoping the token first, the user can then delete the organization without invalidating his token. + +**Arguments**: + +- `body` (`object`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### update\_budget + +```python +@validate_call +async def update_budget( + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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) -> UpdateBudgetReply +``` + +Update Budget + +**Arguments**: + +- `organization_id` (`str`): (required) +- `body` (`UpdateBudgetRequest`): (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. + + + +#### update\_budget\_with\_http\_info + +```python +@validate_call +async def update_budget_with_http_info( + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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[UpdateBudgetReply] +``` + +Update Budget + +**Arguments**: + +- `organization_id` (`str`): (required) +- `body` (`UpdateBudgetRequest`): (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. + + + +#### update\_budget\_without\_preload\_content + +```python +@validate_call +async def update_budget_without_preload_content( + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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 +``` + +Update Budget + +**Arguments**: + +- `organization_id` (`str`): (required) +- `body` (`UpdateBudgetRequest`): (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. + + + +#### update\_organization + +```python +@validate_call +async def update_organization( + id: StrictStr, + organization: Organization, + update_mask: 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 +) -> UpdateOrganizationReply +``` + +Update Organization + +**Arguments**: + +- `id` (`str`): (required) +- `organization` (`Organization`): (required) +- `update_mask` (`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. + + + +#### update\_organization\_with\_http\_info + +```python +@validate_call +async def update_organization_with_http_info( + id: StrictStr, + organization: Organization, + update_mask: 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[UpdateOrganizationReply] +``` + +Update Organization + +**Arguments**: + +- `id` (`str`): (required) +- `organization` (`Organization`): (required) +- `update_mask` (`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. + + + +#### update\_organization\_without\_preload\_content + +```python +@validate_call +async def update_organization_without_preload_content( + id: StrictStr, + organization: Organization, + update_mask: 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 +``` + +Update Organization + +**Arguments**: + +- `id` (`str`): (required) +- `organization` (`Organization`): (required) +- `update_mask` (`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. + + + +#### update\_organization2 + +```python +@validate_call +async def update_organization2( + id: StrictStr, + organization: Organization, + update_mask: 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 +) -> UpdateOrganizationReply +``` + +Update Organization + +**Arguments**: + +- `id` (`str`): (required) +- `organization` (`Organization`): (required) +- `update_mask` (`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. + + + +#### update\_organization2\_with\_http\_info + +```python +@validate_call +async def update_organization2_with_http_info( + id: StrictStr, + organization: Organization, + update_mask: 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[UpdateOrganizationReply] +``` + +Update Organization + +**Arguments**: + +- `id` (`str`): (required) +- `organization` (`Organization`): (required) +- `update_mask` (`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. + + + +#### update\_organization2\_without\_preload\_content + +```python +@validate_call +async def update_organization2_without_preload_content( + id: StrictStr, + organization: Organization, + update_mask: 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 +``` + +Update Organization + +**Arguments**: + +- `id` (`str`): (required) +- `organization` (`Organization`): (required) +- `update_mask` (`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. + + + +#### update\_organization\_default\_project + +```python +@validate_call +async def update_organization_default_project( + id: StrictStr, + body: UpdateOrganizationDefaultProjectRequest, + _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 +) -> UpdateOrganizationDefaultProjectReply +``` + +Update Organization's default project + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdateOrganizationDefaultProjectRequest`): (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. + + + +#### update\_organization\_default\_project\_with\_http\_info + +```python +@validate_call +async def update_organization_default_project_with_http_info( + id: StrictStr, + body: UpdateOrganizationDefaultProjectRequest, + _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[UpdateOrganizationDefaultProjectReply] +``` + +Update Organization's default project + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdateOrganizationDefaultProjectRequest`): (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. + + + +#### update\_organization\_default\_project\_without\_preload\_content + +```python +@validate_call +async def update_organization_default_project_without_preload_content( + id: StrictStr, + body: UpdateOrganizationDefaultProjectRequest, + _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 +``` + +Update Organization's default project + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdateOrganizationDefaultProjectRequest`): (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. + + + +#### update\_organization\_name + +```python +@validate_call +async def update_organization_name( + id: StrictStr, + body: UpdateOrganizationNameRequest, + _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 +) -> UpdateOrganizationNameReply +``` + +Update Organization Name + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdateOrganizationNameRequest`): (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. + + + +#### update\_organization\_name\_with\_http\_info + +```python +@validate_call +async def update_organization_name_with_http_info( + id: StrictStr, + body: UpdateOrganizationNameRequest, + _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[UpdateOrganizationNameReply] +``` + +Update Organization Name + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdateOrganizationNameRequest`): (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. + + + +#### update\_organization\_name\_without\_preload\_content + +```python +@validate_call +async def update_organization_name_without_preload_content( + id: StrictStr, + body: UpdateOrganizationNameRequest, + _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 +``` + +Update Organization Name + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdateOrganizationNameRequest`): (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. + + + +#### update\_organization\_plan + +```python +@validate_call +async def update_organization_plan( + id: StrictStr, + body: UpdateOrganizationPlanRequest, + _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 +) -> UpdateOrganizationPlanReply +``` + +Update Organization plan + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdateOrganizationPlanRequest`): (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. + + + +#### update\_organization\_plan\_with\_http\_info + +```python +@validate_call +async def update_organization_plan_with_http_info( + id: StrictStr, + body: UpdateOrganizationPlanRequest, + _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[UpdateOrganizationPlanReply] +``` + +Update Organization plan + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdateOrganizationPlanRequest`): (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. + + + +#### update\_organization\_plan\_without\_preload\_content + +```python +@validate_call +async def update_organization_plan_without_preload_content( + id: StrictStr, + body: UpdateOrganizationPlanRequest, + _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 +``` + +Update Organization plan + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpdateOrganizationPlanRequest`): (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. + + + +#### upsert\_signup\_qualification + +```python +@validate_call +async def upsert_signup_qualification( + id: StrictStr, + body: UpsertSignupQualificationRequest, + _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 +) -> UpsertSignupQualificationReply +``` + +Upsert Organization's signup qualification + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpsertSignupQualificationRequest`): (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. + + + +#### upsert\_signup\_qualification\_with\_http\_info + +```python +@validate_call +async def upsert_signup_qualification_with_http_info( + id: StrictStr, + body: UpsertSignupQualificationRequest, + _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[UpsertSignupQualificationReply] +``` + +Upsert Organization's signup qualification + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpsertSignupQualificationRequest`): (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. + + + +#### upsert\_signup\_qualification\_without\_preload\_content + +```python +@validate_call +async def upsert_signup_qualification_without_preload_content( + id: StrictStr, + body: UpsertSignupQualificationRequest, + _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 +``` + +Upsert Organization's signup qualification + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`UpsertSignupQualificationRequest`): (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. + + + +# koyeb/api\_async.api.quotas\_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. + + + +## QuotasApi Objects + +```python +class QuotasApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### review\_organization\_capacity + +```python +@validate_call +async def review_organization_capacity( + body: ReviewOrganizationCapacityRequest, + _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 +) -> ReviewOrganizationCapacityReply +``` + +DEPRECATED: Review Organization Capacity + +**Arguments**: + +- `body` (`ReviewOrganizationCapacityRequest`): (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. + + + +#### review\_organization\_capacity\_with\_http\_info + +```python +@validate_call +async def review_organization_capacity_with_http_info( + body: ReviewOrganizationCapacityRequest, + _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[ReviewOrganizationCapacityReply] +``` + +DEPRECATED: Review Organization Capacity + +**Arguments**: + +- `body` (`ReviewOrganizationCapacityRequest`): (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. + + + +#### review\_organization\_capacity\_without\_preload\_content + +```python +@validate_call +async def review_organization_capacity_without_preload_content( + body: ReviewOrganizationCapacityRequest, + _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 +``` + +DEPRECATED: Review Organization Capacity + +**Arguments**: + +- `body` (`ReviewOrganizationCapacityRequest`): (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. + + + +# koyeb/api\_async.api.usages\_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. + + + +## UsagesApi Objects + +```python +class UsagesApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### get\_organization\_usage + +```python +@validate_call +async def get_organization_usage( + starting_time: Annotated[ + Optional[datetime], + Field(description="The starting time of the period to get data from" + )] = None, + ending_time: Annotated[ + Optional[datetime], + Field(description="The ending time of the period to get data from" + )] = 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 +) -> GetOrganizationUsageReply +``` + +Get organization usage + +**Arguments**: + +- `starting_time` (`datetime`): The starting time of the period to get data from +- `ending_time` (`datetime`): The ending time of the period to get data from +- `_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\_organization\_usage\_with\_http\_info + +```python +@validate_call +async def get_organization_usage_with_http_info( + starting_time: Annotated[ + Optional[datetime], + Field(description="The starting time of the period to get data from" + )] = None, + ending_time: Annotated[ + Optional[datetime], + Field(description="The ending time of the period to get data from" + )] = 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[GetOrganizationUsageReply] +``` + +Get organization usage + +**Arguments**: + +- `starting_time` (`datetime`): The starting time of the period to get data from +- `ending_time` (`datetime`): The ending time of the period to get data from +- `_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\_organization\_usage\_without\_preload\_content + +```python +@validate_call +async def get_organization_usage_without_preload_content( + starting_time: Annotated[ + Optional[datetime], + Field(description="The starting time of the period to get data from" + )] = None, + ending_time: Annotated[ + Optional[datetime], + Field(description="The ending time of the period to get data from" + )] = 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 +``` + +Get organization usage + +**Arguments**: + +- `starting_time` (`datetime`): The starting time of the period to get data from +- `ending_time` (`datetime`): The ending time of the period to get data from +- `_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\_organization\_usage\_details + +```python +@validate_call +async def get_organization_usage_details( + starting_time: Annotated[ + Optional[datetime], + Field(description="The starting time of the period to get data from" + )] = None, + ending_time: Annotated[ + Optional[datetime], + Field(description="The ending time of the period to get data from" + )] = 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, + accept: Annotated[ + Optional[StrictStr], + Field(description= + "If defined with the value 'text/csv', a csv file is returned" + )] = 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 +) -> GetOrganizationUsageDetailsReply +``` + +Get organization usage details + +**Arguments**: + +- `starting_time` (`datetime`): The starting time of the period to get data from +- `ending_time` (`datetime`): The ending time of the period to get data from +- `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 +- `accept` (`str`): If defined with the value 'text/csv', a csv file is returned +- `_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\_organization\_usage\_details\_with\_http\_info + +```python +@validate_call +async def get_organization_usage_details_with_http_info( + starting_time: Annotated[ + Optional[datetime], + Field(description="The starting time of the period to get data from" + )] = None, + ending_time: Annotated[ + Optional[datetime], + Field(description="The ending time of the period to get data from" + )] = 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, + accept: Annotated[ + Optional[StrictStr], + Field(description= + "If defined with the value 'text/csv', a csv file is returned" + )] = 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[GetOrganizationUsageDetailsReply] +``` + +Get organization usage details + +**Arguments**: + +- `starting_time` (`datetime`): The starting time of the period to get data from +- `ending_time` (`datetime`): The ending time of the period to get data from +- `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 +- `accept` (`str`): If defined with the value 'text/csv', a csv file is returned +- `_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\_organization\_usage\_details\_without\_preload\_content + +```python +@validate_call +async def get_organization_usage_details_without_preload_content( + starting_time: Annotated[ + Optional[datetime], + Field(description="The starting time of the period to get data from" + )] = None, + ending_time: Annotated[ + Optional[datetime], + Field(description="The ending time of the period to get data from" + )] = 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, + accept: Annotated[ + Optional[StrictStr], + Field(description= + "If defined with the value 'text/csv', a csv file is returned" + )] = 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 +``` + +Get organization usage details + +**Arguments**: + +- `starting_time` (`datetime`): The starting time of the period to get data from +- `ending_time` (`datetime`): The ending time of the period to get data from +- `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 +- `accept` (`str`): If defined with the value 'text/csv', a csv file is returned +- `_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.sessions\_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. + + + +## SessionsApi Objects + +```python +class SessionsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### login + +```python +@validate_call +async def login( + body: LoginRequest, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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) -> LoginReply +``` + +Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`LoginRequest`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### login\_with\_http\_info + +```python +@validate_call +async def login_with_http_info( + body: LoginRequest, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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[LoginReply] +``` + +Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`LoginRequest`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### login\_without\_preload\_content + +```python +@validate_call +async def login_without_preload_content( + body: LoginRequest, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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 +``` + +Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`LoginRequest`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### logout + +```python +@validate_call +async def logout( + _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) -> object +``` + +Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `_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. + + + +#### logout\_with\_http\_info + +```python +@validate_call +async def logout_with_http_info( + _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[object] +``` + +Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `_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. + + + +#### logout\_without\_preload\_content + +```python +@validate_call +async def logout_without_preload_content( + _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 +``` + +Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `_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. + + + +#### new\_session + +```python +@validate_call +async def new_session( + _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) -> LoginReply +``` + +New session + +Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use "Switch organization". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `_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. + + + +#### new\_session\_with\_http\_info + +```python +@validate_call +async def new_session_with_http_info( + _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[LoginReply] +``` + +New session + +Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use "Switch organization". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `_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. + + + +#### new\_session\_without\_preload\_content + +```python +@validate_call +async def new_session_without_preload_content( + _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 +``` + +New session + +Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use "Switch organization". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `_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. + + + +#### refresh\_token + +```python +@validate_call +async def refresh_token( + _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) -> LoginReply +``` + +Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `_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. + + + +#### refresh\_token\_with\_http\_info + +```python +@validate_call +async def refresh_token_with_http_info( + _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[LoginReply] +``` + +Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `_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. + + + +#### refresh\_token\_without\_preload\_content + +```python +@validate_call +async def refresh_token_without_preload_content( + _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 +``` + +Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `_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.secrets\_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. + + + +## SecretsApi Objects + +```python +class SecretsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_secret + +```python +@validate_call +async def create_secret( + secret: CreateSecret, + _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) -> CreateSecretReply +``` + +Create Secret + +**Arguments**: + +- `secret` (`CreateSecret`): (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\_secret\_with\_http\_info + +```python +@validate_call +async def create_secret_with_http_info( + secret: CreateSecret, + _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[CreateSecretReply] +``` + +Create Secret + +**Arguments**: + +- `secret` (`CreateSecret`): (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\_secret\_without\_preload\_content + +```python +@validate_call +async def create_secret_without_preload_content( + secret: CreateSecret, + _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 Secret + +**Arguments**: + +- `secret` (`CreateSecret`): (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\_secret + +```python +@validate_call +async def delete_secret( + 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) -> object +``` + +Delete Secret + +**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\_secret\_with\_http\_info + +```python +@validate_call +async def delete_secret_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[object] +``` + +Delete Secret + +**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\_secret\_without\_preload\_content + +```python +@validate_call +async def delete_secret_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 Secret + +**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\_secret + +```python +@validate_call +async def get_secret( + 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) -> GetSecretReply +``` + +Get Secret + +**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\_secret\_with\_http\_info + +```python +@validate_call +async def get_secret_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[GetSecretReply] +``` + +Get Secret + +**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\_secret\_without\_preload\_content + +```python +@validate_call +async def get_secret_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 Secret + +**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\_secrets + +```python +@validate_call +async def list_secrets( + name: Optional[StrictStr] = None, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[Optional[List[StrictStr]], + Field(description="Filter by secret types")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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) -> ListSecretsReply +``` + +List Secrets + +**Arguments**: + +- `name` (`str`): +- `limit` (`str`): +- `offset` (`str`): +- `types` (`List[str]`): Filter by secret types +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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\_secrets\_with\_http\_info + +```python +@validate_call +async def list_secrets_with_http_info( + name: Optional[StrictStr] = None, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[Optional[List[StrictStr]], + Field(description="Filter by secret types")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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[ListSecretsReply] +``` + +List Secrets + +**Arguments**: + +- `name` (`str`): +- `limit` (`str`): +- `offset` (`str`): +- `types` (`List[str]`): Filter by secret types +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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\_secrets\_without\_preload\_content + +```python +@validate_call +async def list_secrets_without_preload_content( + name: Optional[StrictStr] = None, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[Optional[List[StrictStr]], + Field(description="Filter by secret types")] = None, + project_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the project ID")] = 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 Secrets + +**Arguments**: + +- `name` (`str`): +- `limit` (`str`): +- `offset` (`str`): +- `types` (`List[str]`): Filter by secret types +- `project_id` (`str`): (Optional) A filter for the project ID +- `_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. + + + +#### reveal\_secret + +```python +@validate_call +async def reveal_secret( + id: StrictStr, + body: Dict[str, Any], + _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) -> RevealSecretReply +``` + +Reveal Secret + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (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. + + + +#### reveal\_secret\_with\_http\_info + +```python +@validate_call +async def reveal_secret_with_http_info( + id: StrictStr, + body: Dict[str, Any], + _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[RevealSecretReply] +``` + +Reveal Secret + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (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. + + + +#### reveal\_secret\_without\_preload\_content + +```python +@validate_call +async def reveal_secret_without_preload_content( + id: StrictStr, + body: Dict[str, Any], + _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 +``` + +Reveal Secret + +**Arguments**: + +- `id` (`str`): (required) +- `body` (`object`): (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. + + + +#### update\_secret + +```python +@validate_call +async def update_secret( + id: StrictStr, + secret: Secret, + update_mask: 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) -> UpdateSecretReply +``` + +Update Secret + +**Arguments**: + +- `id` (`str`): (required) +- `secret` (`Secret`): (required) +- `update_mask` (`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. + + + +#### update\_secret\_with\_http\_info + +```python +@validate_call +async def update_secret_with_http_info( + id: StrictStr, + secret: Secret, + update_mask: 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[UpdateSecretReply] +``` + +Update Secret + +**Arguments**: + +- `id` (`str`): (required) +- `secret` (`Secret`): (required) +- `update_mask` (`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. + + + +#### update\_secret\_without\_preload\_content + +```python +@validate_call +async def update_secret_without_preload_content( + id: StrictStr, + secret: Secret, + update_mask: 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 +``` + +Update Secret + +**Arguments**: + +- `id` (`str`): (required) +- `secret` (`Secret`): (required) +- `update_mask` (`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. + + + +#### update\_secret2 + +```python +@validate_call +async def update_secret2( + id: StrictStr, + secret: Secret, + update_mask: 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) -> UpdateSecretReply +``` + +Update Secret + +**Arguments**: + +- `id` (`str`): (required) +- `secret` (`Secret`): (required) +- `update_mask` (`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. + + + +#### update\_secret2\_with\_http\_info + +```python +@validate_call +async def update_secret2_with_http_info( + id: StrictStr, + secret: Secret, + update_mask: 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[UpdateSecretReply] +``` + +Update Secret + +**Arguments**: + +- `id` (`str`): (required) +- `secret` (`Secret`): (required) +- `update_mask` (`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. + + + +#### update\_secret2\_without\_preload\_content + +```python +@validate_call +async def update_secret2_without_preload_content( + id: StrictStr, + secret: Secret, + update_mask: 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 +``` + +Update Secret + +**Arguments**: + +- `id` (`str`): (required) +- `secret` (`Secret`): (required) +- `update_mask` (`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.profile\_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. + + + +## ProfileApi Objects + +```python +class ProfileApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### accept\_organization\_invitation + +```python +@validate_call +async def accept_organization_invitation( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to accept")], + body: Dict[str, Any], + _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 +) -> AcceptOrganizationInvitationReply +``` + +Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to accept (required) +- `body` (`object`): (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. + + + +#### accept\_organization\_invitation\_with\_http\_info + +```python +@validate_call +async def accept_organization_invitation_with_http_info( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to accept")], + body: Dict[str, Any], + _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[AcceptOrganizationInvitationReply] +``` + +Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to accept (required) +- `body` (`object`): (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. + + + +#### accept\_organization\_invitation\_without\_preload\_content + +```python +@validate_call +async def accept_organization_invitation_without_preload_content( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to accept")], + body: Dict[str, Any], + _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 +``` + +Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to accept (required) +- `body` (`object`): (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. + + + +#### clear\_idenfy\_verification\_result + +```python +@validate_call +async def clear_idenfy_verification_result( + body: ClearIdenfyVerificationResultRequest, + _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) -> object +``` + +ClearIdenfyVerificationResult marks the current result for idenfy as superseded + +**Arguments**: + +- `body` (`ClearIdenfyVerificationResultRequest`): (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. + + + +#### clear\_idenfy\_verification\_result\_with\_http\_info + +```python +@validate_call +async def clear_idenfy_verification_result_with_http_info( + body: ClearIdenfyVerificationResultRequest, + _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[object] +``` + +ClearIdenfyVerificationResult marks the current result for idenfy as superseded + +**Arguments**: + +- `body` (`ClearIdenfyVerificationResultRequest`): (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. + + + +#### clear\_idenfy\_verification\_result\_without\_preload\_content + +```python +@validate_call +async def clear_idenfy_verification_result_without_preload_content( + body: ClearIdenfyVerificationResultRequest, + _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 +``` + +ClearIdenfyVerificationResult marks the current result for idenfy as superseded + +**Arguments**: + +- `body` (`ClearIdenfyVerificationResultRequest`): (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. + + + +#### decline\_organization\_invitation + +```python +@validate_call +async def decline_organization_invitation( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to decline")], + body: Dict[str, Any], + _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 +) -> DeclineOrganizationInvitationReply +``` + +Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to decline (required) +- `body` (`object`): (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. + + + +#### decline\_organization\_invitation\_with\_http\_info + +```python +@validate_call +async def decline_organization_invitation_with_http_info( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to decline")], + body: Dict[str, Any], + _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[DeclineOrganizationInvitationReply] +``` + +Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to decline (required) +- `body` (`object`): (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. + + + +#### decline\_organization\_invitation\_without\_preload\_content + +```python +@validate_call +async def decline_organization_invitation_without_preload_content( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to decline")], + body: Dict[str, Any], + _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 +``` + +Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to decline (required) +- `body` (`object`): (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\_current\_organization + +```python +@validate_call +async def get_current_organization( + _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 +) -> GetOrganizationReply +``` + +Get Current Organization + +**Arguments**: + +- `_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\_current\_organization\_with\_http\_info + +```python +@validate_call +async def get_current_organization_with_http_info( + _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[GetOrganizationReply] +``` + +Get Current Organization + +**Arguments**: + +- `_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\_current\_organization\_without\_preload\_content + +```python +@validate_call +async def get_current_organization_without_preload_content( + _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 Current Organization + +**Arguments**: + +- `_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\_current\_user + +```python +@validate_call +async def get_current_user( + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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) -> UserReply +``` + +Get Current User + +**Arguments**: + +- `seon_fp` (`str`): Seon Fingerprint +- `_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\_current\_user\_with\_http\_info + +```python +@validate_call +async def get_current_user_with_http_info( + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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[UserReply] +``` + +Get Current User + +**Arguments**: + +- `seon_fp` (`str`): Seon Fingerprint +- `_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\_current\_user\_without\_preload\_content + +```python +@validate_call +async def get_current_user_without_preload_content( + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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 +``` + +Get Current User + +**Arguments**: + +- `seon_fp` (`str`): Seon Fingerprint +- `_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\_idenfy\_token + +```python +@validate_call +async def get_idenfy_token( + _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 +) -> GetIdenfyTokenReply +``` + +Begin a session with iDenfy, emit an authToken + +**Arguments**: + +- `_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\_idenfy\_token\_with\_http\_info + +```python +@validate_call +async def get_idenfy_token_with_http_info( + _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[GetIdenfyTokenReply] +``` + +Begin a session with iDenfy, emit an authToken + +**Arguments**: + +- `_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\_idenfy\_token\_without\_preload\_content + +```python +@validate_call +async def get_idenfy_token_without_preload_content( + _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 +``` + +Begin a session with iDenfy, emit an authToken + +**Arguments**: + +- `_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\_o\_auth\_options + +```python +@validate_call +async def get_o_auth_options( + action: Annotated[ + Optional[StrictStr], + Field(description="Which authentication flow is being initiated" + )] = None, + metadata: Annotated[ + Optional[StrictStr], + Field( + description= + "A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state" + )] = 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 +) -> GetOAuthOptionsReply +``` + +Get OAuth Providers + +**Arguments**: + +- `action` (`str`): Which authentication flow is being initiated +- `metadata` (`str`): A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state +- `_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\_o\_auth\_options\_with\_http\_info + +```python +@validate_call +async def get_o_auth_options_with_http_info( + action: Annotated[ + Optional[StrictStr], + Field(description="Which authentication flow is being initiated" + )] = None, + metadata: Annotated[ + Optional[StrictStr], + Field( + description= + "A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state" + )] = 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[GetOAuthOptionsReply] +``` + +Get OAuth Providers + +**Arguments**: + +- `action` (`str`): Which authentication flow is being initiated +- `metadata` (`str`): A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state +- `_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\_o\_auth\_options\_without\_preload\_content + +```python +@validate_call +async def get_o_auth_options_without_preload_content( + action: Annotated[ + Optional[StrictStr], + Field(description="Which authentication flow is being initiated" + )] = None, + metadata: Annotated[ + Optional[StrictStr], + Field( + description= + "A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state" + )] = 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 +``` + +Get OAuth Providers + +**Arguments**: + +- `action` (`str`): Which authentication flow is being initiated +- `metadata` (`str`): A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state +- `_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\_user\_organization\_invitation + +```python +@validate_call +async def get_user_organization_invitation( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to get")], + _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 +) -> GetUserOrganizationInvitationReply +``` + +Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to get (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\_user\_organization\_invitation\_with\_http\_info + +```python +@validate_call +async def get_user_organization_invitation_with_http_info( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to get")], + _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[GetUserOrganizationInvitationReply] +``` + +Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to get (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\_user\_organization\_invitation\_without\_preload\_content + +```python +@validate_call +async def get_user_organization_invitation_without_preload_content( + id: Annotated[ + StrictStr, + Field(description="The id of the organization invitation to get")], + _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 User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): The id of the organization invitation to get (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\_user\_settings + +```python +@validate_call +async def get_user_settings( + _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 +) -> GetUserSettingsReply +``` + +get_user_settings + +**Arguments**: + +- `_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\_user\_settings\_with\_http\_info + +```python +@validate_call +async def get_user_settings_with_http_info( + _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[GetUserSettingsReply] +``` + +get_user_settings + +**Arguments**: + +- `_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\_user\_settings\_without\_preload\_content + +```python +@validate_call +async def get_user_settings_without_preload_content( + _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_user_settings + +**Arguments**: + +- `_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\_user\_organization\_invitations + +```python +@validate_call +async def list_user_organization_invitations( + 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on organization invitation statuses" + )] = 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 +) -> ListUserOrganizationInvitationsReply +``` + +List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on organization invitation statuses +- `_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\_user\_organization\_invitations\_with\_http\_info + +```python +@validate_call +async def list_user_organization_invitations_with_http_info( + 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on organization invitation statuses" + )] = 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[ListUserOrganizationInvitationsReply] +``` + +List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on organization invitation statuses +- `_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\_user\_organization\_invitations\_without\_preload\_content + +```python +@validate_call +async def list_user_organization_invitations_without_preload_content( + 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, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description="(Optional) Filter on organization invitation statuses" + )] = 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 User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `statuses` (`List[str]`): (Optional) Filter on organization invitation statuses +- `_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\_user\_organizations + +```python +@validate_call +async def list_user_organizations( + limit: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Define pagination limit")] = None, + offset: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Define pagination offset")] = None, + order: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Sorts the list in the ascending or the descending order" + )] = None, + search: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Fuzzy case-insensitive search based on organization name or organization id" + )] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Only return organizations which status match one in the list" + )] = 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 +) -> ListUserOrganizationsReply +``` + +List User Organizations + +List all organizations that the current user is a member of. + +**Arguments**: + +- `limit` (`str`): (Optional) Define pagination limit +- `offset` (`str`): (Optional) Define pagination offset +- `order` (`str`): (Optional) Sorts the list in the ascending or the descending order +- `search` (`str`): (Optional) Fuzzy case-insensitive search based on organization name or organization id +- `statuses` (`List[str]`): (Optional) Only return organizations which status match one in the list +- `_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\_user\_organizations\_with\_http\_info + +```python +@validate_call +async def list_user_organizations_with_http_info( + limit: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Define pagination limit")] = None, + offset: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Define pagination offset")] = None, + order: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Sorts the list in the ascending or the descending order" + )] = None, + search: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Fuzzy case-insensitive search based on organization name or organization id" + )] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Only return organizations which status match one in the list" + )] = 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[ListUserOrganizationsReply] +``` + +List User Organizations + +List all organizations that the current user is a member of. + +**Arguments**: + +- `limit` (`str`): (Optional) Define pagination limit +- `offset` (`str`): (Optional) Define pagination offset +- `order` (`str`): (Optional) Sorts the list in the ascending or the descending order +- `search` (`str`): (Optional) Fuzzy case-insensitive search based on organization name or organization id +- `statuses` (`List[str]`): (Optional) Only return organizations which status match one in the list +- `_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\_user\_organizations\_without\_preload\_content + +```python +@validate_call +async def list_user_organizations_without_preload_content( + limit: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Define pagination limit")] = None, + offset: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Define pagination offset")] = None, + order: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Sorts the list in the ascending or the descending order" + )] = None, + search: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Fuzzy case-insensitive search based on organization name or organization id" + )] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Only return organizations which status match one in the list" + )] = 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 User Organizations + +List all organizations that the current user is a member of. + +**Arguments**: + +- `limit` (`str`): (Optional) Define pagination limit +- `offset` (`str`): (Optional) Define pagination offset +- `order` (`str`): (Optional) Sorts the list in the ascending or the descending order +- `search` (`str`): (Optional) Fuzzy case-insensitive search based on organization name or organization id +- `statuses` (`List[str]`): (Optional) Only return organizations which status match one in the list +- `_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. + + + +#### login\_method + +```python +@validate_call +async def login_method( + email: 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) -> LoginMethodReply +``` + +Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `email` (`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. + + + +#### login\_method\_with\_http\_info + +```python +@validate_call +async def login_method_with_http_info( + email: 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[LoginMethodReply] +``` + +Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `email` (`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. + + + +#### login\_method\_without\_preload\_content + +```python +@validate_call +async def login_method_without_preload_content( + email: 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 +``` + +Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `email` (`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. + + + +#### o\_auth\_callback + +```python +@validate_call +async def o_auth_callback( + body: OAuthCallbackRequest, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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 +) -> OAuthCallbackReply +``` + +Authenticate using OAuth + +**Arguments**: + +- `body` (`OAuthCallbackRequest`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### o\_auth\_callback\_with\_http\_info + +```python +@validate_call +async def o_auth_callback_with_http_info( + body: OAuthCallbackRequest, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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[OAuthCallbackReply] +``` + +Authenticate using OAuth + +**Arguments**: + +- `body` (`OAuthCallbackRequest`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### o\_auth\_callback\_without\_preload\_content + +```python +@validate_call +async def o_auth_callback_without_preload_content( + body: OAuthCallbackRequest, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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 +``` + +Authenticate using OAuth + +**Arguments**: + +- `body` (`OAuthCallbackRequest`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### resend\_email\_validation + +```python +@validate_call +async def resend_email_validation( + body: Dict[str, Any], + _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) -> object +``` + +Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`object`): (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. + + + +#### resend\_email\_validation\_with\_http\_info + +```python +@validate_call +async def resend_email_validation_with_http_info( + body: Dict[str, Any], + _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[object] +``` + +Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`object`): (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. + + + +#### resend\_email\_validation\_without\_preload\_content + +```python +@validate_call +async def resend_email_validation_without_preload_content( + body: Dict[str, Any], + _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 +``` + +Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`object`): (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. + + + +#### reset\_password + +```python +@validate_call +async def reset_password( + body: ResetPasswordRequest, + _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) -> object +``` + +Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`ResetPasswordRequest`): (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. + + + +#### reset\_password\_with\_http\_info + +```python +@validate_call +async def reset_password_with_http_info( + body: ResetPasswordRequest, + _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[object] +``` + +Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`ResetPasswordRequest`): (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. + + + +#### reset\_password\_without\_preload\_content + +```python +@validate_call +async def reset_password_without_preload_content( + body: ResetPasswordRequest, + _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 +``` + +Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`ResetPasswordRequest`): (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. + + + +#### signup + +```python +@validate_call +async def signup( + body: Annotated[CreateAccountRequest, + Field(description="Create new account")], + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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) -> LoginReply +``` + +Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`CreateAccountRequest`): Create new account (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### signup\_with\_http\_info + +```python +@validate_call +async def signup_with_http_info( + body: Annotated[CreateAccountRequest, + Field(description="Create new account")], + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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[LoginReply] +``` + +Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`CreateAccountRequest`): Create new account (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### signup\_without\_preload\_content + +```python +@validate_call +async def signup_without_preload_content( + body: Annotated[CreateAccountRequest, + Field(description="Create new account")], + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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 +``` + +Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`CreateAccountRequest`): Create new account (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### update\_password + +```python +@validate_call +async def update_password( + body: UpdatePasswordRequest, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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) -> LoginReply +``` + +Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`UpdatePasswordRequest`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### update\_password\_with\_http\_info + +```python +@validate_call +async def update_password_with_http_info( + body: UpdatePasswordRequest, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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[LoginReply] +``` + +Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`UpdatePasswordRequest`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### update\_password\_without\_preload\_content + +```python +@validate_call +async def update_password_without_preload_content( + body: UpdatePasswordRequest, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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 +``` + +Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `body` (`UpdatePasswordRequest`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### update\_user + +```python +@validate_call +async def update_user( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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) -> UserReply +``` + +Update User + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### update\_user\_with\_http\_info + +```python +@validate_call +async def update_user_with_http_info( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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[UserReply] +``` + +Update User + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### update\_user\_without\_preload\_content + +```python +@validate_call +async def update_user_without_preload_content( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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 +``` + +Update User + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### update\_user2 + +```python +@validate_call +async def update_user2( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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) -> UserReply +``` + +Update User + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### update\_user2\_with\_http\_info + +```python +@validate_call +async def update_user2_with_http_info( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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[UserReply] +``` + +Update User + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### update\_user2\_without\_preload\_content + +```python +@validate_call +async def update_user2_without_preload_content( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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 +``` + +Update User + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### update\_user\_settings + +```python +@validate_call +async def update_user_settings( + body: UpdateUserSettingsRequest, + _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 +) -> UpdateUserSettingsReply +``` + +update_user_settings + +**Arguments**: + +- `body` (`UpdateUserSettingsRequest`): (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. + + + +#### update\_user\_settings\_with\_http\_info + +```python +@validate_call +async def update_user_settings_with_http_info( + body: UpdateUserSettingsRequest, + _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[UpdateUserSettingsReply] +``` + +update_user_settings + +**Arguments**: + +- `body` (`UpdateUserSettingsRequest`): (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. + + + +#### update\_user\_settings\_without\_preload\_content + +```python +@validate_call +async def update_user_settings_without_preload_content( + body: UpdateUserSettingsRequest, + _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 +``` + +update_user_settings + +**Arguments**: + +- `body` (`UpdateUserSettingsRequest`): (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. + + + +#### update\_user\_v2 + +```python +@validate_call +async def update_user_v2( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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) -> UserReply +``` + +Update User V2 + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### update\_user\_v2\_with\_http\_info + +```python +@validate_call +async def update_user_v2_with_http_info( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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[UserReply] +``` + +Update User V2 + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### update\_user\_v2\_without\_preload\_content + +```python +@validate_call +async def update_user_v2_without_preload_content( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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 +``` + +Update User V2 + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### update\_user\_v22 + +```python +@validate_call +async def update_user_v22( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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) -> UserReply +``` + +Update User V2 + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### update\_user\_v22\_with\_http\_info + +```python +@validate_call +async def update_user_v22_with_http_info( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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[UserReply] +``` + +Update User V2 + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### update\_user\_v22\_without\_preload\_content + +```python +@validate_call +async def update_user_v22_without_preload_content( + user: UpdateUserRequestUserUpdateBody, + update_mask: 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 +``` + +Update User V2 + +**Arguments**: + +- `user` (`UpdateUserRequestUserUpdateBody`): (required) +- `update_mask` (`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. + + + +#### validate + +```python +@validate_call +async def validate( + id: StrictStr, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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) -> LoginReply +``` + +Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### validate\_with\_http\_info + +```python +@validate_call +async def validate_with_http_info( + id: StrictStr, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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[LoginReply] +``` + +Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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. + + + +#### validate\_without\_preload\_content + +```python +@validate_call +async def validate_without_preload_content( + id: StrictStr, + seon_fp: Annotated[Optional[StrictStr], + Field(description="Seon Fingerprint")] = 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 +``` + +Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +**Arguments**: + +- `id` (`str`): (required) +- `seon_fp` (`str`): Seon Fingerprint +- `_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.test\_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. + + + +## TestApi Objects + +```python +class TestApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### test\_anon + +```python +@validate_call +async def test_anon( + _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) -> object +``` + +Test anonymous call + +**Arguments**: + +- `_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. + + + +#### test\_anon\_with\_http\_info + +```python +@validate_call +async def test_anon_with_http_info( + _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[object] +``` + +Test anonymous call + +**Arguments**: + +- `_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. + + + +#### test\_anon\_without\_preload\_content + +```python +@validate_call +async def test_anon_without_preload_content( + _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 +``` + +Test anonymous call + +**Arguments**: + +- `_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. + + + +#### test\_auth + +```python +@validate_call +async def test_auth( + body: KtestTestAuthRequest, + _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 +) -> KtestTestAuthReply +``` + +Test authenticated call + +**Arguments**: + +- `body` (`KtestTestAuthRequest`): (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. + + + +#### test\_auth\_with\_http\_info + +```python +@validate_call +async def test_auth_with_http_info( + body: KtestTestAuthRequest, + _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[KtestTestAuthReply] +``` + +Test authenticated call + +**Arguments**: + +- `body` (`KtestTestAuthRequest`): (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. + + + +#### test\_auth\_without\_preload\_content + +```python +@validate_call +async def test_auth_without_preload_content( + body: KtestTestAuthRequest, + _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 +``` + +Test authenticated call + +**Arguments**: + +- `body` (`KtestTestAuthRequest`): (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. + + + +# koyeb/api\_async.api.catalog\_instances\_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. + + + +## CatalogInstancesApi Objects + +```python +class CatalogInstancesApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### get\_catalog\_instance + +```python +@validate_call +async def get_catalog_instance( + id: Annotated[StrictStr, + Field(description="The name of the instance")], + _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 +) -> GetCatalogInstanceReply +``` + +Get Instance + +**Arguments**: + +- `id` (`str`): The name of the instance (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\_catalog\_instance\_with\_http\_info + +```python +@validate_call +async def get_catalog_instance_with_http_info( + id: Annotated[StrictStr, + Field(description="The name of the instance")], + _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[GetCatalogInstanceReply] +``` + +Get Instance + +**Arguments**: + +- `id` (`str`): The name of the instance (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\_catalog\_instance\_without\_preload\_content + +```python +@validate_call +async def get_catalog_instance_without_preload_content( + id: Annotated[StrictStr, + Field(description="The name of the instance")], + _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 + +**Arguments**: + +- `id` (`str`): The name of the instance (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\_catalog\_instances + +```python +@validate_call +async def list_catalog_instances( + 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, + id: Annotated[Optional[StrictStr], + Field( + description="(Optional) A filter for instances")] = 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 +) -> ListCatalogInstancesReply +``` + +List Instances + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `id` (`str`): (Optional) A filter for instances +- `_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\_catalog\_instances\_with\_http\_info + +```python +@validate_call +async def list_catalog_instances_with_http_info( + 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, + id: Annotated[Optional[StrictStr], + Field( + description="(Optional) A filter for instances")] = 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[ListCatalogInstancesReply] +``` + +List Instances + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `id` (`str`): (Optional) A filter for instances +- `_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\_catalog\_instances\_without\_preload\_content + +```python +@validate_call +async def list_catalog_instances_without_preload_content( + 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, + id: Annotated[Optional[StrictStr], + Field( + description="(Optional) A filter for instances")] = 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 Instances + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `id` (`str`): (Optional) A filter for instances +- `_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.instances\_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. + + + +## InstancesApi Objects + +```python +class InstancesApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### exec\_command + +```python +@validate_call +async def exec_command( + id: Annotated[Optional[StrictStr], + Field(description="ID of the resource to exec on.")] = None, + body_command: Annotated[ + Optional[List[StrictStr]], + Field(description="Command to exec. Mandatory in the first frame sent" + )] = None, + body_tty_size_height: Optional[StrictInt] = None, + body_tty_size_width: Optional[StrictInt] = None, + body_stdin_data: Annotated[ + Optional[Union[StrictBytes, StrictStr]], + Field(description="Data is base64 encoded")] = None, + body_stdin_close: Annotated[ + Optional[StrictBool], + Field(description="Indicate last data frame")] = None, + body_disable_tty: Annotated[ + Optional[StrictBool], + Field(description= + "Disable TTY. It's enough to specify it in the first frame" + )] = None, + id_type: Annotated[ + Optional[StrictStr], + Field( + description= + "When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id." + )] = 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 +) -> StreamResultOfExecCommandReply +``` + +Exec Command + +This endpoint opens a websocket. Once open, all frames going through the websocket should be formatted in JSON. Input frames should match the format specified below. Output frames will match the response schema. + +**Arguments**: + +- `id` (`str`): ID of the resource to exec on. +- `body_command` (`List[str]`): Command to exec. Mandatory in the first frame sent +- `body_tty_size_height` (`int`): +- `body_tty_size_width` (`int`): +- `body_stdin_data` (`bytes`): Data is base64 encoded +- `body_stdin_close` (`bool`): Indicate last data frame +- `body_disable_tty` (`bool`): Disable TTY. It's enough to specify it in the first frame +- `id_type` (`str`): When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id. +- `_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. + + + +#### exec\_command\_with\_http\_info + +```python +@validate_call +async def exec_command_with_http_info( + id: Annotated[Optional[StrictStr], + Field(description="ID of the resource to exec on.")] = None, + body_command: Annotated[ + Optional[List[StrictStr]], + Field(description="Command to exec. Mandatory in the first frame sent" + )] = None, + body_tty_size_height: Optional[StrictInt] = None, + body_tty_size_width: Optional[StrictInt] = None, + body_stdin_data: Annotated[ + Optional[Union[StrictBytes, StrictStr]], + Field(description="Data is base64 encoded")] = None, + body_stdin_close: Annotated[ + Optional[StrictBool], + Field(description="Indicate last data frame")] = None, + body_disable_tty: Annotated[ + Optional[StrictBool], + Field(description= + "Disable TTY. It's enough to specify it in the first frame" + )] = None, + id_type: Annotated[ + Optional[StrictStr], + Field( + description= + "When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id." + )] = 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[StreamResultOfExecCommandReply] +``` + +Exec Command + +This endpoint opens a websocket. Once open, all frames going through the websocket should be formatted in JSON. Input frames should match the format specified below. Output frames will match the response schema. + +**Arguments**: + +- `id` (`str`): ID of the resource to exec on. +- `body_command` (`List[str]`): Command to exec. Mandatory in the first frame sent +- `body_tty_size_height` (`int`): +- `body_tty_size_width` (`int`): +- `body_stdin_data` (`bytes`): Data is base64 encoded +- `body_stdin_close` (`bool`): Indicate last data frame +- `body_disable_tty` (`bool`): Disable TTY. It's enough to specify it in the first frame +- `id_type` (`str`): When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id. +- `_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. + + + +#### exec\_command\_without\_preload\_content + +```python +@validate_call +async def exec_command_without_preload_content( + id: Annotated[Optional[StrictStr], + Field(description="ID of the resource to exec on.")] = None, + body_command: Annotated[ + Optional[List[StrictStr]], + Field(description="Command to exec. Mandatory in the first frame sent" + )] = None, + body_tty_size_height: Optional[StrictInt] = None, + body_tty_size_width: Optional[StrictInt] = None, + body_stdin_data: Annotated[ + Optional[Union[StrictBytes, StrictStr]], + Field(description="Data is base64 encoded")] = None, + body_stdin_close: Annotated[ + Optional[StrictBool], + Field(description="Indicate last data frame")] = None, + body_disable_tty: Annotated[ + Optional[StrictBool], + Field(description= + "Disable TTY. It's enough to specify it in the first frame" + )] = None, + id_type: Annotated[ + Optional[StrictStr], + Field( + description= + "When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id." + )] = 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 +``` + +Exec Command + +This endpoint opens a websocket. Once open, all frames going through the websocket should be formatted in JSON. Input frames should match the format specified below. Output frames will match the response schema. + +**Arguments**: + +- `id` (`str`): ID of the resource to exec on. +- `body_command` (`List[str]`): Command to exec. Mandatory in the first frame sent +- `body_tty_size_height` (`int`): +- `body_tty_size_width` (`int`): +- `body_stdin_data` (`bytes`): Data is base64 encoded +- `body_stdin_close` (`bool`): Indicate last data frame +- `body_disable_tty` (`bool`): Disable TTY. It's enough to specify it in the first frame +- `id_type` (`str`): When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id. +- `_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 + +```python +@validate_call +async def get_instance( + id: Annotated[StrictStr, + Field(description="The id of the instance")], + _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) -> GetInstanceReply +``` + +Get Instance + +**Arguments**: + +- `id` (`str`): The id of the instance (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\_with\_http\_info + +```python +@validate_call +async def get_instance_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the instance")], + _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[GetInstanceReply] +``` + +Get Instance + +**Arguments**: + +- `id` (`str`): The id of the instance (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\_without\_preload\_content + +```python +@validate_call +async def get_instance_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the instance")], + _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 + +**Arguments**: + +- `id` (`str`): The id of the instance (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\_events + +```python +@validate_call +async def list_instance_events( + instance_ids: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on list of instance id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on instance 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 +) -> ListInstanceEventsReply +``` + +List Instance events + +**Arguments**: + +- `instance_ids` (`List[str]`): (Optional) Filter on list of instance id +- `types` (`List[str]`): (Optional) Filter on instance 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\_events\_with\_http\_info + +```python +@validate_call +async def list_instance_events_with_http_info( + instance_ids: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on list of instance id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on instance 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[ListInstanceEventsReply] +``` + +List Instance events + +**Arguments**: + +- `instance_ids` (`List[str]`): (Optional) Filter on list of instance id +- `types` (`List[str]`): (Optional) Filter on instance 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\_events\_without\_preload\_content + +```python +@validate_call +async def list_instance_events_without_preload_content( + instance_ids: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on list of instance id")] = None, + types: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on instance 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 events + +**Arguments**: + +- `instance_ids` (`List[str]`): (Optional) Filter on list of instance id +- `types` (`List[str]`): (Optional) Filter on instance 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\_instances + +```python +@validate_call +async def list_instances( + app_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on service id")] = None, + deployment_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on deployment id")] = None, + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description="(Optional) Filter on regional deployment id")] = None, + allocation_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on allocation id")] = None, + replica_index: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on replica index")] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on instance statuses")] = 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, + starting_time: Annotated[ + Optional[datetime], + Field(description= + "(Optional) The starting time of the period of running instance" + )] = None, + ending_time: Annotated[ + Optional[datetime], + Field(description= + "(Optional) The ending time of the period of running instance" + )] = 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 +) -> ListInstancesReply +``` + +List Instances + +**Arguments**: + +- `app_id` (`str`): (Optional) Filter on application id +- `service_id` (`str`): (Optional) Filter on service id +- `deployment_id` (`str`): (Optional) Filter on deployment id +- `regional_deployment_id` (`str`): (Optional) Filter on regional deployment id +- `allocation_id` (`str`): (Optional) Filter on allocation id +- `replica_index` (`str`): (Optional) Filter on replica index +- `statuses` (`List[str]`): (Optional) Filter on instance statuses +- `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 +- `starting_time` (`datetime`): (Optional) The starting time of the period of running instance +- `ending_time` (`datetime`): (Optional) The ending time of the period of running instance +- `_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\_instances\_with\_http\_info + +```python +@validate_call +async def list_instances_with_http_info( + app_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on service id")] = None, + deployment_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on deployment id")] = None, + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description="(Optional) Filter on regional deployment id")] = None, + allocation_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on allocation id")] = None, + replica_index: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on replica index")] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on instance statuses")] = 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, + starting_time: Annotated[ + Optional[datetime], + Field(description= + "(Optional) The starting time of the period of running instance" + )] = None, + ending_time: Annotated[ + Optional[datetime], + Field(description= + "(Optional) The ending time of the period of running instance" + )] = 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[ListInstancesReply] +``` + +List Instances + +**Arguments**: + +- `app_id` (`str`): (Optional) Filter on application id +- `service_id` (`str`): (Optional) Filter on service id +- `deployment_id` (`str`): (Optional) Filter on deployment id +- `regional_deployment_id` (`str`): (Optional) Filter on regional deployment id +- `allocation_id` (`str`): (Optional) Filter on allocation id +- `replica_index` (`str`): (Optional) Filter on replica index +- `statuses` (`List[str]`): (Optional) Filter on instance statuses +- `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 +- `starting_time` (`datetime`): (Optional) The starting time of the period of running instance +- `ending_time` (`datetime`): (Optional) The ending time of the period of running instance +- `_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\_instances\_without\_preload\_content + +```python +@validate_call +async def list_instances_without_preload_content( + app_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on service id")] = None, + deployment_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on deployment id")] = None, + regional_deployment_id: Annotated[ + Optional[StrictStr], + Field( + description="(Optional) Filter on regional deployment id")] = None, + allocation_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on allocation id")] = None, + replica_index: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on replica index")] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field(description="(Optional) Filter on instance statuses")] = 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, + starting_time: Annotated[ + Optional[datetime], + Field(description= + "(Optional) The starting time of the period of running instance" + )] = None, + ending_time: Annotated[ + Optional[datetime], + Field(description= + "(Optional) The ending time of the period of running instance" + )] = 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 Instances + +**Arguments**: + +- `app_id` (`str`): (Optional) Filter on application id +- `service_id` (`str`): (Optional) Filter on service id +- `deployment_id` (`str`): (Optional) Filter on deployment id +- `regional_deployment_id` (`str`): (Optional) Filter on regional deployment id +- `allocation_id` (`str`): (Optional) Filter on allocation id +- `replica_index` (`str`): (Optional) Filter on replica index +- `statuses` (`List[str]`): (Optional) Filter on instance statuses +- `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 +- `starting_time` (`datetime`): (Optional) The starting time of the period of running instance +- `ending_time` (`datetime`): (Optional) The ending time of the period of running instance +- `_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.compose\_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. + + + +## ComposeApi Objects + +```python +class ComposeApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### compose + +```python +@validate_call +async def compose( + compose: CreateCompose, + _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) -> ComposeReply +``` + +Create resources from compose. + +**Arguments**: + +- `compose` (`CreateCompose`): (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. + + + +#### compose\_with\_http\_info + +```python +@validate_call +async def compose_with_http_info( + compose: CreateCompose, + _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[ComposeReply] +``` + +Create resources from compose. + +**Arguments**: + +- `compose` (`CreateCompose`): (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. + + + +#### compose\_without\_preload\_content + +```python +@validate_call +async def compose_without_preload_content( + compose: CreateCompose, + _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 resources from compose. + +**Arguments**: + +- `compose` (`CreateCompose`): (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. + + + +# koyeb/api\_async.api.billing\_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. + + + +## BillingApi Objects + +```python +class BillingApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### has\_unpaid\_invoices + +```python +@validate_call +async def has_unpaid_invoices( + _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 +) -> HasUnpaidInvoicesReply +``` + +Experimental: Has unpaid invoices + +WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + +**Arguments**: + +- `_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. + + + +#### has\_unpaid\_invoices\_with\_http\_info + +```python +@validate_call +async def has_unpaid_invoices_with_http_info( + _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[HasUnpaidInvoicesReply] +``` + +Experimental: Has unpaid invoices + +WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + +**Arguments**: + +- `_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. + + + +#### has\_unpaid\_invoices\_without\_preload\_content + +```python +@validate_call +async def has_unpaid_invoices_without_preload_content( + _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 +``` + +Experimental: Has unpaid invoices + +WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + +**Arguments**: + +- `_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. + + + +#### manage + +```python +@validate_call +async def manage( + _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) -> ManageReply +``` + +manage + +**Arguments**: + +- `_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. + + + +#### manage\_with\_http\_info + +```python +@validate_call +async def manage_with_http_info( + _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[ManageReply] +``` + +manage + +**Arguments**: + +- `_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. + + + +#### manage\_without\_preload\_content + +```python +@validate_call +async def manage_without_preload_content( + _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 +``` + +manage + +**Arguments**: + +- `_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. + + + +#### next\_invoice + +```python +@validate_call +async def next_invoice( + _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) -> NextInvoiceReply +``` + +Experimental: Fetch next invoice + +WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + +**Arguments**: + +- `_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. + + + +#### next\_invoice\_with\_http\_info + +```python +@validate_call +async def next_invoice_with_http_info( + _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[NextInvoiceReply] +``` + +Experimental: Fetch next invoice + +WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + +**Arguments**: + +- `_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. + + + +#### next\_invoice\_without\_preload\_content + +```python +@validate_call +async def next_invoice_without_preload_content( + _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 +``` + +Experimental: Fetch next invoice + +WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + +**Arguments**: + +- `_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.search\_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. + + + +## SearchApi Objects + +```python +class SearchApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### search + +```python +@validate_call +async def search( + query: Annotated[Optional[StrictStr], + Field(description="(Optional) Search query")] = 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 +) -> KsearchSearchReply +``` + +Search + +**Arguments**: + +- `query` (`str`): (Optional) Search query +- `_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. + + + +#### search\_with\_http\_info + +```python +@validate_call +async def search_with_http_info( + query: Annotated[Optional[StrictStr], + Field(description="(Optional) Search query")] = 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[KsearchSearchReply] +``` + +Search + +**Arguments**: + +- `query` (`str`): (Optional) Search query +- `_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. + + + +#### search\_without\_preload\_content + +```python +@validate_call +async def search_without_preload_content( + query: Annotated[Optional[StrictStr], + Field(description="(Optional) Search query")] = 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 +``` + +Search + +**Arguments**: + +- `query` (`str`): (Optional) Search query +- `_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.repositories\_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. + + + +## RepositoriesApi Objects + +```python +class RepositoriesApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### list\_branches + +```python +@validate_call +async def list_branches( + repository_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on one repository.")] = None, + name: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter." + )] = 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, + _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 +) -> KgitproxyListBranchesReply +``` + +List Branches + +**Arguments**: + +- `repository_id` (`str`): (Optional) Filter on one repository. +- `name` (`str`): (Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter. +- `limit` (`str`): (Optional) The number of items to return. +- `offset` (`str`): (Optional) The offset in the list of item to return. +- `_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\_branches\_with\_http\_info + +```python +@validate_call +async def list_branches_with_http_info( + repository_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on one repository.")] = None, + name: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter." + )] = 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, + _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[KgitproxyListBranchesReply] +``` + +List Branches + +**Arguments**: + +- `repository_id` (`str`): (Optional) Filter on one repository. +- `name` (`str`): (Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter. +- `limit` (`str`): (Optional) The number of items to return. +- `offset` (`str`): (Optional) The offset in the list of item to return. +- `_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\_branches\_without\_preload\_content + +```python +@validate_call +async def list_branches_without_preload_content( + repository_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter on one repository.")] = None, + name: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter." + )] = 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, + _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 Branches + +**Arguments**: + +- `repository_id` (`str`): (Optional) Filter on one repository. +- `name` (`str`): (Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter. +- `limit` (`str`): (Optional) The number of items to return. +- `offset` (`str`): (Optional) The offset in the list of item to return. +- `_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\_repositories + +```python +@validate_call +async def list_repositories( + name: Annotated[ + Optional[StrictStr], + Field(description= + "(Optional) Filter on repository name using a fuzzy search." + )] = None, + name_search_op: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default." + )] = 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, + _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 +) -> KgitproxyListRepositoriesReply +``` + +List Repositories + +**Arguments**: + +- `name` (`str`): (Optional) Filter on repository name using a fuzzy search. +- `name_search_op` (`str`): (Optional) Define search operation for repository name. Accept either "fuzzy" or "equality", use "fuzzy" by default. +- `limit` (`str`): (Optional) The number of items to return. +- `offset` (`str`): (Optional) The offset in the list of item to return. +- `_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\_repositories\_with\_http\_info + +```python +@validate_call +async def list_repositories_with_http_info( + name: Annotated[ + Optional[StrictStr], + Field(description= + "(Optional) Filter on repository name using a fuzzy search." + )] = None, + name_search_op: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default." + )] = 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, + _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[KgitproxyListRepositoriesReply] +``` + +List Repositories + +**Arguments**: + +- `name` (`str`): (Optional) Filter on repository name using a fuzzy search. +- `name_search_op` (`str`): (Optional) Define search operation for repository name. Accept either "fuzzy" or "equality", use "fuzzy" by default. +- `limit` (`str`): (Optional) The number of items to return. +- `offset` (`str`): (Optional) The offset in the list of item to return. +- `_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\_repositories\_without\_preload\_content + +```python +@validate_call +async def list_repositories_without_preload_content( + name: Annotated[ + Optional[StrictStr], + Field(description= + "(Optional) Filter on repository name using a fuzzy search." + )] = None, + name_search_op: Annotated[ + Optional[StrictStr], + Field( + description= + "(Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default." + )] = 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, + _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 Repositories + +**Arguments**: + +- `name` (`str`): (Optional) Filter on repository name using a fuzzy search. +- `name_search_op` (`str`): (Optional) Define search operation for repository name. Accept either "fuzzy" or "equality", use "fuzzy" by default. +- `limit` (`str`): (Optional) The number of items to return. +- `offset` (`str`): (Optional) The offset in the list of item to return. +- `_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. + + + +#### resync\_organization + +```python +@validate_call +async def resync_organization( + organization_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) -> object +``` + +Resync Organization + +**Arguments**: + +- `organization_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. + + + +#### resync\_organization\_with\_http\_info + +```python +@validate_call +async def resync_organization_with_http_info( + organization_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[object] +``` + +Resync Organization + +**Arguments**: + +- `organization_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. + + + +#### resync\_organization\_without\_preload\_content + +```python +@validate_call +async def resync_organization_without_preload_content( + organization_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 +``` + +Resync Organization + +**Arguments**: + +- `organization_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. + + + +# koyeb/api\_async.api.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. + + + +## SnapshotsApi Objects + +```python +class SnapshotsApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### create\_snapshot + +```python +@validate_call +async def create_snapshot( + body: CreateSnapshotRequest, + _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 +) -> CreateSnapshotReply +``` + +Create a Snapshot + +**Arguments**: + +- `body` (`CreateSnapshotRequest`): (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\_snapshot\_with\_http\_info + +```python +@validate_call +async def create_snapshot_with_http_info( + body: CreateSnapshotRequest, + _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[CreateSnapshotReply] +``` + +Create a Snapshot + +**Arguments**: + +- `body` (`CreateSnapshotRequest`): (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\_snapshot\_without\_preload\_content + +```python +@validate_call +async def create_snapshot_without_preload_content( + body: CreateSnapshotRequest, + _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 a Snapshot + +**Arguments**: + +- `body` (`CreateSnapshotRequest`): (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\_snapshot + +```python +@validate_call +async def delete_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 +) -> DeleteSnapshotReply +``` + +Delete a 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\_snapshot\_with\_http\_info + +```python +@validate_call +async def delete_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[DeleteSnapshotReply] +``` + +Delete a 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\_snapshot\_without\_preload\_content + +```python +@validate_call +async def delete_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 a 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\_snapshot + +```python +@validate_call +async def get_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) -> GetSnapshotReply +``` + +Get a 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\_snapshot\_with\_http\_info + +```python +@validate_call +async def get_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[GetSnapshotReply] +``` + +Get a 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\_snapshot\_without\_preload\_content + +```python +@validate_call +async def get_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 a 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\_snapshots + +```python +@validate_call +async def list_snapshots( + 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, + organization_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter by organization_id")] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted" + )] = None, + region: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the region")] = 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 +) -> ListSnapshotsReply +``` + +List all Snapshots + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `organization_id` (`str`): (Optional) Filter by organization_id +- `statuses` (`List[str]`): (Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted +- `region` (`str`): (Optional) A filter for the region +- `_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\_snapshots\_with\_http\_info + +```python +@validate_call +async def list_snapshots_with_http_info( + 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, + organization_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter by organization_id")] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted" + )] = None, + region: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the region")] = 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[ListSnapshotsReply] +``` + +List all Snapshots + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `organization_id` (`str`): (Optional) Filter by organization_id +- `statuses` (`List[str]`): (Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted +- `region` (`str`): (Optional) A filter for the region +- `_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\_snapshots\_without\_preload\_content + +```python +@validate_call +async def list_snapshots_without_preload_content( + 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, + organization_id: Annotated[ + Optional[StrictStr], + Field(description="(Optional) Filter by organization_id")] = None, + statuses: Annotated[ + Optional[List[StrictStr]], + Field( + description= + "(Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted" + )] = None, + region: Annotated[ + Optional[StrictStr], + Field(description="(Optional) A filter for the region")] = 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 all Snapshots + +**Arguments**: + +- `limit` (`str`): (Optional) The number of items to return +- `offset` (`str`): (Optional) The offset in the list of item to return +- `organization_id` (`str`): (Optional) Filter by organization_id +- `statuses` (`List[str]`): (Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted +- `region` (`str`): (Optional) A filter for the region +- `_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. + + + +#### update\_snapshot + +```python +@validate_call +async def update_snapshot( + id: Annotated[StrictStr, + Field(description="The id of the snapshot")], + body: UpdateSnapshotRequest, + _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 +) -> UpdateSnapshotReply +``` + +Update a Snapshot + +**Arguments**: + +- `id` (`str`): The id of the snapshot (required) +- `body` (`UpdateSnapshotRequest`): (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. + + + +#### update\_snapshot\_with\_http\_info + +```python +@validate_call +async def update_snapshot_with_http_info( + id: Annotated[StrictStr, + Field(description="The id of the snapshot")], + body: UpdateSnapshotRequest, + _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[UpdateSnapshotReply] +``` + +Update a Snapshot + +**Arguments**: + +- `id` (`str`): The id of the snapshot (required) +- `body` (`UpdateSnapshotRequest`): (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. + + + +#### update\_snapshot\_without\_preload\_content + +```python +@validate_call +async def update_snapshot_without_preload_content( + id: Annotated[StrictStr, + Field(description="The id of the snapshot")], + body: UpdateSnapshotRequest, + _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 +``` + +Update a Snapshot + +**Arguments**: + +- `id` (`str`): The id of the snapshot (required) +- `body` (`UpdateSnapshotRequest`): (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. + + + +# koyeb/api\_async.api.organization\_quotas\_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. + + + +## OrganizationQuotasApi Objects + +```python +class OrganizationQuotasApi() +``` + +NOTE: This class is auto generated by OpenAPI Generator +Ref: https://openapi-generator.tech + +Do not edit the class manually. + + + +#### get\_quotas + +```python +@validate_call +async def get_quotas( + organization_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) -> GetQuotasReply +``` + +get_quotas + +**Arguments**: + +- `organization_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\_quotas\_with\_http\_info + +```python +@validate_call +async def get_quotas_with_http_info( + organization_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[GetQuotasReply] +``` + +get_quotas + +**Arguments**: + +- `organization_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\_quotas\_without\_preload\_content + +```python +@validate_call +async def get_quotas_without_preload_content( + organization_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_quotas + +**Arguments**: + +- `organization_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. + + + +# koyeb/api\_async.exceptions + +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. + + + +## OpenApiException Objects + +```python +class OpenApiException(Exception) +``` + +The base exception class for all OpenAPIExceptions + + + +## ApiTypeError Objects + +```python +class ApiTypeError(OpenApiException, TypeError) +``` + + + +#### \_\_init\_\_ + +```python +def __init__(msg, + path_to_item=None, + valid_classes=None, + key_type=None) -> None +``` + +Raises an exception for TypeErrors + +**Arguments**: + +- `msg` _str_ - the exception message + + +**Arguments**: + +- `path_to_item` _list_ - a list of keys an indices to get to the + current_item + None if unset +- `valid_classes` _tuple_ - the primitive classes that current item + should be an instance of + None if unset +- `key_type` _bool_ - False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a list + None if unset + + + +## ApiValueError Objects + +```python +class ApiValueError(OpenApiException, ValueError) +``` + + + +#### \_\_init\_\_ + +```python +def __init__(msg, path_to_item=None) -> None +``` + +**Arguments**: + +- `msg` _str_ - the exception message + + +**Arguments**: + + path_to_item (list) the path to the exception in the + received_data dict. None if unset + + + +## ApiAttributeError Objects + +```python +class ApiAttributeError(OpenApiException, AttributeError) +``` + + + +#### \_\_init\_\_ + +```python +def __init__(msg, path_to_item=None) -> None +``` + +Raised when an attribute reference or assignment fails. + +**Arguments**: + +- `msg` _str_ - the exception message + + +**Arguments**: + + path_to_item (None/list) the path to the exception in the + received_data dict + + + +## ApiKeyError Objects + +```python +class ApiKeyError(OpenApiException, KeyError) +``` + + + +#### \_\_init\_\_ + +```python +def __init__(msg, path_to_item=None) -> None +``` + +**Arguments**: + +- `msg` _str_ - the exception message + + +**Arguments**: + + path_to_item (None/list) the path to the exception in the + received_data dict + + + +## ApiException Objects + +```python +class ApiException(OpenApiException) +``` + + + +#### \_\_str\_\_ + +```python +def __str__() +``` + +Custom error messages for exception + + + +## ConflictException Objects + +```python +class ConflictException(ApiException) +``` + +Exception for HTTP 409 Conflict. + + + +## UnprocessableEntityException Objects + +```python +class UnprocessableEntityException(ApiException) +``` + +Exception for HTTP 422 Unprocessable Entity. + + + +#### render\_path + +```python +def render_path(path_to_item) +``` + +Returns a string representation of a path + + + +# koyeb/api\_async.api\_client + +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. + + + +## ApiClient Objects + +```python +class ApiClient() +``` + +Generic API client for OpenAPI client library builds. + +OpenAPI generic API client. This client handles the client- +server communication, and is invariant across implementations. Specifics of +the methods and models for each application are generated from the OpenAPI +templates. + +**Arguments**: + +- `configuration`: .Configuration object for this client +- `header_name`: a header to pass when making calls to the API. +- `header_value`: a header value to pass when making calls to +the API. +- `cookie`: a cookie to include in the header when making calls +to the API + + + +#### user\_agent + +```python +@property +def user_agent() +``` + +User agent for this API client + + + +#### get\_default + +```python +@classmethod +def get_default(cls) +``` + +Return new instance of ApiClient. + +This method returns newly created, based on default constructor, +object of ApiClient class or returns a copy of default +ApiClient. + +**Returns**: + +The ApiClient object. + + + +#### set\_default + +```python +@classmethod +def set_default(cls, default) +``` + +Set default instance of ApiClient. + +It stores default ApiClient. + +**Arguments**: + +- `default`: object of ApiClient. + + + +#### param\_serialize + +```python +def param_serialize(method, + resource_path, + path_params=None, + query_params=None, + header_params=None, + body=None, + post_params=None, + files=None, + auth_settings=None, + collection_formats=None, + _host=None, + _request_auth=None) -> RequestSerialized +``` + +Builds the HTTP request params needed by the request. + +**Arguments**: + +- `method`: Method to call. +- `resource_path`: Path to method endpoint. +- `path_params`: Path parameters in the url. +- `query_params`: Query parameters in the url. +- `header_params`: Header parameters to be +placed in the request header. +- `body`: Request body. +- `dict` (`post_params`): Request post form parameters, +for `application/x-www-form-urlencoded`, `multipart/form-data`. +- `list` (`auth_settings`): Auth Settings names for the request. +- `dict` (`files`): key -> filename, value -> filepath, +for `multipart/form-data`. +- `collection_formats`: dict of collection formats for path, query, +header, and post parameters. +- `_request_auth`: set to override the auth_settings for an a single +request; this effectively ignores the authentication +in the spec for a single request. + +**Returns**: + +tuple of form (path, http_method, query_params, header_params, +body, post_params, files) + + + +#### call\_api + +```python +async def call_api(method, + url, + header_params=None, + body=None, + post_params=None, + _request_timeout=None) -> rest.RESTResponse +``` + +Makes the HTTP request (synchronous) + +**Arguments**: + +- `method`: Method to call. +- `url`: Path to method endpoint. +- `header_params`: Header parameters to be +placed in the request header. +- `body`: Request body. +- `dict` (`post_params`): Request post form parameters, +for `application/x-www-form-urlencoded`, `multipart/form-data`. +- `_request_timeout`: timeout setting for this request. + +**Returns**: + +RESTResponse + + + +#### response\_deserialize + +```python +def response_deserialize( + response_data: rest.RESTResponse, + response_types_map: Optional[Dict[str, ApiResponseT]] = None +) -> ApiResponse[ApiResponseT] +``` + +Deserializes response into an object. + +**Arguments**: + +- `response_data`: RESTResponse object to be deserialized. +- `response_types_map`: dict of response types. + +**Returns**: + +ApiResponse + + + +#### sanitize\_for\_serialization + +```python +def sanitize_for_serialization(obj) +``` + +Builds a JSON POST object. + +If obj is None, return None. +If obj is SecretStr, return obj.get_secret_value() +If obj is str, int, long, float, bool, return directly. +If obj is datetime.datetime, datetime.date + convert to string in iso8601 format. +If obj is decimal.Decimal return string representation. +If obj is list, sanitize each element in the list. +If obj is dict, return the dict. +If obj is OpenAPI model, return the properties dict. + +**Arguments**: + +- `obj`: The data to serialize. + +**Returns**: + +The serialized form of data. + + + +#### deserialize + +```python +def deserialize(response_text: str, response_type: str, + content_type: Optional[str]) +``` + +Deserializes response into an object. + +**Arguments**: + +- `response`: RESTResponse object to be deserialized. +- `response_type`: class literal for +deserialized object, or string of class name. +- `content_type`: content type of response. + +**Returns**: + +deserialized object. + + + +#### parameters\_to\_tuples + +```python +def parameters_to_tuples(params, collection_formats) +``` + +Get parameters as list of tuples, formatting collections. + +**Arguments**: + +- `params`: Parameters as dict or list of two-tuples +- `collection_formats` (`dict`): Parameter collection formats + +**Returns**: + +Parameters as list of tuples, collections formatted + + + +#### parameters\_to\_url\_query + +```python +def parameters_to_url_query(params, collection_formats) +``` + +Get parameters as list of tuples, formatting collections. + +**Arguments**: + +- `params`: Parameters as dict or list of two-tuples +- `collection_formats` (`dict`): Parameter collection formats + +**Returns**: + +URL query string (e.g. a=Hello%20World&b=123) + + + +#### files\_parameters + +```python +def files_parameters(files: Dict[str, Union[str, bytes, List[str], List[bytes], + Tuple[str, bytes]]]) +``` + +Builds form parameters. + +**Arguments**: + +- `files`: File parameters. + +**Returns**: + +Form parameters with files. + + + +#### select\_header\_accept + +```python +def select_header_accept(accepts: List[str]) -> Optional[str] +``` + +Returns `Accept` based on an array of accepts provided. + +**Arguments**: + +- `accepts`: List of headers. + +**Returns**: + +Accept (e.g. application/json). + + + +#### select\_header\_content\_type + +```python +def select_header_content_type(content_types) +``` + +Returns `Content-Type` based on an array of content_types provided. + +**Arguments**: + +- `content_types`: List of content-types. + +**Returns**: + +Content-Type (e.g. application/json). + + + +#### update\_params\_for\_auth + +```python +def update_params_for_auth(headers, + queries, + auth_settings, + resource_path, + method, + body, + request_auth=None) -> None +``` + +Updates header and query params based on authentication setting. + +**Arguments**: + +- `headers`: Header parameters dict to be updated. +- `queries`: Query parameters tuple list to be updated. +- `auth_settings`: Authentication setting identifiers list. +- `request_auth`: if set, the provided settings will +override the token in the configuration. + diff --git a/docs/sandbox.md b/docs/sandbox.md index 70c50a9f..e468aa0d 100644 --- a/docs/sandbox.md +++ b/docs/sandbox.md @@ -4,6 +4,20 @@ Koyeb Sandbox - Interactive execution environment for running arbitrary code on Koyeb + + +# koyeb/sandbox.test\_utils + + + +## TestCreateDockerSource Objects + +```python +class TestCreateDockerSource(unittest.TestCase) +``` + +Tests for create_docker_source entrypoint, command, and args support. + # koyeb/sandbox.exec @@ -133,7 +147,8 @@ class AsyncSandboxExecutor(SandboxExecutor) Async command execution interface for Koyeb Sandbox instances. Bound to a specific sandbox instance. -Inherits from SandboxExecutor and provides async command execution. +Inherits from SandboxExecutor and provides async command execution +using native async I/O via AsyncSandboxClient. @@ -528,14 +543,13 @@ class AsyncSandboxFilesystem(SandboxFilesystem) ``` Async filesystem operations for Koyeb Sandbox instances. -Inherits from SandboxFilesystem and provides async methods. +Uses native async I/O via AsyncSandboxClient. #### write\_file ```python -@async_wrapper("write_file") async def write_file(path: str, content: Union[str, bytes], encoding: str = "utf-8") -> None @@ -554,7 +568,6 @@ Write content to a file asynchronously. #### read\_file ```python -@async_wrapper("read_file") async def read_file(path: str, encoding: str = "utf-8") -> FileInfo ``` @@ -576,7 +589,6 @@ Read a file from the sandbox asynchronously. #### mkdir ```python -@async_wrapper("mkdir") async def mkdir(path: str) -> None ``` @@ -593,7 +605,6 @@ Note: Parent directories are always created automatically by the API. #### list\_dir ```python -@async_wrapper("list_dir") async def list_dir(path: str = ".") -> List[str] ``` @@ -613,7 +624,6 @@ List contents of a directory asynchronously. #### delete\_file ```python -@async_wrapper("delete_file") async def delete_file(path: str) -> None ``` @@ -628,7 +638,6 @@ Delete a file asynchronously. #### delete\_dir ```python -@async_wrapper("delete_dir") async def delete_dir(path: str) -> None ``` @@ -643,7 +652,6 @@ Delete a directory asynchronously. #### rename\_file ```python -@async_wrapper("rename_file") async def rename_file(old_path: str, new_path: str) -> None ``` @@ -659,7 +667,6 @@ Rename a file asynchronously. #### move\_file ```python -@async_wrapper("move_file") async def move_file(source_path: str, destination_path: str) -> None ``` @@ -689,7 +696,6 @@ Write multiple files in a single operation asynchronously. #### exists ```python -@async_wrapper("exists") async def exists(path: str) -> bool ``` @@ -700,7 +706,6 @@ Check if file/directory exists asynchronously #### is\_file ```python -@async_wrapper("is_file") async def is_file(path: str) -> bool ``` @@ -711,7 +716,6 @@ Check if path is a file asynchronously #### is\_dir ```python -@async_wrapper("is_dir") async def is_dir(path: str) -> bool ``` @@ -722,7 +726,6 @@ Check if path is a directory asynchronously #### upload\_file ```python -@async_wrapper("upload_file") async def upload_file(local_path: str, remote_path: str, encoding: str = "utf-8") -> None @@ -735,13 +738,18 @@ Upload a local file to the sandbox asynchronously. - `local_path` - Path to the local file - `remote_path` - Destination path in the sandbox - `encoding` - File encoding (default: "utf-8"). Use "base64" for binary files. + + +**Raises**: + +- `SandboxFileNotFoundError` - If local file doesn't exist +- `UnicodeDecodeError` - If file cannot be decoded with specified encoding #### download\_file ```python -@async_wrapper("download_file") async def download_file(remote_path: str, local_path: str, encoding: str = "utf-8") -> None @@ -754,6 +762,11 @@ Download a file from the sandbox to a local path asynchronously. - `remote_path` - Path to the file in the sandbox - `local_path` - Destination path on the local filesystem - `encoding` - File encoding (default: "utf-8"). Use "base64" for binary files. + + +**Raises**: + +- `SandboxFileNotFoundError` - If remote file doesn't exist @@ -779,7 +792,6 @@ List directory contents asynchronously. #### rm ```python -@async_wrapper("rm") async def rm(path: str, recursive: bool = False) -> None ``` @@ -991,8 +1003,8 @@ def create(cls, wait_ready: bool = True, instance_type: str = "micro", exposed_port_protocol: Optional[str] = None, - env: Optional[Dict[str, str]] = None, - config_files: Optional[Dict[str, str]] = None, + env: Optional[Dict[str, Any]] = None, + config_files: Optional[Dict[str, Any]] = None, region: Optional[str] = None, api_token: Optional[str] = None, timeout: int = 300, @@ -1006,7 +1018,11 @@ def create(cls, delete_after_inactivity_delay: int = 0, app_id: Optional[str] = None, enable_mesh: bool = None, - poll_interval: float = DEFAULT_POLL_INTERVAL) -> Sandbox + poll_interval: float = DEFAULT_POLL_INTERVAL, + entrypoint: Optional[List[str]] = None, + command: Optional[str] = None, + args: Optional[List[str]] = None, + host: Optional[str] = None) -> Sandbox ``` Create a new sandbox instance. @@ -1022,7 +1038,9 @@ Create a new sandbox instance. If provided, must be one of "http" or "http2". - `env` - Environment variables - `config_files` - Config files to create in the sandbox, as a dictionary mapping - file paths to file contents (e.g., {"/etc/myapp/config.yaml": "key: value"}) + file paths to file contents. Values can be plain strings (default permissions 0644) + or ``ConfigFile`` instances for custom permissions + (e.g., {"/etc/myapp/config.yaml": "key: value", "/etc/myapp/cert.pem": ConfigFile(content="...", permissions="0600")}) - `region` - Region to deploy to. Defaults to KOYEB_REGION env var, or "na" if not set. - `api_token` - Koyeb API token (if None, will try to get from KOYEB_API_TOKEN env var) - `timeout` - Timeout for sandbox creation in seconds @@ -1037,13 +1055,16 @@ Create a new sandbox instance. pulling private images. Create the secret via Koyeb dashboard or CLI first. - `_experimental_enable_light_sleep` - If True, uses idle_timeout for light_sleep and sets deep_sleep=3900. If False, uses idle_timeout for deep_sleep (default: False) -- `delete_after_create` - If >0, automatically delete the sandbox if there was no activity +- `delete_after_delay` - If >0, automatically delete the sandbox if there was no activity after this many seconds since creation. -- `delete_after_sleep` - If >0, automatically delete the sandbox if service sleeps due to inactivity +- `delete_after_inactivity_delay` - If >0, automatically delete the sandbox if service sleeps due to inactivity after this many seconds. - `app_id` - If provided, create the sandbox service in an existing app instead of creating a new one. - `enable_mesh` - Enable or disable mesh for this sandbox. Disabled by default - `poll_interval` - Time between health checks in seconds when wait_ready is True (default: 0.5) +- `entrypoint` - Override the default entrypoint of the Docker image (e.g., ["/bin/sh", "-c"]) +- `command` - Override the default command of the Docker image (e.g., "python app.py") +- `host` - Koyeb API host URL. If not provided, will try to get from KOYEB_API_HOST env var (defaults to https://app.koyeb.com) **Returns**: @@ -1074,7 +1095,10 @@ Create a new sandbox instance. ```python @classmethod -def get_from_id(cls, id: str, api_token: Optional[str] = None) -> "Sandbox" +def get_from_id(cls, + id: str, + api_token: Optional[str] = None, + host: Optional[str] = None) -> "Sandbox" ``` Get a sandbox by service ID. @@ -1083,6 +1107,7 @@ Get a sandbox by service ID. - `id` - Service ID of the sandbox - `api_token` - Koyeb API token (if None, will try to get from KOYEB_API_TOKEN env var) +- `host` - Koyeb API host URL. If not provided, will try to get from KOYEB_API_HOST env var (defaults to https://app.koyeb.com) **Returns**: @@ -1480,7 +1505,7 @@ class AsyncSandbox(Sandbox) ``` Async sandbox for running code on Koyeb infrastructure. -Inherits from Sandbox and provides async wrappers for all operations. +Inherits from Sandbox and provides native async implementations. @@ -1490,7 +1515,8 @@ Inherits from Sandbox and provides async wrappers for all operations. @classmethod async def get_from_id(cls, id: str, - api_token: Optional[str] = None) -> "AsyncSandbox" + api_token: Optional[str] = None, + host: Optional[str] = None) -> "AsyncSandbox" ``` Get a sandbox by service ID asynchronously. @@ -1499,6 +1525,7 @@ Get a sandbox by service ID asynchronously. - `id` - Service ID of the sandbox - `api_token` - Koyeb API token (if None, will try to get from KOYEB_API_TOKEN env var) +- `host` - Koyeb API host URL. If not provided, will try to get from KOYEB_API_HOST env var (defaults to https://app.koyeb.com) **Returns**: @@ -1523,8 +1550,8 @@ async def create(cls, wait_ready: bool = True, instance_type: str = "micro", exposed_port_protocol: Optional[str] = None, - env: Optional[Dict[str, str]] = None, - config_files: Optional[Dict[str, str]] = None, + env: Optional[Dict[str, Any]] = None, + config_files: Optional[Dict[str, Any]] = None, region: Optional[str] = None, api_token: Optional[str] = None, timeout: int = 300, @@ -1538,7 +1565,11 @@ async def create(cls, delete_after_inactivity_delay: int = 0, app_id: Optional[str] = None, enable_mesh: bool = False, - poll_interval: float = DEFAULT_POLL_INTERVAL) -> AsyncSandbox + poll_interval: float = DEFAULT_POLL_INTERVAL, + entrypoint: Optional[List[str]] = None, + command: Optional[str] = None, + args: Optional[List[str]] = None, + host: Optional[str] = None) -> AsyncSandbox ``` Create a new sandbox instance with async support. @@ -1554,7 +1585,9 @@ Create a new sandbox instance with async support. If provided, must be one of "http" or "http2". - `env` - Environment variables - `config_files` - Config files to create in the sandbox, as a dictionary mapping - file paths to file contents (e.g., {"/etc/myapp/config.yaml": "key: value"}) + file paths to file contents. Values can be plain strings (default permissions 0644) + or ``ConfigFile`` instances for custom permissions + (e.g., {"/etc/myapp/config.yaml": "key: value", "/etc/myapp/cert.pem": ConfigFile(content="...", permissions="0600")}) - `region` - Region to deploy to. Defaults to KOYEB_REGION env var, or "na" if not set. - `api_token` - Koyeb API token (if None, will try to get from KOYEB_API_TOKEN env var) - `timeout` - Timeout for sandbox creation in seconds @@ -1578,6 +1611,9 @@ Create a new sandbox instance with async support. - `app_id` - If provided, create the sandbox service in an existing app instead of creating a new one. - `enable_mesh` - Enable or disable mesh for this sandbox. Disabled by default - `poll_interval` - Time between health checks in seconds when wait_ready is True (default: 0.5) +- `entrypoint` - Override the default entrypoint of the Docker image (e.g., ["/bin/sh", "-c"]) +- `command` - Override the default command of the Docker image (e.g., "python app.py") +- `host` - Koyeb API host URL. If not provided, will try to get from KOYEB_API_HOST env var (defaults to https://app.koyeb.com) **Returns**: @@ -1645,7 +1681,6 @@ information is available. Starts at 0.1s intervals, doubling up to poll_interval #### delete ```python -@async_wrapper("delete") async def delete() -> None ``` @@ -1656,11 +1691,10 @@ Delete the sandbox instance asynchronously. #### is\_healthy ```python -@async_wrapper("is_healthy") async def is_healthy() -> bool ``` -Check if sandbox is healthy and ready for operations asynchronously +Check if sandbox is healthy and ready for operations asynchronously. @@ -1689,7 +1723,6 @@ Get filesystem operations interface #### expose\_port ```python -@async_wrapper("expose_port") async def expose_port(port: int) -> ExposedPort ``` @@ -1700,7 +1733,6 @@ Expose a port to external connections via TCP proxy asynchronously. #### unexpose\_port ```python -@async_wrapper("unexpose_port") async def unexpose_port() -> None ``` @@ -1711,7 +1743,6 @@ Unexpose a port from external connections asynchronously. #### launch\_process ```python -@async_wrapper("launch_process") async def launch_process(cmd: str, cwd: Optional[str] = None, env: Optional[Dict[str, str]] = None) -> str @@ -1724,7 +1755,6 @@ Launch a background process in the sandbox asynchronously. #### kill\_process ```python -@async_wrapper("kill_process") async def kill_process(process_id: str) -> None ``` @@ -1735,7 +1765,6 @@ Kill a background process by its ID asynchronously. #### list\_processes ```python -@async_wrapper("list_processes") async def list_processes() -> List[ProcessInfo] ``` @@ -1756,7 +1785,6 @@ Kill all running background processes asynchronously. #### update\_lifecycle ```python -@async_wrapper("update_lifecycle") async def update_lifecycle( delete_after_delay: Optional[int] = None, delete_after_inactivity: Optional[int] = None) -> None @@ -1836,6 +1864,8 @@ def get_api_clients(api_token: Optional[str] = None, Get configured API clients for Koyeb operations. +Caches clients by (token, host) to reuse the underlying HTTP connection pool. + **Arguments**: - `api_token` - Koyeb API token. If not provided, will try to get from KOYEB_API_TOKEN env var @@ -1847,6 +1877,45 @@ Get configured API clients for Koyeb operations. ApiClients with apps, services, instances, catalog_instances, deployments, and secrets attributes +**Raises**: + +- `ValueError` - If API token is not provided + + + +## AsyncApiClients Objects + +```python +@dataclass(frozen=True) +class AsyncApiClients() +``` + +Bundle of async Koyeb API clients sharing a single underlying AsyncApiClient. + + + +#### get\_async\_api\_clients + +```python +def get_async_api_clients(api_token: Optional[str] = None, + host: Optional[str] = None) -> AsyncApiClients +``` + +Get configured async API clients for Koyeb operations. + +Caches clients by (token, host) to reuse the underlying HTTP connection pool. + +**Arguments**: + +- `api_token` - Koyeb API token. If not provided, will try to get from KOYEB_API_TOKEN env var +- `host` - Koyeb API host URL. If not provided, will try to get from KOYEB_API_HOST env var + + +**Returns**: + + AsyncApiClients with async API client instances + + **Raises**: - `ValueError` - If API token is not provided @@ -1856,14 +1925,17 @@ Get configured API clients for Koyeb operations. #### build\_env\_vars ```python -def build_env_vars(env: Optional[Dict[str, str]]) -> List[DeploymentEnv] +def build_env_vars(env: Optional[Dict[str, Any]]) -> List[DeploymentEnv] ``` Build environment variables list from dictionary. **Arguments**: -- `env` - Dictionary of environment variables +- `env` - Dictionary of environment variables. Values can be plain strings + or ``Secret`` instances. A ``Secret`` value is rendered as + ``"{{ secret. }}"`` so the Koyeb API substitutes the secret + value at deploy time. **Returns**: @@ -1876,14 +1948,17 @@ Build environment variables list from dictionary. ```python def build_config_files( - config_files: Optional[Dict[str, str]]) -> List[ConfigFile] + config_files: Optional[Dict[str, Any]]) -> List[ConfigFile] ``` Build config files list from dictionary. **Arguments**: -- `config_files` - Dictionary mapping file paths to file contents +- `config_files` - Dictionary mapping file paths to file contents. + Values can be plain strings (default permissions 0644) or + ``ConfigFile`` instances (custom permissions). The dict key is + always used as the file path. **Returns**: @@ -1895,11 +1970,12 @@ Build config files list from dictionary. #### create\_docker\_source ```python -def create_docker_source( - image: str, - command_args: List[str], - privileged: Optional[bool] = None, - image_registry_secret: Optional[str] = None) -> DockerSource +def create_docker_source(image: str, + privileged: Optional[bool] = None, + image_registry_secret: Optional[str] = None, + entrypoint: Optional[List[str]] = None, + command: Optional[str] = None, + args: Optional[List[str]] = None) -> DockerSource ``` Create Docker source configuration. @@ -1907,10 +1983,12 @@ Create Docker source configuration. **Arguments**: - `image` - Docker image name -- `command_args` - Command and arguments to run (optional, empty list means use image default) - `privileged` - If True, run the container in privileged mode (default: None/False) - `image_registry_secret` - Name of the secret containing registry credentials for pulling private images +- `entrypoint` - Override the default entrypoint of the Docker image +- `command` - Override the default command of the Docker image +- `args` - Arguments to pass to the command **Returns**: @@ -2082,67 +2160,48 @@ Uses case-insensitive matching against known error patterns. True if error message matches the error type - + -#### run\_sync\_in\_executor +#### create\_sandbox\_client ```python -async def run_sync_in_executor(method: Callable[..., Any], *args: Any, - **kwargs: Any) -> Any +def create_sandbox_client(conn_info: Optional['ConnectionInfo'], + existing_client: Optional[Any] = None) -> Any ``` -Run a synchronous method in an async executor. +Create or return existing SandboxClient instance with validation. -Helper function to wrap synchronous methods for async execution. -Used by AsyncSandbox and AsyncSandboxFilesystem to wrap sync parent methods. +Helper function to create SandboxClient instances with consistent validation. +Used by Sandbox, SandboxExecutor, and SandboxFilesystem to avoid duplication. **Arguments**: -- `method` - The synchronous method to run -- `*args` - Positional arguments for the method -- `**kwargs` - Keyword arguments for the method +- `conn_info` - The information needed to connect to the sandbox executor API +- `existing_client` - Existing client instance to return if not None **Returns**: - Result of the synchronous method call - - - -#### async\_wrapper - -```python -def async_wrapper(method_name: str) -``` - -Decorator to automatically create async wrapper for sync methods. - -This decorator creates an async method that wraps a sync method from the parent class. -The sync method is called via super() and executed in an executor. +- `SandboxClient` - Configured client instance + -**Arguments**: +**Raises**: -- `method_name` - Name of the sync method to wrap (from parent class) - - Usage: - @async_wrapper("delete") - async def delete(self) -> None: - """Delete the sandbox instance asynchronously.""" - pass # Implementation is handled by decorator +- `SandboxError` - If sandbox URL or secret is not available - + -#### create\_sandbox\_client +#### create\_async\_sandbox\_client ```python -def create_sandbox_client(conn_info: Optional['ConnectionInfo'], - existing_client: Optional[Any] = None) -> Any +def create_async_sandbox_client(conn_info: Optional['ConnectionInfo'], + existing_client: Optional[Any] = None) -> Any ``` -Create or return existing SandboxClient instance with validation. +Create or return existing AsyncSandboxClient instance with validation. -Helper function to create SandboxClient instances with consistent validation. -Used by Sandbox, SandboxExecutor, and SandboxFilesystem to avoid duplication. +Helper function to create AsyncSandboxClient instances with consistent validation. +Used by AsyncSandbox to avoid duplication. **Arguments**: @@ -2152,7 +2211,7 @@ Used by Sandbox, SandboxExecutor, and SandboxFilesystem to avoid duplication. **Returns**: -- `SandboxClient` - Configured client instance +- `AsyncSandboxClient` - Configured async client instance **Raises**: @@ -2195,7 +2254,7 @@ Raised when a sandbox deployment reaches an error state Sandbox Executor API Client -A simple Python client for interacting with the Sandbox Executor API. +Sync and async Python clients for interacting with the Sandbox Executor API. @@ -2241,7 +2300,7 @@ Initialize the Sandbox Client. def close() -> None ``` -Close the HTTP session and release resources. +Close the HTTP client and release resources. @@ -2261,7 +2320,7 @@ Context manager entry - returns self. def __exit__(exc_type, exc_val, exc_tb) -> None ``` -Context manager exit - automatically closes the session. +Context manager exit - automatically closes the client. @@ -2271,7 +2330,7 @@ Context manager exit - automatically closes the session. def __del__() ``` -Clean up session on deletion (fallback, not guaranteed to run). +Clean up client on deletion (fallback, not guaranteed to run). @@ -2293,8 +2352,8 @@ already handle polling with backoff. **Raises**: -- `requests.HTTPError` - If the health check fails -- `requests.Timeout` - If the health check times out +- `httpx.HTTPStatusError` - If the health check fails +- `httpx.TimeoutException` - If the health check times out @@ -2642,3 +2701,429 @@ processes. This includes both active processes and processes that have completed >>> for process in result.get("processes", []): ... print(f"{process['id']}: {process['command']} - {process['status']}") + + +## AsyncSandboxClient Objects + +```python +class AsyncSandboxClient() +``` + +Async client for the Sandbox Executor API using httpx. + + + +#### \_\_init\_\_ + +```python +def __init__(conn_info: ConnectionInfo, timeout: float = DEFAULT_HTTP_TIMEOUT) +``` + +Initialize the Async Sandbox Client. + +**Arguments**: + +- `conn_info` - The parameters needed to connect to the sandbox +- `timeout` - Request timeout in seconds (default: 30) + + + +#### close + +```python +async def close() -> None +``` + +Close the HTTP client and release resources. + + + +#### \_\_aenter\_\_ + +```python +async def __aenter__() +``` + +Async context manager entry - returns self. + + + +#### \_\_aexit\_\_ + +```python +async def __aexit__(exc_type, exc_val, exc_tb) -> None +``` + +Async context manager exit - automatically closes the client. + + + +#### health + +```python +async def health() -> Dict[str, str] +``` + +Check the health status of the server. + +Uses a short timeout and no retries since callers (wait_ready) +already handle polling with backoff. + +**Returns**: + + Dict with status information + + +**Raises**: + +- `httpx.HTTPStatusError` - If the health check fails +- `httpx.TimeoutException` - If the health check times out + + + +#### run + +```python +async def run(cmd: str, + cwd: Optional[str] = None, + env: Optional[Dict[str, str]] = None, + timeout: Optional[float] = None) -> Dict[str, Any] +``` + +Execute a shell command in the sandbox. + +**Arguments**: + +- `cmd` - The shell command to execute +- `cwd` - Optional working directory for command execution +- `env` - Optional environment variables to set/override +- `timeout` - Optional timeout in seconds for the request + + +**Returns**: + + Dict containing stdout, stderr, error (if any), and exit code + + + +#### run\_streaming + +```python +async def run_streaming( + cmd: str, + cwd: Optional[str] = None, + env: Optional[Dict[str, str]] = None, + timeout: Optional[float] = None) -> AsyncIterator[Dict[str, Any]] +``` + +Execute a shell command in the sandbox and stream the output in real-time. + +This method uses Server-Sent Events (SSE) to stream command output line-by-line +as it's produced. Use this for long-running commands where you want real-time +output. For simple commands where buffered output is acceptable, use run() instead. + +**Arguments**: + +- `cmd` - The shell command to execute +- `cwd` - Optional working directory for command execution +- `env` - Optional environment variables to set/override +- `timeout` - Optional timeout in seconds for the streaming request + + +**Yields**: + + Dict events with the following types: + + - output events (as command produces output): +- `{"stream"` - "stdout"|"stderr", "data": "line of output"} + + - complete event (when command finishes): +- `{"code"` - , "error": false} + + - error event (if command fails to start): +- `{"error"` - "error message"} + + +**Example**: + + >>> client = AsyncSandboxClient("http://localhost:8080", "secret") + >>> async for event in client.run_streaming("echo 'Hello'; sleep 1; echo 'World'"): + ... if "stream" in event: + ... print(f"{event['stream']}: {event['data']}") + ... elif "code" in event: + ... print(f"Exit code: {event['code']}") + + + +#### write\_file + +```python +async def write_file(path: str, content: str) -> Dict[str, Any] +``` + +Write content to a file. + +**Arguments**: + +- `path` - The file path to write to +- `content` - The content to write + + +**Returns**: + + Dict with success status and error if any + + + +#### read\_file + +```python +async def read_file(path: str) -> Dict[str, Any] +``` + +Read content from a file. + +**Arguments**: + +- `path` - The file path to read from + + +**Returns**: + + Dict with file content and error if any + + + +#### delete\_file + +```python +async def delete_file(path: str) -> Dict[str, Any] +``` + +Delete a file. + +**Arguments**: + +- `path` - The file path to delete + + +**Returns**: + + Dict with success status and error if any + + + +#### make\_dir + +```python +async def make_dir(path: str) -> Dict[str, Any] +``` + +Create a directory (including parent directories). + +**Arguments**: + +- `path` - The directory path to create + + +**Returns**: + + Dict with success status and error if any + + + +#### delete\_dir + +```python +async def delete_dir(path: str) -> Dict[str, Any] +``` + +Recursively delete a directory and all its contents. + +**Arguments**: + +- `path` - The directory path to delete + + +**Returns**: + + Dict with success status and error if any + + + +#### list\_dir + +```python +async def list_dir(path: str) -> Dict[str, Any] +``` + +List the contents of a directory. + +**Arguments**: + +- `path` - The directory path to list + + +**Returns**: + + Dict with entries list and error if any + + + +#### bind\_port + +```python +async def bind_port(port: int) -> Dict[str, Any] +``` + +Bind a port to the TCP proxy for external access. + +Configures the TCP proxy to forward traffic to the specified port inside the sandbox. +This allows you to expose services running inside the sandbox to external connections. + +**Arguments**: + +- `port` - The port number to bind to (must be a valid port number) + + +**Returns**: + + Dict with success status, message, and port information + + +**Notes**: + + - Only one port can be bound at a time + - Binding a new port will override the previous binding + - The port must be available and accessible within the sandbox environment + + + +#### unbind\_port + +```python +async def unbind_port(port: Optional[int] = None) -> Dict[str, Any] +``` + +Unbind a port from the TCP proxy. + +Removes the TCP proxy port binding, stopping traffic forwarding to the previously bound port. + +**Arguments**: + +- `port` - Optional port number to unbind. If provided, it must match the currently bound port. + If not provided, any existing binding will be removed. + + +**Returns**: + + Dict with success status and message + + +**Notes**: + + - If a port is specified and doesn't match the currently bound port, the request will fail + - After unbinding, the TCP proxy will no longer forward traffic + + + +#### start\_process + +```python +async def start_process( + cmd: str, + cwd: Optional[str] = None, + env: Optional[Dict[str, str]] = None) -> Dict[str, Any] +``` + +Start a background process in the sandbox. + +Starts a long-running background process that continues executing even after +the API call completes. Use this for servers, workers, or other long-running tasks. + +**Arguments**: + +- `cmd` - The shell command to execute as a background process +- `cwd` - Optional working directory for the process +- `env` - Optional environment variables to set/override for the process + + +**Returns**: + + Dict with process id and success status: + - id: The unique process ID (UUID string) + - success: True if the process was started successfully + + +**Example**: + + >>> client = AsyncSandboxClient("http://localhost:8080", "secret") + >>> result = await client.start_process("python -u server.py") + >>> process_id = result["id"] + >>> print(f"Started process: {process_id}") + + + +#### kill\_process + +```python +async def kill_process(process_id: str) -> Dict[str, Any] +``` + +Kill a background process by its ID. + +Terminates a running background process. This sends a SIGTERM signal to the process, +allowing it to clean up gracefully. If the process doesn't terminate within a timeout, +it will be forcefully killed with SIGKILL. + +**Arguments**: + +- `process_id` - The unique process ID (UUID string) to kill + + +**Returns**: + + Dict with success status and error message if any + + +**Example**: + + >>> client = AsyncSandboxClient("http://localhost:8080", "secret") + >>> result = await client.kill_process("550e8400-e29b-41d4-a716-446655440000") + >>> if result.get("success"): + ... print("Process killed successfully") + + + +#### list\_processes + +```python +async def list_processes() -> Dict[str, Any] +``` + +List all background processes. + +Returns information about all currently running and recently completed background +processes. This includes both active processes and processes that have completed +(which remain in memory until server restart). + +**Returns**: + + Dict with a list of processes: + - processes: List of process objects, each containing: + - id: Process ID (UUID string) + - command: The command that was executed + - status: Process status (e.g., "running", "completed") + - pid: OS process ID (if running) + - exit_code: Exit code (if completed) + - started_at: ISO 8601 timestamp when process started + - completed_at: ISO 8601 timestamp when process completed (if applicable) + + +**Example**: + + >>> client = AsyncSandboxClient("http://localhost:8080", "secret") + >>> result = await client.list_processes() + >>> for process in result.get("processes", []): + ... print(f"{process['id']}: {process['command']} - {process['status']}") + diff --git a/examples/14_expose_port.py b/examples/14_expose_port.py index 15c6b76e..f3ab27f4 100755 --- a/examples/14_expose_port.py +++ b/examples/14_expose_port.py @@ -5,7 +5,7 @@ import sys import time -import requests +import httpx import random @@ -62,11 +62,11 @@ def main(): # Make a request to verify it's working print("\nMaking HTTP request to verify port exposure...") try: - response = requests.get(f"{exposed.exposed_at}/test.html", timeout=10) + response = httpx.get(f"{exposed.exposed_at}/test.html", timeout=10) response.raise_for_status() print(f"✓ Request successful! Status: {response.status_code}") print(f"✓ Response content: {response.text.strip()}") - except requests.RequestException as e: + except httpx.HTTPError as e: print(f"⚠ Request failed: {e}") print("Note: Port may still be propagating. Try again in a few seconds.") return 1 @@ -104,11 +104,11 @@ def main(): # Make a request to verify the new port is working print("\nMaking HTTP request to verify port 8081...") try: - response = requests.get(f"{exposed_2.exposed_at}/test2.html", timeout=10) + response = httpx.get(f"{exposed_2.exposed_at}/test2.html", timeout=10) response.raise_for_status() print(f"✓ Request successful! Status: {response.status_code}") print(f"✓ Response content: {response.text.strip()}") - except requests.RequestException as e: + except httpx.HTTPError as e: print(f"⚠ Request failed: {e}") print("Note: Port may still be propagating. Try again in a few seconds.") return 1 diff --git a/examples/14_expose_port_async.py b/examples/14_expose_port_async.py index c23b865c..ced41631 100755 --- a/examples/14_expose_port_async.py +++ b/examples/14_expose_port_async.py @@ -6,7 +6,7 @@ import os import sys -import requests +import httpx import random @@ -62,10 +62,8 @@ async def main(): # Make a request to verify it's working print("\nMaking HTTP request to verify port exposure...") try: - loop = asyncio.get_running_loop() - response = await loop.run_in_executor( - None, requests.get, f"{exposed.exposed_at}/test.html" - ) + async with httpx.AsyncClient() as client: + response = await client.get(f"{exposed.exposed_at}/test.html", timeout=10) response.raise_for_status() print(f"✓ Request successful! Status: {response.status_code}") print(f"✓ Response content: {response.text.strip()}") @@ -106,10 +104,8 @@ async def main(): # Make a request to verify the new port is working print("\nMaking HTTP request to verify port 8081...") try: - loop = asyncio.get_running_loop() - response = await loop.run_in_executor( - None, requests.get, f"{exposed_2.exposed_at}/test2.html" - ) + async with httpx.AsyncClient() as client: + response = await client.get(f"{exposed_2.exposed_at}/test2.html", timeout=10) response.raise_for_status() print(f"✓ Request successful! Status: {response.status_code}") print(f"✓ Response content: {response.text.strip()}") diff --git a/.openapi-generator/FILES b/koyeb/api/.openapi-generator/FILES similarity index 99% rename from .openapi-generator/FILES rename to koyeb/api/.openapi-generator/FILES index e8c7af5e..15f841aa 100644 --- a/.openapi-generator/FILES +++ b/koyeb/api/.openapi-generator/FILES @@ -41,6 +41,7 @@ koyeb/api/api/snapshots_api.py koyeb/api/api/sso_api.py koyeb/api/api/subscriptions_api.py koyeb/api/api/summary_api.py +koyeb/api/api/test_api.py koyeb/api/api/usages_api.py koyeb/api/api/users_api.py koyeb/api/api_client.py @@ -271,6 +272,8 @@ koyeb/api/docs/KsearchRegionalDeployment.md koyeb/api/docs/KsearchSearchReply.md koyeb/api/docs/KsearchService.md koyeb/api/docs/KsearchUser.md +koyeb/api/docs/KtestTestAuthReply.md +koyeb/api/docs/KtestTestAuthRequest.md koyeb/api/docs/LifecycleQuotas.md koyeb/api/docs/ListAppEventsReply.md koyeb/api/docs/ListAppsReply.md @@ -425,6 +428,7 @@ koyeb/api/docs/SubscriptionStatus.md koyeb/api/docs/SubscriptionsApi.md koyeb/api/docs/SummaryApi.md koyeb/api/docs/TCPHealthCheck.md +koyeb/api/docs/TestApi.md koyeb/api/docs/Token.md koyeb/api/docs/TriggerDeploymentMetadata.md koyeb/api/docs/TriggerDeploymentMetadataActorType.md @@ -681,6 +685,8 @@ koyeb/api/models/ksearch_regional_deployment.py koyeb/api/models/ksearch_search_reply.py koyeb/api/models/ksearch_service.py koyeb/api/models/ksearch_user.py +koyeb/api/models/ktest_test_auth_reply.py +koyeb/api/models/ktest_test_auth_request.py koyeb/api/models/lifecycle_quotas.py koyeb/api/models/list_app_events_reply.py koyeb/api/models/list_apps_reply.py diff --git a/koyeb/api/.openapi-generator/VERSION b/koyeb/api/.openapi-generator/VERSION new file mode 100644 index 00000000..186c33c9 --- /dev/null +++ b/koyeb/api/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.24.0-SNAPSHOT diff --git a/koyeb/api/__init__.py b/koyeb/api/__init__.py index 8414ac97..2f7f0adb 100644 --- a/koyeb/api/__init__.py +++ b/koyeb/api/__init__.py @@ -53,6 +53,7 @@ "SnapshotsApi", "SubscriptionsApi", "SummaryApi", + "TestApi", "UsagesApi", "UsersApi", "ActivityApi", @@ -277,6 +278,8 @@ "KsearchSearchReply", "KsearchService", "KsearchUser", + "KtestTestAuthReply", + "KtestTestAuthRequest", "LifecycleQuotas", "ListAppEventsReply", "ListAppsReply", @@ -490,6 +493,7 @@ from koyeb.api.api.snapshots_api import SnapshotsApi as SnapshotsApi from koyeb.api.api.subscriptions_api import SubscriptionsApi as SubscriptionsApi from koyeb.api.api.summary_api import SummaryApi as SummaryApi +from koyeb.api.api.test_api import TestApi as TestApi from koyeb.api.api.usages_api import UsagesApi as UsagesApi from koyeb.api.api.users_api import UsersApi as UsersApi from koyeb.api.api.activity_api import ActivityApi as ActivityApi @@ -718,6 +722,8 @@ from koyeb.api.models.ksearch_search_reply import KsearchSearchReply as KsearchSearchReply from koyeb.api.models.ksearch_service import KsearchService as KsearchService from koyeb.api.models.ksearch_user import KsearchUser as KsearchUser +from koyeb.api.models.ktest_test_auth_reply import KtestTestAuthReply as KtestTestAuthReply +from koyeb.api.models.ktest_test_auth_request import KtestTestAuthRequest as KtestTestAuthRequest from koyeb.api.models.lifecycle_quotas import LifecycleQuotas as LifecycleQuotas from koyeb.api.models.list_app_events_reply import ListAppEventsReply as ListAppEventsReply from koyeb.api.models.list_apps_reply import ListAppsReply as ListAppsReply diff --git a/koyeb/api/api/__init__.py b/koyeb/api/api/__init__.py index bf342f4d..0265b8f9 100644 --- a/koyeb/api/api/__init__.py +++ b/koyeb/api/api/__init__.py @@ -36,6 +36,7 @@ from koyeb.api.api.snapshots_api import SnapshotsApi from koyeb.api.api.subscriptions_api import SubscriptionsApi from koyeb.api.api.summary_api import SummaryApi +from koyeb.api.api.test_api import TestApi from koyeb.api.api.usages_api import UsagesApi from koyeb.api.api.users_api import UsersApi from koyeb.api.api.activity_api import ActivityApi diff --git a/koyeb/api/api/invite_api.py b/koyeb/api/api/invite_api.py index 63971cd1..97f2ccf5 100644 --- a/koyeb/api/api/invite_api.py +++ b/koyeb/api/api/invite_api.py @@ -53,7 +53,7 @@ def create_invite( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> object: - """create_invite + """DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -125,7 +125,7 @@ def create_invite_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[object]: - """create_invite + """DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -197,7 +197,7 @@ def create_invite_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_invite + """DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) diff --git a/koyeb/api/api/organization_api.py b/koyeb/api/api/organization_api.py index bba87dd4..f2a302bb 100644 --- a/koyeb/api/api/organization_api.py +++ b/koyeb/api/api/organization_api.py @@ -3167,7 +3167,7 @@ def switch_organization( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LoginReply: - """Switch Organization context + """Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: (required) @@ -3247,7 +3247,7 @@ def switch_organization_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LoginReply]: - """Switch Organization context + """Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: (required) @@ -3327,7 +3327,7 @@ def switch_organization_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Switch Organization context + """Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: (required) diff --git a/koyeb/api/api/profile_api.py b/koyeb/api/api/profile_api.py index 73903c0e..92e83502 100644 --- a/koyeb/api/api/profile_api.py +++ b/koyeb/api/api/profile_api.py @@ -76,7 +76,7 @@ def accept_organization_invitation( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AcceptOrganizationInvitationReply: - """Accept Organization Invitation + """Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: The id of the organization invitation to accept (required) @@ -152,7 +152,7 @@ def accept_organization_invitation_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AcceptOrganizationInvitationReply]: - """Accept Organization Invitation + """Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: The id of the organization invitation to accept (required) @@ -228,7 +228,7 @@ def accept_organization_invitation_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Accept Organization Invitation + """Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: The id of the organization invitation to accept (required) @@ -643,7 +643,7 @@ def decline_organization_invitation( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> DeclineOrganizationInvitationReply: - """Decline Organization Invitation + """Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: The id of the organization invitation to decline (required) @@ -719,7 +719,7 @@ def decline_organization_invitation_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[DeclineOrganizationInvitationReply]: - """Decline Organization Invitation + """Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: The id of the organization invitation to decline (required) @@ -795,7 +795,7 @@ def decline_organization_invitation_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Decline Organization Invitation + """Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: The id of the organization invitation to decline (required) @@ -2026,7 +2026,7 @@ def get_user_organization_invitation( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> GetUserOrganizationInvitationReply: - """Get User Organization Invitation + """Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: The id of the organization invitation to get (required) @@ -2098,7 +2098,7 @@ def get_user_organization_invitation_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[GetUserOrganizationInvitationReply]: - """Get User Organization Invitation + """Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: The id of the organization invitation to get (required) @@ -2170,7 +2170,7 @@ def get_user_organization_invitation_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get User Organization Invitation + """Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: The id of the organization invitation to get (required) @@ -2565,7 +2565,7 @@ def list_user_organization_invitations( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ListUserOrganizationInvitationsReply: - """List User Organization Invitations + """List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param limit: (Optional) The number of items to return @@ -2645,7 +2645,7 @@ def list_user_organization_invitations_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ListUserOrganizationInvitationsReply]: - """List User Organization Invitations + """List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param limit: (Optional) The number of items to return @@ -2725,7 +2725,7 @@ def list_user_organization_invitations_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List User Organization Invitations + """List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param limit: (Optional) The number of items to return @@ -3226,7 +3226,7 @@ def login_method( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LoginMethodReply: - """Get the login method for an email address + """Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param email: @@ -3298,7 +3298,7 @@ def login_method_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LoginMethodReply]: - """Get the login method for an email address + """Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param email: @@ -3370,7 +3370,7 @@ def login_method_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get the login method for an email address + """Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param email: @@ -3795,7 +3795,7 @@ def resend_email_validation( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> object: - """Resend Email Verification + """Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -3867,7 +3867,7 @@ def resend_email_validation_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[object]: - """Resend Email Verification + """Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -3939,7 +3939,7 @@ def resend_email_validation_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Resend Email Verification + """Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -4071,7 +4071,7 @@ def reset_password( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> object: - """Reset Password + """Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -4143,7 +4143,7 @@ def reset_password_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[object]: - """Reset Password + """Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -4215,7 +4215,7 @@ def reset_password_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Reset Password + """Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -4348,7 +4348,7 @@ def signup( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LoginReply: - """Signup + """Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: Create new account (required) @@ -4424,7 +4424,7 @@ def signup_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LoginReply]: - """Signup + """Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: Create new account (required) @@ -4500,7 +4500,7 @@ def signup_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Signup + """Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: Create new account (required) @@ -4639,7 +4639,7 @@ def update_password( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LoginReply: - """Update Password + """Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -4715,7 +4715,7 @@ def update_password_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LoginReply]: - """Update Password + """Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -4791,7 +4791,7 @@ def update_password_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Update Password + """Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -6378,7 +6378,7 @@ def validate( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LoginReply: - """Validate + """Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: (required) @@ -6454,7 +6454,7 @@ def validate_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LoginReply]: - """Validate + """Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: (required) @@ -6530,7 +6530,7 @@ def validate_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Validate + """Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param id: (required) diff --git a/koyeb/api/api/sessions_api.py b/koyeb/api/api/sessions_api.py index a1e250a3..18ccf9f8 100644 --- a/koyeb/api/api/sessions_api.py +++ b/koyeb/api/api/sessions_api.py @@ -57,7 +57,7 @@ def login( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LoginReply: - """Login user + """Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -133,7 +133,7 @@ def login_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LoginReply]: - """Login user + """Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -209,7 +209,7 @@ def login_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Login user + """Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param body: (required) @@ -346,7 +346,7 @@ def logout( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> object: - """Logout user + """Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param _request_timeout: timeout setting for this request. If one @@ -414,7 +414,7 @@ def logout_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[object]: - """Logout user + """Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param _request_timeout: timeout setting for this request. If one @@ -482,7 +482,7 @@ def logout_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Logout user + """Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param _request_timeout: timeout setting for this request. If one @@ -609,7 +609,7 @@ def new_session( ) -> LoginReply: """New session - Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use \"Switch organization\". + Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use \"Switch organization\". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -678,7 +678,7 @@ def new_session_with_http_info( ) -> ApiResponse[LoginReply]: """New session - Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use \"Switch organization\". + Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use \"Switch organization\". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -747,7 +747,7 @@ def new_session_without_preload_content( ) -> RESTResponseType: """New session - Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use \"Switch organization\". + Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use \"Switch organization\". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -871,7 +871,7 @@ def refresh_token( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LoginReply: - """Refresh token + """Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param _request_timeout: timeout setting for this request. If one @@ -939,7 +939,7 @@ def refresh_token_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LoginReply]: - """Refresh token + """Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param _request_timeout: timeout setting for this request. If one @@ -1007,7 +1007,7 @@ def refresh_token_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Refresh token + """Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. :param _request_timeout: timeout setting for this request. If one diff --git a/koyeb/api/api/test_api.py b/koyeb/api/api/test_api.py new file mode 100644 index 00000000..782568e2 --- /dev/null +++ b/koyeb/api/api/test_api.py @@ -0,0 +1,574 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from typing import Any, Dict +from koyeb.api.models.ktest_test_auth_reply import KtestTestAuthReply +from koyeb.api.models.ktest_test_auth_request import KtestTestAuthRequest + +from koyeb.api.api_client import ApiClient, RequestSerialized +from koyeb.api.api_response import ApiResponse +from koyeb.api.rest import RESTResponseType + + +class TestApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def test_anon( + self, + _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, + ) -> object: + """Test anonymous call + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_anon_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def test_anon_with_http_info( + self, + _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[object]: + """Test anonymous call + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_anon_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def test_anon_without_preload_content( + self, + _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: + """Test anonymous call + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_anon_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _test_anon_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/test/anon', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def test_auth( + self, + body: KtestTestAuthRequest, + _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, + ) -> KtestTestAuthReply: + """Test authenticated call + + + :param body: (required) + :type body: KtestTestAuthRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KtestTestAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def test_auth_with_http_info( + self, + body: KtestTestAuthRequest, + _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[KtestTestAuthReply]: + """Test authenticated call + + + :param body: (required) + :type body: KtestTestAuthRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KtestTestAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def test_auth_without_preload_content( + self, + body: KtestTestAuthRequest, + _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: + """Test authenticated call + + + :param body: (required) + :type body: KtestTestAuthRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KtestTestAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _test_auth_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/test/auth', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api/api_client.py b/koyeb/api/api_client.py index d0b82417..39eb30ec 100644 --- a/koyeb/api/api_client.py +++ b/koyeb/api/api_client.py @@ -98,7 +98,13 @@ def __enter__(self): return self def __exit__(self, exc_type, exc_value, traceback): - pass + if self.rest_client is not None and hasattr(self.rest_client, 'pool_manager'): + self.rest_client.pool_manager.clear() + + async def close(self): + """Close the underlying HTTP connection pool.""" + if self.rest_client is not None and hasattr(self.rest_client, 'pool_manager'): + self.rest_client.pool_manager.clear() @property def user_agent(self): @@ -371,28 +377,24 @@ def sanitize_for_serialization(self, obj): return obj.isoformat() elif isinstance(obj, decimal.Decimal): return str(obj) - elif isinstance(obj, dict): - obj_dict = obj + return { + key: self.sanitize_for_serialization(val) + for key, val in obj.items() + } + + # Convert model obj to dict except + # attributes `openapi_types`, `attribute_map` + # and attributes which value is not None. + # Convert attribute name to json key in + # model definition for request. + if hasattr(obj, 'to_dict') and callable(getattr(obj, 'to_dict')): + obj_dict = obj.to_dict() else: - # Convert model obj to dict except - # attributes `openapi_types`, `attribute_map` - # and attributes which value is not None. - # Convert attribute name to json key in - # model definition for request. - if hasattr(obj, 'to_dict') and callable(getattr(obj, 'to_dict')): - obj_dict = obj.to_dict() - else: - obj_dict = obj.__dict__ + obj_dict = obj.__dict__ - if isinstance(obj_dict, list): - # here we handle instances that can either be a list or something else, and only became a real list by calling to_dict() - return self.sanitize_for_serialization(obj_dict) + return self.sanitize_for_serialization(obj_dict) - return { - key: self.sanitize_for_serialization(val) - for key, val in obj_dict.items() - } def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]): """Deserializes response into an object. diff --git a/koyeb/api/configuration.py b/koyeb/api/configuration.py index d43eb6d9..decfc89b 100644 --- a/koyeb/api/configuration.py +++ b/koyeb/api/configuration.py @@ -214,7 +214,7 @@ def __init__( server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None, ignore_operation_servers: bool=False, ssl_ca_cert: Optional[str]=None, - retries: Optional[Union[int, Any]] = None, + retries: Optional[Union[int, urllib3.util.retry.Retry]] = None, ca_cert_data: Optional[Union[str, bytes]] = None, cert_file: Optional[str]=None, key_file: Optional[str]=None, @@ -365,9 +365,9 @@ def __deepcopy__(self, memo: Dict[int, Any]) -> Self: setattr(result, k, copy.deepcopy(v, memo)) # shallow copy of loggers result.logger = copy.copy(self.logger) - # use setters to configure loggers + # use setter to re-create the file handler (excluded from __dict__ copy) result.logger_file = self.logger_file - result.debug = self.debug + return result def __setattr__(self, name: str, value: Any) -> None: diff --git a/koyeb/api/docs/InviteApi.md b/koyeb/api/docs/InviteApi.md index 20edae52..91fe5bff 100644 --- a/koyeb/api/docs/InviteApi.md +++ b/koyeb/api/docs/InviteApi.md @@ -4,12 +4,14 @@ All URIs are relative to *https://app.koyeb.com* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_invite**](InviteApi.md#create_invite) | **POST** /v1/account/invite | +[**create_invite**](InviteApi.md#create_invite) | **POST** /v1/account/invite | DEPRECATED: this has been replaced by WorkOS and will be dropped soon. # **create_invite** > object create_invite(body) +DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + ### Example * Api Key Authentication (Bearer): @@ -44,6 +46,7 @@ with koyeb.api.ApiClient(configuration) as api_client: body = koyeb.api.InviteUserRequest() # InviteUserRequest | try: + # DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.create_invite(body) print("The response of InviteApi->create_invite:\n") pprint(api_response) diff --git a/koyeb/api/docs/KtestTestAuthReply.md b/koyeb/api/docs/KtestTestAuthReply.md new file mode 100644 index 00000000..3cea1c6a --- /dev/null +++ b/koyeb/api/docs/KtestTestAuthReply.md @@ -0,0 +1,32 @@ +# KtestTestAuthReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payload** | **str** | | [optional] +**user_id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**workspace_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api.models.ktest_test_auth_reply import KtestTestAuthReply + +# TODO update the JSON string below +json = "{}" +# create an instance of KtestTestAuthReply from a JSON string +ktest_test_auth_reply_instance = KtestTestAuthReply.from_json(json) +# print the JSON string representation of the object +print(KtestTestAuthReply.to_json()) + +# convert the object into a dict +ktest_test_auth_reply_dict = ktest_test_auth_reply_instance.to_dict() +# create an instance of KtestTestAuthReply from a dict +ktest_test_auth_reply_from_dict = KtestTestAuthReply.from_dict(ktest_test_auth_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api/docs/KtestTestAuthRequest.md b/koyeb/api/docs/KtestTestAuthRequest.md new file mode 100644 index 00000000..aa270a75 --- /dev/null +++ b/koyeb/api/docs/KtestTestAuthRequest.md @@ -0,0 +1,29 @@ +# KtestTestAuthRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payload** | **str** | | [optional] + +## Example + +```python +from koyeb.api.models.ktest_test_auth_request import KtestTestAuthRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of KtestTestAuthRequest from a JSON string +ktest_test_auth_request_instance = KtestTestAuthRequest.from_json(json) +# print the JSON string representation of the object +print(KtestTestAuthRequest.to_json()) + +# convert the object into a dict +ktest_test_auth_request_dict = ktest_test_auth_request_instance.to_dict() +# create an instance of KtestTestAuthRequest from a dict +ktest_test_auth_request_from_dict = KtestTestAuthRequest.from_dict(ktest_test_auth_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api/docs/OrganizationApi.md b/koyeb/api/docs/OrganizationApi.md index 79e4a7ac..514e2558 100644 --- a/koyeb/api/docs/OrganizationApi.md +++ b/koyeb/api/docs/OrganizationApi.md @@ -15,7 +15,7 @@ Method | HTTP request | Description [**get_organization**](OrganizationApi.md#get_organization) | **GET** /v1/organizations/{id} | Get Organization [**github_installation**](OrganizationApi.md#github_installation) | **POST** /v1/github/installation | Start Github Installation [**reactivate_organization**](OrganizationApi.md#reactivate_organization) | **POST** /v1/organizations/{id}/reactivate | Reactivate an Organization -[**switch_organization**](OrganizationApi.md#switch_organization) | **POST** /v1/organizations/{id}/switch | Switch Organization context +[**switch_organization**](OrganizationApi.md#switch_organization) | **POST** /v1/organizations/{id}/switch | Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. [**unscope_organization_token**](OrganizationApi.md#unscope_organization_token) | **POST** /v1/unscope_organization_token | Unscope Organization Token [**update_budget**](OrganizationApi.md#update_budget) | **PUT** /v1/organizations/{organization_id}/budget | Update Budget [**update_organization**](OrganizationApi.md#update_organization) | **PUT** /v1/organizations/{id} | Update Organization @@ -971,7 +971,7 @@ Name | Type | Description | Notes # **switch_organization** > LoginReply switch_organization(id, body, seon_fp=seon_fp) -Switch Organization context +Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -1009,7 +1009,7 @@ with koyeb.api.ApiClient(configuration) as api_client: seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) try: - # Switch Organization context + # Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.switch_organization(id, body, seon_fp=seon_fp) print("The response of OrganizationApi->switch_organization:\n") pprint(api_response) diff --git a/koyeb/api/docs/ProfileApi.md b/koyeb/api/docs/ProfileApi.md index 937a250e..2644ea3f 100644 --- a/koyeb/api/docs/ProfileApi.md +++ b/koyeb/api/docs/ProfileApi.md @@ -4,35 +4,35 @@ All URIs are relative to *https://app.koyeb.com* Method | HTTP request | Description ------------- | ------------- | ------------- -[**accept_organization_invitation**](ProfileApi.md#accept_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/accept | Accept Organization Invitation +[**accept_organization_invitation**](ProfileApi.md#accept_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/accept | Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. [**clear_idenfy_verification_result**](ProfileApi.md#clear_idenfy_verification_result) | **POST** /v1/account/idenfy | ClearIdenfyVerificationResult marks the current result for idenfy as superseded -[**decline_organization_invitation**](ProfileApi.md#decline_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/decline | Decline Organization Invitation +[**decline_organization_invitation**](ProfileApi.md#decline_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/decline | Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. [**get_current_organization**](ProfileApi.md#get_current_organization) | **GET** /v1/account/organization | Get Current Organization [**get_current_user**](ProfileApi.md#get_current_user) | **GET** /v1/account/profile | Get Current User [**get_idenfy_token**](ProfileApi.md#get_idenfy_token) | **GET** /v1/account/idenfy | Begin a session with iDenfy, emit an authToken [**get_o_auth_options**](ProfileApi.md#get_o_auth_options) | **GET** /v1/account/oauth | Get OAuth Providers -[**get_user_organization_invitation**](ProfileApi.md#get_user_organization_invitation) | **GET** /v1/account/organization_invitations/{id} | Get User Organization Invitation +[**get_user_organization_invitation**](ProfileApi.md#get_user_organization_invitation) | **GET** /v1/account/organization_invitations/{id} | Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. [**get_user_settings**](ProfileApi.md#get_user_settings) | **GET** /v1/account/settings | -[**list_user_organization_invitations**](ProfileApi.md#list_user_organization_invitations) | **GET** /v1/account/organization_invitations | List User Organization Invitations +[**list_user_organization_invitations**](ProfileApi.md#list_user_organization_invitations) | **GET** /v1/account/organization_invitations | List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. [**list_user_organizations**](ProfileApi.md#list_user_organizations) | **GET** /v1/account/organizations | List User Organizations -[**login_method**](ProfileApi.md#login_method) | **GET** /v1/account/login_method | Get the login method for an email address +[**login_method**](ProfileApi.md#login_method) | **GET** /v1/account/login_method | Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. [**o_auth_callback**](ProfileApi.md#o_auth_callback) | **POST** /v1/account/oauth | Authenticate using OAuth -[**resend_email_validation**](ProfileApi.md#resend_email_validation) | **POST** /v1/account/resend_validation | Resend Email Verification -[**reset_password**](ProfileApi.md#reset_password) | **POST** /v1/account/reset_password | Reset Password -[**signup**](ProfileApi.md#signup) | **POST** /v1/account/signup | Signup -[**update_password**](ProfileApi.md#update_password) | **POST** /v1/account/update_password | Update Password +[**resend_email_validation**](ProfileApi.md#resend_email_validation) | **POST** /v1/account/resend_validation | Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**reset_password**](ProfileApi.md#reset_password) | **POST** /v1/account/reset_password | Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**signup**](ProfileApi.md#signup) | **POST** /v1/account/signup | Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**update_password**](ProfileApi.md#update_password) | **POST** /v1/account/update_password | Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. [**update_user**](ProfileApi.md#update_user) | **PUT** /v1/account/profile | Update User [**update_user2**](ProfileApi.md#update_user2) | **PATCH** /v1/account/profile | Update User [**update_user_settings**](ProfileApi.md#update_user_settings) | **PATCH** /v1/account/settings | [**update_user_v2**](ProfileApi.md#update_user_v2) | **PUT** /v2/account/profile | Update User V2 [**update_user_v22**](ProfileApi.md#update_user_v22) | **PATCH** /v2/account/profile | Update User V2 -[**validate**](ProfileApi.md#validate) | **POST** /v1/account/validate/{id} | Validate +[**validate**](ProfileApi.md#validate) | **POST** /v1/account/validate/{id} | Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. # **accept_organization_invitation** > AcceptOrganizationInvitationReply accept_organization_invitation(id, body) -Accept Organization Invitation +Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -69,7 +69,7 @@ with koyeb.api.ApiClient(configuration) as api_client: body = None # object | try: - # Accept Organization Invitation + # Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.accept_organization_invitation(id, body) print("The response of ProfileApi->accept_organization_invitation:\n") pprint(api_response) @@ -202,7 +202,7 @@ Name | Type | Description | Notes # **decline_organization_invitation** > DeclineOrganizationInvitationReply decline_organization_invitation(id, body) -Decline Organization Invitation +Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -239,7 +239,7 @@ with koyeb.api.ApiClient(configuration) as api_client: body = None # object | try: - # Decline Organization Invitation + # Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.decline_organization_invitation(id, body) print("The response of ProfileApi->decline_organization_invitation:\n") pprint(api_response) @@ -618,7 +618,7 @@ Name | Type | Description | Notes # **get_user_organization_invitation** > GetUserOrganizationInvitationReply get_user_organization_invitation(id) -Get User Organization Invitation +Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -654,7 +654,7 @@ with koyeb.api.ApiClient(configuration) as api_client: id = 'id_example' # str | The id of the organization invitation to get try: - # Get User Organization Invitation + # Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.get_user_organization_invitation(id) print("The response of ProfileApi->get_user_organization_invitation:\n") pprint(api_response) @@ -779,7 +779,7 @@ This endpoint does not need any parameter. # **list_user_organization_invitations** > ListUserOrganizationInvitationsReply list_user_organization_invitations(limit=limit, offset=offset, statuses=statuses) -List User Organization Invitations +List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -817,7 +817,7 @@ with koyeb.api.ApiClient(configuration) as api_client: statuses = ['statuses_example'] # List[str] | (Optional) Filter on organization invitation statuses (optional) try: - # List User Organization Invitations + # List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.list_user_organization_invitations(limit=limit, offset=offset, statuses=statuses) print("The response of ProfileApi->list_user_organization_invitations:\n") pprint(api_response) @@ -961,7 +961,7 @@ Name | Type | Description | Notes # **login_method** > LoginMethodReply login_method(email=email) -Get the login method for an email address +Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -997,7 +997,7 @@ with koyeb.api.ApiClient(configuration) as api_client: email = 'email_example' # str | (optional) try: - # Get the login method for an email address + # Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.login_method(email=email) print("The response of ProfileApi->login_method:\n") pprint(api_response) @@ -1132,7 +1132,7 @@ Name | Type | Description | Notes # **resend_email_validation** > object resend_email_validation(body) -Resend Email Verification +Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -1167,7 +1167,7 @@ with koyeb.api.ApiClient(configuration) as api_client: body = None # object | try: - # Resend Email Verification + # Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.resend_email_validation(body) print("The response of ProfileApi->resend_email_validation:\n") pprint(api_response) @@ -1215,7 +1215,7 @@ Name | Type | Description | Notes # **reset_password** > object reset_password(body) -Reset Password +Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -1251,7 +1251,7 @@ with koyeb.api.ApiClient(configuration) as api_client: body = koyeb.api.ResetPasswordRequest() # ResetPasswordRequest | try: - # Reset Password + # Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.reset_password(body) print("The response of ProfileApi->reset_password:\n") pprint(api_response) @@ -1299,7 +1299,7 @@ Name | Type | Description | Notes # **signup** > LoginReply signup(body, seon_fp=seon_fp) -Signup +Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -1337,7 +1337,7 @@ with koyeb.api.ApiClient(configuration) as api_client: seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) try: - # Signup + # Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.signup(body, seon_fp=seon_fp) print("The response of ProfileApi->signup:\n") pprint(api_response) @@ -1386,7 +1386,7 @@ Name | Type | Description | Notes # **update_password** > LoginReply update_password(body, seon_fp=seon_fp) -Update Password +Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -1424,7 +1424,7 @@ with koyeb.api.ApiClient(configuration) as api_client: seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) try: - # Update Password + # Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.update_password(body, seon_fp=seon_fp) print("The response of ProfileApi->update_password:\n") pprint(api_response) @@ -1903,7 +1903,7 @@ Name | Type | Description | Notes # **validate** > LoginReply validate(id, seon_fp=seon_fp) -Validate +Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -1940,7 +1940,7 @@ with koyeb.api.ApiClient(configuration) as api_client: seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) try: - # Validate + # Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.validate(id, seon_fp=seon_fp) print("The response of ProfileApi->validate:\n") pprint(api_response) diff --git a/koyeb/api/docs/SessionsApi.md b/koyeb/api/docs/SessionsApi.md index 11a2a944..44c8b2bd 100644 --- a/koyeb/api/docs/SessionsApi.md +++ b/koyeb/api/docs/SessionsApi.md @@ -4,16 +4,16 @@ All URIs are relative to *https://app.koyeb.com* Method | HTTP request | Description ------------- | ------------- | ------------- -[**login**](SessionsApi.md#login) | **POST** /v1/account/login | Login user -[**logout**](SessionsApi.md#logout) | **DELETE** /v1/account/logout | Logout user +[**login**](SessionsApi.md#login) | **POST** /v1/account/login | Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**logout**](SessionsApi.md#logout) | **DELETE** /v1/account/logout | Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. [**new_session**](SessionsApi.md#new_session) | **POST** /v1/account/session | New session -[**refresh_token**](SessionsApi.md#refresh_token) | **PUT** /v1/account/refresh | Refresh token +[**refresh_token**](SessionsApi.md#refresh_token) | **PUT** /v1/account/refresh | Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. # **login** > LoginReply login(body, seon_fp=seon_fp) -Login user +Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -51,7 +51,7 @@ with koyeb.api.ApiClient(configuration) as api_client: seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) try: - # Login user + # Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.login(body, seon_fp=seon_fp) print("The response of SessionsApi->login:\n") pprint(api_response) @@ -100,7 +100,7 @@ Name | Type | Description | Notes # **logout** > object logout() -Logout user +Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -134,7 +134,7 @@ with koyeb.api.ApiClient(configuration) as api_client: api_instance = koyeb.api.SessionsApi(api_client) try: - # Logout user + # Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.logout() print("The response of SessionsApi->logout:\n") pprint(api_response) @@ -183,6 +183,7 @@ New session Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use "Switch organization". +DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -262,7 +263,7 @@ This endpoint does not need any parameter. # **refresh_token** > LoginReply refresh_token() -Refresh token +Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. ### Example @@ -297,7 +298,7 @@ with koyeb.api.ApiClient(configuration) as api_client: api_instance = koyeb.api.SessionsApi(api_client) try: - # Refresh token + # Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. api_response = api_instance.refresh_token() print("The response of SessionsApi->refresh_token:\n") pprint(api_response) diff --git a/koyeb/api/docs/TestApi.md b/koyeb/api/docs/TestApi.md new file mode 100644 index 00000000..5276106d --- /dev/null +++ b/koyeb/api/docs/TestApi.md @@ -0,0 +1,174 @@ +# koyeb.api.TestApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**test_anon**](TestApi.md#test_anon) | **GET** /v1/test/anon | Test anonymous call +[**test_auth**](TestApi.md#test_auth) | **POST** /v1/test/auth | Test authenticated call + + +# **test_anon** +> object test_anon() + +Test anonymous call + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api +from koyeb.api.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +with koyeb.api.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api.TestApi(api_client) + + try: + # Test anonymous call + api_response = api_instance.test_anon() + print("The response of TestApi->test_anon:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TestApi->test_anon: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **test_auth** +> KtestTestAuthReply test_auth(body) + +Test authenticated call + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api +from koyeb.api.models.ktest_test_auth_reply import KtestTestAuthReply +from koyeb.api.models.ktest_test_auth_request import KtestTestAuthRequest +from koyeb.api.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +with koyeb.api.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api.TestApi(api_client) + body = koyeb.api.KtestTestAuthRequest() # KtestTestAuthRequest | + + try: + # Test authenticated call + api_response = api_instance.test_auth(body) + print("The response of TestApi->test_auth:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TestApi->test_auth: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**KtestTestAuthRequest**](KtestTestAuthRequest.md)| | + +### Return type + +[**KtestTestAuthReply**](KtestTestAuthReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api/models/__init__.py b/koyeb/api/models/__init__.py index 720deefa..07ccfda1 100644 --- a/koyeb/api/models/__init__.py +++ b/koyeb/api/models/__init__.py @@ -221,6 +221,8 @@ from koyeb.api.models.ksearch_search_reply import KsearchSearchReply from koyeb.api.models.ksearch_service import KsearchService from koyeb.api.models.ksearch_user import KsearchUser +from koyeb.api.models.ktest_test_auth_reply import KtestTestAuthReply +from koyeb.api.models.ktest_test_auth_request import KtestTestAuthRequest from koyeb.api.models.lifecycle_quotas import LifecycleQuotas from koyeb.api.models.list_app_events_reply import ListAppEventsReply from koyeb.api.models.list_apps_reply import ListAppsReply diff --git a/koyeb/api/models/exec_command_io.py b/koyeb/api/models/exec_command_io.py index 56e374f7..eb3d337c 100644 --- a/koyeb/api/models/exec_command_io.py +++ b/koyeb/api/models/exec_command_io.py @@ -38,6 +38,9 @@ def data_validate_regular_expression(cls, value): if value is None: return value + if not isinstance(value, str): + value = str(value) + if not re.match(r"^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$", value): raise ValueError(r"must validate the regular expression /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/") return value diff --git a/koyeb/api/models/ktest_test_auth_reply.py b/koyeb/api/models/ktest_test_auth_reply.py new file mode 100644 index 00000000..67feb3b0 --- /dev/null +++ b/koyeb/api/models/ktest_test_auth_reply.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KtestTestAuthReply(BaseModel): + """ + KtestTestAuthReply + """ # noqa: E501 + payload: Optional[StrictStr] = None + user_id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + workspace_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["payload", "user_id", "organization_id", "workspace_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KtestTestAuthReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KtestTestAuthReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "payload": obj.get("payload"), + "user_id": obj.get("user_id"), + "organization_id": obj.get("organization_id"), + "workspace_id": obj.get("workspace_id") + }) + return _obj + + diff --git a/koyeb/api/models/ktest_test_auth_request.py b/koyeb/api/models/ktest_test_auth_request.py new file mode 100644 index 00000000..58ced89e --- /dev/null +++ b/koyeb/api/models/ktest_test_auth_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KtestTestAuthRequest(BaseModel): + """ + KtestTestAuthRequest + """ # noqa: E501 + payload: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["payload"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KtestTestAuthRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KtestTestAuthRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "payload": obj.get("payload") + }) + return _obj + + diff --git a/koyeb/api/test/test_ktest_test_auth_reply.py b/koyeb/api/test/test_ktest_test_auth_reply.py new file mode 100644 index 00000000..3652d224 --- /dev/null +++ b/koyeb/api/test/test_ktest_test_auth_reply.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api.models.ktest_test_auth_reply import KtestTestAuthReply + +class TestKtestTestAuthReply(unittest.TestCase): + """KtestTestAuthReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KtestTestAuthReply: + """Test KtestTestAuthReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KtestTestAuthReply` + """ + model = KtestTestAuthReply() + if include_optional: + return KtestTestAuthReply( + payload = '', + user_id = '', + organization_id = '', + workspace_id = '' + ) + else: + return KtestTestAuthReply( + ) + """ + + def testKtestTestAuthReply(self): + """Test KtestTestAuthReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api/test/test_ktest_test_auth_request.py b/koyeb/api/test/test_ktest_test_auth_request.py new file mode 100644 index 00000000..a9741f84 --- /dev/null +++ b/koyeb/api/test/test_ktest_test_auth_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api.models.ktest_test_auth_request import KtestTestAuthRequest + +class TestKtestTestAuthRequest(unittest.TestCase): + """KtestTestAuthRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KtestTestAuthRequest: + """Test KtestTestAuthRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KtestTestAuthRequest` + """ + model = KtestTestAuthRequest() + if include_optional: + return KtestTestAuthRequest( + payload = '' + ) + else: + return KtestTestAuthRequest( + ) + """ + + def testKtestTestAuthRequest(self): + """Test KtestTestAuthRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api/test/test_test_api.py b/koyeb/api/test/test_test_api.py new file mode 100644 index 00000000..530b01ce --- /dev/null +++ b/koyeb/api/test/test_test_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api.api.test_api import TestApi + + +class TestTestApi(unittest.IsolatedAsyncioTestCase): + """TestApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = TestApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_test_anon(self) -> None: + """Test case for test_anon + + Test anonymous call + """ + pass + + async def test_test_auth(self) -> None: + """Test case for test_auth + + Test authenticated call + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_README.md b/koyeb/api_README.md index 76f1c372..d60f4b73 100644 --- a/koyeb/api_README.md +++ b/koyeb/api_README.md @@ -5,12 +5,12 @@ The `koyeb.api` package is automatically generated by the [OpenAPI Generator](ht - API version: 1.0.0 - Package version: 1.4.8 -- Generator version: 7.22.0-SNAPSHOT +- Generator version: 7.24.0-SNAPSHOT - Build package: org.openapitools.codegen.languages.PythonClientCodegen ## Requirements. -Python 3.9+ +Python 3.10+ ## Installation & Usage @@ -139,29 +139,29 @@ Class | Method | HTTP request | Description *PersistentVolumesApi* | [**list_persistent_volume_events**](koyeb/api/docs/PersistentVolumesApi.md#list_persistent_volume_events) | **GET** /v1/volume_events | List Persistent Volume events *PersistentVolumesApi* | [**list_persistent_volumes**](koyeb/api/docs/PersistentVolumesApi.md#list_persistent_volumes) | **GET** /v1/volumes | List all PersistentVolumes *PersistentVolumesApi* | [**update_persistent_volume**](koyeb/api/docs/PersistentVolumesApi.md#update_persistent_volume) | **POST** /v1/volumes/{id} | Update a PersistentVolume -*ProfileApi* | [**accept_organization_invitation**](koyeb/api/docs/ProfileApi.md#accept_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/accept | Accept Organization Invitation +*ProfileApi* | [**accept_organization_invitation**](koyeb/api/docs/ProfileApi.md#accept_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/accept | Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. *ProfileApi* | [**clear_idenfy_verification_result**](koyeb/api/docs/ProfileApi.md#clear_idenfy_verification_result) | **POST** /v1/account/idenfy | ClearIdenfyVerificationResult marks the current result for idenfy as superseded -*ProfileApi* | [**decline_organization_invitation**](koyeb/api/docs/ProfileApi.md#decline_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/decline | Decline Organization Invitation +*ProfileApi* | [**decline_organization_invitation**](koyeb/api/docs/ProfileApi.md#decline_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/decline | Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. *ProfileApi* | [**get_current_organization**](koyeb/api/docs/ProfileApi.md#get_current_organization) | **GET** /v1/account/organization | Get Current Organization *ProfileApi* | [**get_current_user**](koyeb/api/docs/ProfileApi.md#get_current_user) | **GET** /v1/account/profile | Get Current User *ProfileApi* | [**get_idenfy_token**](koyeb/api/docs/ProfileApi.md#get_idenfy_token) | **GET** /v1/account/idenfy | Begin a session with iDenfy, emit an authToken *ProfileApi* | [**get_o_auth_options**](koyeb/api/docs/ProfileApi.md#get_o_auth_options) | **GET** /v1/account/oauth | Get OAuth Providers -*ProfileApi* | [**get_user_organization_invitation**](koyeb/api/docs/ProfileApi.md#get_user_organization_invitation) | **GET** /v1/account/organization_invitations/{id} | Get User Organization Invitation +*ProfileApi* | [**get_user_organization_invitation**](koyeb/api/docs/ProfileApi.md#get_user_organization_invitation) | **GET** /v1/account/organization_invitations/{id} | Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. *ProfileApi* | [**get_user_settings**](koyeb/api/docs/ProfileApi.md#get_user_settings) | **GET** /v1/account/settings | -*ProfileApi* | [**list_user_organization_invitations**](koyeb/api/docs/ProfileApi.md#list_user_organization_invitations) | **GET** /v1/account/organization_invitations | List User Organization Invitations +*ProfileApi* | [**list_user_organization_invitations**](koyeb/api/docs/ProfileApi.md#list_user_organization_invitations) | **GET** /v1/account/organization_invitations | List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. *ProfileApi* | [**list_user_organizations**](koyeb/api/docs/ProfileApi.md#list_user_organizations) | **GET** /v1/account/organizations | List User Organizations -*ProfileApi* | [**login_method**](koyeb/api/docs/ProfileApi.md#login_method) | **GET** /v1/account/login_method | Get the login method for an email address +*ProfileApi* | [**login_method**](koyeb/api/docs/ProfileApi.md#login_method) | **GET** /v1/account/login_method | Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. *ProfileApi* | [**o_auth_callback**](koyeb/api/docs/ProfileApi.md#o_auth_callback) | **POST** /v1/account/oauth | Authenticate using OAuth -*ProfileApi* | [**resend_email_validation**](koyeb/api/docs/ProfileApi.md#resend_email_validation) | **POST** /v1/account/resend_validation | Resend Email Verification -*ProfileApi* | [**reset_password**](koyeb/api/docs/ProfileApi.md#reset_password) | **POST** /v1/account/reset_password | Reset Password -*ProfileApi* | [**signup**](koyeb/api/docs/ProfileApi.md#signup) | **POST** /v1/account/signup | Signup -*ProfileApi* | [**update_password**](koyeb/api/docs/ProfileApi.md#update_password) | **POST** /v1/account/update_password | Update Password +*ProfileApi* | [**resend_email_validation**](koyeb/api/docs/ProfileApi.md#resend_email_validation) | **POST** /v1/account/resend_validation | Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**reset_password**](koyeb/api/docs/ProfileApi.md#reset_password) | **POST** /v1/account/reset_password | Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**signup**](koyeb/api/docs/ProfileApi.md#signup) | **POST** /v1/account/signup | Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**update_password**](koyeb/api/docs/ProfileApi.md#update_password) | **POST** /v1/account/update_password | Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. *ProfileApi* | [**update_user**](koyeb/api/docs/ProfileApi.md#update_user) | **PUT** /v1/account/profile | Update User *ProfileApi* | [**update_user2**](koyeb/api/docs/ProfileApi.md#update_user2) | **PATCH** /v1/account/profile | Update User *ProfileApi* | [**update_user_settings**](koyeb/api/docs/ProfileApi.md#update_user_settings) | **PATCH** /v1/account/settings | *ProfileApi* | [**update_user_v2**](koyeb/api/docs/ProfileApi.md#update_user_v2) | **PUT** /v2/account/profile | Update User V2 *ProfileApi* | [**update_user_v22**](koyeb/api/docs/ProfileApi.md#update_user_v22) | **PATCH** /v2/account/profile | Update User V2 -*ProfileApi* | [**validate**](koyeb/api/docs/ProfileApi.md#validate) | **POST** /v1/account/validate/{id} | Validate +*ProfileApi* | [**validate**](koyeb/api/docs/ProfileApi.md#validate) | **POST** /v1/account/validate/{id} | Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. *ProjectsApi* | [**create_project**](koyeb/api/docs/ProjectsApi.md#create_project) | **POST** /v1/projects | Create project *ProjectsApi* | [**delete_project**](koyeb/api/docs/ProjectsApi.md#delete_project) | **DELETE** /v1/projects/{id} | Delete project *ProjectsApi* | [**get_project**](koyeb/api/docs/ProjectsApi.md#get_project) | **GET** /v1/projects/{id} | Get project @@ -200,10 +200,10 @@ Class | Method | HTTP request | Description *ServicesApi* | [**update_service**](koyeb/api/docs/ServicesApi.md#update_service) | **PUT** /v1/services/{id} | Update Service *ServicesApi* | [**update_service2**](koyeb/api/docs/ServicesApi.md#update_service2) | **PATCH** /v1/services/{id} | Update Service *ServicesApi* | [**update_service_scaling**](koyeb/api/docs/ServicesApi.md#update_service_scaling) | **PUT** /v1/services/{id}/scale | Update Service Scaling -*SessionsApi* | [**login**](koyeb/api/docs/SessionsApi.md#login) | **POST** /v1/account/login | Login user -*SessionsApi* | [**logout**](koyeb/api/docs/SessionsApi.md#logout) | **DELETE** /v1/account/logout | Logout user +*SessionsApi* | [**login**](koyeb/api/docs/SessionsApi.md#login) | **POST** /v1/account/login | Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*SessionsApi* | [**logout**](koyeb/api/docs/SessionsApi.md#logout) | **DELETE** /v1/account/logout | Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. *SessionsApi* | [**new_session**](koyeb/api/docs/SessionsApi.md#new_session) | **POST** /v1/account/session | New session -*SessionsApi* | [**refresh_token**](koyeb/api/docs/SessionsApi.md#refresh_token) | **PUT** /v1/account/refresh | Refresh token +*SessionsApi* | [**refresh_token**](koyeb/api/docs/SessionsApi.md#refresh_token) | **PUT** /v1/account/refresh | Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. *SnapshotsApi* | [**create_snapshot**](koyeb/api/docs/SnapshotsApi.md#create_snapshot) | **POST** /v1/snapshots | Create a Snapshot *SnapshotsApi* | [**delete_snapshot**](koyeb/api/docs/SnapshotsApi.md#delete_snapshot) | **DELETE** /v1/snapshots/{id} | Delete a Snapshot *SnapshotsApi* | [**get_snapshot**](koyeb/api/docs/SnapshotsApi.md#get_snapshot) | **GET** /v1/snapshots/{id} | Get a Snapshot @@ -211,6 +211,8 @@ Class | Method | HTTP request | Description *SnapshotsApi* | [**update_snapshot**](koyeb/api/docs/SnapshotsApi.md#update_snapshot) | **POST** /v1/snapshots/{id} | Update a Snapshot *SubscriptionsApi* | [**get_subscription**](koyeb/api/docs/SubscriptionsApi.md#get_subscription) | **GET** /v1/subscriptions/{id} | Get Subscription *SummaryApi* | [**get_organization_summary**](koyeb/api/docs/SummaryApi.md#get_organization_summary) | **GET** /v1/organizations/{organization_id}/summary | Get organization usage summary +*TestApi* | [**test_anon**](koyeb/api/docs/TestApi.md#test_anon) | **GET** /v1/test/anon | Test anonymous call +*TestApi* | [**test_auth**](koyeb/api/docs/TestApi.md#test_auth) | **POST** /v1/test/auth | Test authenticated call *UsagesApi* | [**get_organization_usage**](koyeb/api/docs/UsagesApi.md#get_organization_usage) | **GET** /v1/usages | Get organization usage *UsagesApi* | [**get_organization_usage_details**](koyeb/api/docs/UsagesApi.md#get_organization_usage_details) | **GET** /v1/usages/details | Get organization usage details *UsersApi* | [**delete_user**](koyeb/api/docs/UsersApi.md#delete_user) | **DELETE** /v1/users/{id} | Delete user @@ -221,7 +223,7 @@ Class | Method | HTTP request | Description *BillingApi* | [**has_unpaid_invoices**](koyeb/api/docs/BillingApi.md#has_unpaid_invoices) | **GET** /v1/billing/has_unpaid_invoices | Experimental: Has unpaid invoices *BillingApi* | [**manage**](koyeb/api/docs/BillingApi.md#manage) | **GET** /v1/billing/manage | *BillingApi* | [**next_invoice**](koyeb/api/docs/BillingApi.md#next_invoice) | **GET** /v1/billing/next_invoice | Experimental: Fetch next invoice -*InviteApi* | [**create_invite**](koyeb/api/docs/InviteApi.md#create_invite) | **POST** /v1/account/invite | +*InviteApi* | [**create_invite**](koyeb/api/docs/InviteApi.md#create_invite) | **POST** /v1/account/invite | DEPRECATED: this has been replaced by WorkOS and will be dropped soon. *OrganizationApi* | [**create_access_token**](koyeb/api/docs/OrganizationApi.md#create_access_token) | **POST** /v1/organizations/{id}/access_token | CreateAccessToken *OrganizationApi* | [**create_budget**](koyeb/api/docs/OrganizationApi.md#create_budget) | **POST** /v1/organizations/{organization_id}/budget | Create Budget *OrganizationApi* | [**create_organization**](koyeb/api/docs/OrganizationApi.md#create_organization) | **POST** /v1/organizations | Create Organization @@ -233,7 +235,7 @@ Class | Method | HTTP request | Description *OrganizationApi* | [**get_organization**](koyeb/api/docs/OrganizationApi.md#get_organization) | **GET** /v1/organizations/{id} | Get Organization *OrganizationApi* | [**github_installation**](koyeb/api/docs/OrganizationApi.md#github_installation) | **POST** /v1/github/installation | Start Github Installation *OrganizationApi* | [**reactivate_organization**](koyeb/api/docs/OrganizationApi.md#reactivate_organization) | **POST** /v1/organizations/{id}/reactivate | Reactivate an Organization -*OrganizationApi* | [**switch_organization**](koyeb/api/docs/OrganizationApi.md#switch_organization) | **POST** /v1/organizations/{id}/switch | Switch Organization context +*OrganizationApi* | [**switch_organization**](koyeb/api/docs/OrganizationApi.md#switch_organization) | **POST** /v1/organizations/{id}/switch | Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. *OrganizationApi* | [**unscope_organization_token**](koyeb/api/docs/OrganizationApi.md#unscope_organization_token) | **POST** /v1/unscope_organization_token | Unscope Organization Token *OrganizationApi* | [**update_budget**](koyeb/api/docs/OrganizationApi.md#update_budget) | **PUT** /v1/organizations/{organization_id}/budget | Update Budget *OrganizationApi* | [**update_organization**](koyeb/api/docs/OrganizationApi.md#update_organization) | **PUT** /v1/organizations/{id} | Update Organization @@ -456,6 +458,8 @@ Class | Method | HTTP request | Description - [KsearchSearchReply](koyeb/api/docs/KsearchSearchReply.md) - [KsearchService](koyeb/api/docs/KsearchService.md) - [KsearchUser](koyeb/api/docs/KsearchUser.md) + - [KtestTestAuthReply](koyeb/api/docs/KtestTestAuthReply.md) + - [KtestTestAuthRequest](koyeb/api/docs/KtestTestAuthRequest.md) - [LifecycleQuotas](koyeb/api/docs/LifecycleQuotas.md) - [ListAppEventsReply](koyeb/api/docs/ListAppEventsReply.md) - [ListAppsReply](koyeb/api/docs/ListAppsReply.md) diff --git a/koyeb/api_async/.openapi-generator/FILES b/koyeb/api_async/.openapi-generator/FILES new file mode 100644 index 00000000..98b25f2e --- /dev/null +++ b/koyeb/api_async/.openapi-generator/FILES @@ -0,0 +1,867 @@ +koyeb/__init__.py +koyeb/api_async/__init__.py +koyeb/api_async/api/__init__.py +koyeb/api_async/api/activity_api.py +koyeb/api_async/api/apps_api.py +koyeb/api_async/api/archives_api.py +koyeb/api_async/api/billing_api.py +koyeb/api_async/api/catalog_datacenters_api.py +koyeb/api_async/api/catalog_instance_usage_api.py +koyeb/api_async/api/catalog_instances_api.py +koyeb/api_async/api/catalog_regions_api.py +koyeb/api_async/api/compose_api.py +koyeb/api_async/api/coupons_api.py +koyeb/api_async/api/credentials_api.py +koyeb/api_async/api/deployments_api.py +koyeb/api_async/api/docker_helper_api.py +koyeb/api_async/api/domains_api.py +koyeb/api_async/api/instances_api.py +koyeb/api_async/api/intercom_api.py +koyeb/api_async/api/invite_api.py +koyeb/api_async/api/logs_api.py +koyeb/api_async/api/metrics_api.py +koyeb/api_async/api/organization_api.py +koyeb/api_async/api/organization_confirmations_api.py +koyeb/api_async/api/organization_invitations_api.py +koyeb/api_async/api/organization_members_api.py +koyeb/api_async/api/organization_quotas_api.py +koyeb/api_async/api/payment_methods_api.py +koyeb/api_async/api/persistent_volumes_api.py +koyeb/api_async/api/profile_api.py +koyeb/api_async/api/projects_api.py +koyeb/api_async/api/provisioning_api.py +koyeb/api_async/api/quotas_api.py +koyeb/api_async/api/regional_deployments_api.py +koyeb/api_async/api/repositories_api.py +koyeb/api_async/api/search_api.py +koyeb/api_async/api/secrets_api.py +koyeb/api_async/api/services_api.py +koyeb/api_async/api/sessions_api.py +koyeb/api_async/api/snapshots_api.py +koyeb/api_async/api/sso_api.py +koyeb/api_async/api/subscriptions_api.py +koyeb/api_async/api/summary_api.py +koyeb/api_async/api/test_api.py +koyeb/api_async/api/usages_api.py +koyeb/api_async/api/users_api.py +koyeb/api_async/api_client.py +koyeb/api_async/api_response.py +koyeb/api_async/configuration.py +koyeb/api_async/docs/AcceptOrganizationInvitationReply.md +koyeb/api_async/docs/Action.md +koyeb/api_async/docs/Activity.md +koyeb/api_async/docs/ActivityApi.md +koyeb/api_async/docs/ActivityList.md +koyeb/api_async/docs/App.md +koyeb/api_async/docs/AppEvent.md +koyeb/api_async/docs/AppLifeCycle.md +koyeb/api_async/docs/AppListItem.md +koyeb/api_async/docs/AppStatus.md +koyeb/api_async/docs/AppUsage.md +koyeb/api_async/docs/AppsApi.md +koyeb/api_async/docs/AppsSummary.md +koyeb/api_async/docs/Archive.md +koyeb/api_async/docs/ArchiveDeploymentMetadata.md +koyeb/api_async/docs/ArchiveSource.md +koyeb/api_async/docs/ArchivesApi.md +koyeb/api_async/docs/AutoRelease.md +koyeb/api_async/docs/AutoReleaseGroup.md +koyeb/api_async/docs/AutocompleteReply.md +koyeb/api_async/docs/AutocompleteRequest.md +koyeb/api_async/docs/AvailabilityLevel.md +koyeb/api_async/docs/AzureContainerRegistryConfiguration.md +koyeb/api_async/docs/BasicAuthPolicy.md +koyeb/api_async/docs/BillingApi.md +koyeb/api_async/docs/Budget.md +koyeb/api_async/docs/BuildpackBuilder.md +koyeb/api_async/docs/CannyAuthReply.md +koyeb/api_async/docs/CatalogDatacentersApi.md +koyeb/api_async/docs/CatalogGPUDetails.md +koyeb/api_async/docs/CatalogInstance.md +koyeb/api_async/docs/CatalogInstanceListItem.md +koyeb/api_async/docs/CatalogInstanceUsageApi.md +koyeb/api_async/docs/CatalogInstancesApi.md +koyeb/api_async/docs/CatalogRegionsApi.md +koyeb/api_async/docs/CatalogUsage.md +koyeb/api_async/docs/CheckCouponReply.md +koyeb/api_async/docs/ClearIdenfyVerificationResultRequest.md +koyeb/api_async/docs/ComposeApi.md +koyeb/api_async/docs/ComposeReply.md +koyeb/api_async/docs/ConfigFile.md +koyeb/api_async/docs/ConfirmPaymentAuthorizationReply.md +koyeb/api_async/docs/CouponsApi.md +koyeb/api_async/docs/CreateAccessTokenReply.md +koyeb/api_async/docs/CreateAccessTokenRequest.md +koyeb/api_async/docs/CreateAccountRequest.md +koyeb/api_async/docs/CreateApp.md +koyeb/api_async/docs/CreateAppReply.md +koyeb/api_async/docs/CreateArchive.md +koyeb/api_async/docs/CreateArchiveReply.md +koyeb/api_async/docs/CreateBudgetReply.md +koyeb/api_async/docs/CreateCompose.md +koyeb/api_async/docs/CreateCredential.md +koyeb/api_async/docs/CreateCredentialReply.md +koyeb/api_async/docs/CreateDomain.md +koyeb/api_async/docs/CreateDomainReply.md +koyeb/api_async/docs/CreateOrganizationInvitationReply.md +koyeb/api_async/docs/CreateOrganizationInvitationRequest.md +koyeb/api_async/docs/CreateOrganizationReply.md +koyeb/api_async/docs/CreateOrganizationRequest.md +koyeb/api_async/docs/CreatePaymentAuthorizationReply.md +koyeb/api_async/docs/CreatePersistentVolumeReply.md +koyeb/api_async/docs/CreatePersistentVolumeRequest.md +koyeb/api_async/docs/CreateProject.md +koyeb/api_async/docs/CreateProjectReply.md +koyeb/api_async/docs/CreateSecret.md +koyeb/api_async/docs/CreateSecretReply.md +koyeb/api_async/docs/CreateService.md +koyeb/api_async/docs/CreateServiceReply.md +koyeb/api_async/docs/CreateSnapshotReply.md +koyeb/api_async/docs/CreateSnapshotRequest.md +koyeb/api_async/docs/CreateStageAttemptRequest.md +koyeb/api_async/docs/Credential.md +koyeb/api_async/docs/CredentialType.md +koyeb/api_async/docs/CredentialsApi.md +koyeb/api_async/docs/DatabaseDeploymentMetadata.md +koyeb/api_async/docs/DatabaseRolePassword.md +koyeb/api_async/docs/DatabaseSource.md +koyeb/api_async/docs/DatabaseUsage.md +koyeb/api_async/docs/DatabaseUsageDetails.md +koyeb/api_async/docs/DatacenterListItem.md +koyeb/api_async/docs/DeactivateOrganizationReply.md +koyeb/api_async/docs/DeactivateOrganizationRequest.md +koyeb/api_async/docs/DeclareStageProgressRequest.md +koyeb/api_async/docs/DeclareStepProgressRequest.md +koyeb/api_async/docs/DeclineOrganizationInvitationReply.md +koyeb/api_async/docs/DeleteOrganizationReply.md +koyeb/api_async/docs/DeletePersistentVolumeReply.md +koyeb/api_async/docs/DeleteSnapshotReply.md +koyeb/api_async/docs/DeleteUserReply.md +koyeb/api_async/docs/Deployment.md +koyeb/api_async/docs/DeploymentDatabaseInfo.md +koyeb/api_async/docs/DeploymentDefinition.md +koyeb/api_async/docs/DeploymentDefinitionType.md +koyeb/api_async/docs/DeploymentEnv.md +koyeb/api_async/docs/DeploymentEvent.md +koyeb/api_async/docs/DeploymentHealthCheck.md +koyeb/api_async/docs/DeploymentInstanceType.md +koyeb/api_async/docs/DeploymentListItem.md +koyeb/api_async/docs/DeploymentMesh.md +koyeb/api_async/docs/DeploymentMetadata.md +koyeb/api_async/docs/DeploymentNeonPostgresDatabaseInfo.md +koyeb/api_async/docs/DeploymentNeonPostgresDatabaseInfoRole.md +koyeb/api_async/docs/DeploymentPort.md +koyeb/api_async/docs/DeploymentProvisioningInfo.md +koyeb/api_async/docs/DeploymentProvisioningInfoStage.md +koyeb/api_async/docs/DeploymentProvisioningInfoStageBuildAttempt.md +koyeb/api_async/docs/DeploymentProvisioningInfoStageBuildAttemptBuildStep.md +koyeb/api_async/docs/DeploymentProvisioningInfoStageStatus.md +koyeb/api_async/docs/DeploymentProxyPort.md +koyeb/api_async/docs/DeploymentProxyPortMetadata.md +koyeb/api_async/docs/DeploymentRole.md +koyeb/api_async/docs/DeploymentRoute.md +koyeb/api_async/docs/DeploymentScaling.md +koyeb/api_async/docs/DeploymentScalingTarget.md +koyeb/api_async/docs/DeploymentScalingTargetAverageCPU.md +koyeb/api_async/docs/DeploymentScalingTargetAverageMem.md +koyeb/api_async/docs/DeploymentScalingTargetConcurrentRequests.md +koyeb/api_async/docs/DeploymentScalingTargetRequestsPerSecond.md +koyeb/api_async/docs/DeploymentScalingTargetRequestsResponseTime.md +koyeb/api_async/docs/DeploymentScalingTargetSleepIdleDelay.md +koyeb/api_async/docs/DeploymentStatus.md +koyeb/api_async/docs/DeploymentStrategy.md +koyeb/api_async/docs/DeploymentStrategyType.md +koyeb/api_async/docs/DeploymentVolume.md +koyeb/api_async/docs/DeploymentsApi.md +koyeb/api_async/docs/DesiredDeployment.md +koyeb/api_async/docs/DesiredDeploymentGroup.md +koyeb/api_async/docs/DigitalOceanRegistryConfiguration.md +koyeb/api_async/docs/DiscourseAuthReply.md +koyeb/api_async/docs/DiscourseAuthRequest.md +koyeb/api_async/docs/DockerBuilder.md +koyeb/api_async/docs/DockerHelperApi.md +koyeb/api_async/docs/DockerHubRegistryConfiguration.md +koyeb/api_async/docs/DockerSource.md +koyeb/api_async/docs/Domain.md +koyeb/api_async/docs/DomainLoadBalancerKoyeb.md +koyeb/api_async/docs/DomainLoadBalancerQuotas.md +koyeb/api_async/docs/DomainStatus.md +koyeb/api_async/docs/DomainType.md +koyeb/api_async/docs/DomainsApi.md +koyeb/api_async/docs/DomainsSummary.md +koyeb/api_async/docs/Env.md +koyeb/api_async/docs/Error.md +koyeb/api_async/docs/ErrorField.md +koyeb/api_async/docs/ErrorWithFields.md +koyeb/api_async/docs/ExecCommandIO.md +koyeb/api_async/docs/ExecCommandReply.md +koyeb/api_async/docs/ExecCommandRequestBody.md +koyeb/api_async/docs/ExecCommandRequestIdType.md +koyeb/api_async/docs/ExecCommandRequestTerminalSize.md +koyeb/api_async/docs/GCPContainerRegistryConfiguration.md +koyeb/api_async/docs/GetAppReply.md +koyeb/api_async/docs/GetBudgetReply.md +koyeb/api_async/docs/GetCatalogInstanceReply.md +koyeb/api_async/docs/GetCredentialReply.md +koyeb/api_async/docs/GetDeploymentReply.md +koyeb/api_async/docs/GetDeploymentScalingReply.md +koyeb/api_async/docs/GetDeploymentScalingReplyItem.md +koyeb/api_async/docs/GetDomainReply.md +koyeb/api_async/docs/GetGithubInstallationReply.md +koyeb/api_async/docs/GetIdenfyTokenReply.md +koyeb/api_async/docs/GetInstanceReply.md +koyeb/api_async/docs/GetIntercomProfileReply.md +koyeb/api_async/docs/GetMetricsReply.md +koyeb/api_async/docs/GetMetricsReplyMetric.md +koyeb/api_async/docs/GetOAuthOptionsReply.md +koyeb/api_async/docs/GetOrganizationInvitationReply.md +koyeb/api_async/docs/GetOrganizationReply.md +koyeb/api_async/docs/GetOrganizationSummaryReply.md +koyeb/api_async/docs/GetOrganizationUsageDetailsReply.md +koyeb/api_async/docs/GetOrganizationUsageReply.md +koyeb/api_async/docs/GetPaymentMethodReply.md +koyeb/api_async/docs/GetPersistentVolumeReply.md +koyeb/api_async/docs/GetProjectReply.md +koyeb/api_async/docs/GetQuotasReply.md +koyeb/api_async/docs/GetRegionReply.md +koyeb/api_async/docs/GetRegionalDeploymentReply.md +koyeb/api_async/docs/GetSecretReply.md +koyeb/api_async/docs/GetServiceReply.md +koyeb/api_async/docs/GetServiceScalingReply.md +koyeb/api_async/docs/GetSnapshotReply.md +koyeb/api_async/docs/GetSubscriptionReply.md +koyeb/api_async/docs/GetUserOrganizationInvitationReply.md +koyeb/api_async/docs/GetUserSettingsReply.md +koyeb/api_async/docs/GitDeploymentMetadata.md +koyeb/api_async/docs/GitEnvDeploymentMetadata.md +koyeb/api_async/docs/GitHubRegistryConfiguration.md +koyeb/api_async/docs/GitLabRegistryConfiguration.md +koyeb/api_async/docs/GitSource.md +koyeb/api_async/docs/GithubInstallationReply.md +koyeb/api_async/docs/GithubInstallationRequest.md +koyeb/api_async/docs/GoogleProtobufAny.md +koyeb/api_async/docs/GoogleProtobufNullValue.md +koyeb/api_async/docs/GoogleRpcStatus.md +koyeb/api_async/docs/HTTPHeader.md +koyeb/api_async/docs/HTTPHealthCheck.md +koyeb/api_async/docs/HasUnpaidInvoicesReply.md +koyeb/api_async/docs/Instance.md +koyeb/api_async/docs/InstanceAvailability.md +koyeb/api_async/docs/InstanceEvent.md +koyeb/api_async/docs/InstanceListItem.md +koyeb/api_async/docs/InstanceStatus.md +koyeb/api_async/docs/InstanceUsage.md +koyeb/api_async/docs/InstancesApi.md +koyeb/api_async/docs/InstancesSummary.md +koyeb/api_async/docs/IntercomApi.md +koyeb/api_async/docs/InviteApi.md +koyeb/api_async/docs/InviteUserRequest.md +koyeb/api_async/docs/KgitproxyBranch.md +koyeb/api_async/docs/KgitproxyGitHubRepository.md +koyeb/api_async/docs/KgitproxyGithubInstallationStatus.md +koyeb/api_async/docs/KgitproxyIndexingStatus.md +koyeb/api_async/docs/KgitproxyListBranchesReply.md +koyeb/api_async/docs/KgitproxyListRepositoriesReply.md +koyeb/api_async/docs/KgitproxyRepository.md +koyeb/api_async/docs/KgitproxyRepositoryProvider.md +koyeb/api_async/docs/KsearchApp.md +koyeb/api_async/docs/KsearchGlobalDeployment.md +koyeb/api_async/docs/KsearchInstance.md +koyeb/api_async/docs/KsearchOrganization.md +koyeb/api_async/docs/KsearchRegionalDeployment.md +koyeb/api_async/docs/KsearchSearchReply.md +koyeb/api_async/docs/KsearchService.md +koyeb/api_async/docs/KsearchUser.md +koyeb/api_async/docs/KtestTestAuthReply.md +koyeb/api_async/docs/KtestTestAuthRequest.md +koyeb/api_async/docs/LifecycleQuotas.md +koyeb/api_async/docs/ListAppEventsReply.md +koyeb/api_async/docs/ListAppsReply.md +koyeb/api_async/docs/ListCatalogInstancesReply.md +koyeb/api_async/docs/ListCredentialsReply.md +koyeb/api_async/docs/ListDatacentersReply.md +koyeb/api_async/docs/ListDeploymentEventsReply.md +koyeb/api_async/docs/ListDeploymentsReply.md +koyeb/api_async/docs/ListDomainsReply.md +koyeb/api_async/docs/ListInstanceEventsReply.md +koyeb/api_async/docs/ListInstancesReply.md +koyeb/api_async/docs/ListOrganizationInvitationsReply.md +koyeb/api_async/docs/ListOrganizationMembersReply.md +koyeb/api_async/docs/ListPaymentMethodsReply.md +koyeb/api_async/docs/ListPersistentVolumeEventsReply.md +koyeb/api_async/docs/ListPersistentVolumesReply.md +koyeb/api_async/docs/ListProjectsReply.md +koyeb/api_async/docs/ListRegionalDeploymentEventsReply.md +koyeb/api_async/docs/ListRegionalDeploymentsReply.md +koyeb/api_async/docs/ListRegionsReply.md +koyeb/api_async/docs/ListSecretsReply.md +koyeb/api_async/docs/ListServiceEventsReply.md +koyeb/api_async/docs/ListServicesReply.md +koyeb/api_async/docs/ListSnapshotsReply.md +koyeb/api_async/docs/ListUsageReply.md +koyeb/api_async/docs/ListUserOrganizationInvitationsReply.md +koyeb/api_async/docs/ListUserOrganizationsReply.md +koyeb/api_async/docs/LogEntry.md +koyeb/api_async/docs/LoginMethodReply.md +koyeb/api_async/docs/LoginMethodReplyMethod.md +koyeb/api_async/docs/LoginReply.md +koyeb/api_async/docs/LoginRequest.md +koyeb/api_async/docs/LogsApi.md +koyeb/api_async/docs/ManageReply.md +koyeb/api_async/docs/ManualServiceScaling.md +koyeb/api_async/docs/MembersSummary.md +koyeb/api_async/docs/MetricName.md +koyeb/api_async/docs/MetricsApi.md +koyeb/api_async/docs/NeonPostgresDatabase.md +koyeb/api_async/docs/NeonPostgresDatabaseDeploymentMetadata.md +koyeb/api_async/docs/NeonPostgresDatabaseNeonDatabase.md +koyeb/api_async/docs/NeonPostgresDatabaseNeonRole.md +koyeb/api_async/docs/NeonPostgresSummary.md +koyeb/api_async/docs/NextInvoiceReply.md +koyeb/api_async/docs/NextInvoiceReplyDiscount.md +koyeb/api_async/docs/NextInvoiceReplyDiscountType.md +koyeb/api_async/docs/NextInvoiceReplyLine.md +koyeb/api_async/docs/NextInvoiceReplyLinePeriod.md +koyeb/api_async/docs/NextInvoiceReplyLinePrice.md +koyeb/api_async/docs/Notification.md +koyeb/api_async/docs/NotificationList.md +koyeb/api_async/docs/OAuthCallbackReply.md +koyeb/api_async/docs/OAuthCallbackRequest.md +koyeb/api_async/docs/OAuthProvider.md +koyeb/api_async/docs/Object.md +koyeb/api_async/docs/Organization.md +koyeb/api_async/docs/OrganizationApi.md +koyeb/api_async/docs/OrganizationConfirmationsApi.md +koyeb/api_async/docs/OrganizationDeactivationReason.md +koyeb/api_async/docs/OrganizationDetailedStatus.md +koyeb/api_async/docs/OrganizationInvitation.md +koyeb/api_async/docs/OrganizationInvitationStatus.md +koyeb/api_async/docs/OrganizationInvitationsApi.md +koyeb/api_async/docs/OrganizationMember.md +koyeb/api_async/docs/OrganizationMemberStatus.md +koyeb/api_async/docs/OrganizationMembersApi.md +koyeb/api_async/docs/OrganizationQuotasApi.md +koyeb/api_async/docs/OrganizationStatus.md +koyeb/api_async/docs/OrganizationSummary.md +koyeb/api_async/docs/PaymentMethod.md +koyeb/api_async/docs/PaymentMethodStatus.md +koyeb/api_async/docs/PaymentMethodsApi.md +koyeb/api_async/docs/PeriodUsage.md +koyeb/api_async/docs/PersistentVolume.md +koyeb/api_async/docs/PersistentVolumeBackingStore.md +koyeb/api_async/docs/PersistentVolumeEvent.md +koyeb/api_async/docs/PersistentVolumeQuotas.md +koyeb/api_async/docs/PersistentVolumeStatus.md +koyeb/api_async/docs/PersistentVolumesApi.md +koyeb/api_async/docs/Plan.md +koyeb/api_async/docs/Port.md +koyeb/api_async/docs/PrivateRegistryConfiguration.md +koyeb/api_async/docs/ProfileApi.md +koyeb/api_async/docs/Project.md +koyeb/api_async/docs/ProjectsApi.md +koyeb/api_async/docs/ProvisioningApi.md +koyeb/api_async/docs/ProxyPortProtocol.md +koyeb/api_async/docs/PublicOrganization.md +koyeb/api_async/docs/PublicUser.md +koyeb/api_async/docs/QueryLogsReply.md +koyeb/api_async/docs/QueryLogsReplyPagination.md +koyeb/api_async/docs/Quotas.md +koyeb/api_async/docs/QuotasApi.md +koyeb/api_async/docs/ReactivateOrganizationReply.md +koyeb/api_async/docs/RedeemCouponRequest.md +koyeb/api_async/docs/RedeployReply.md +koyeb/api_async/docs/RedeployRequestInfo.md +koyeb/api_async/docs/Region.md +koyeb/api_async/docs/RegionAvailability.md +koyeb/api_async/docs/RegionListItem.md +koyeb/api_async/docs/RegionUsage.md +koyeb/api_async/docs/RegionalDeployment.md +koyeb/api_async/docs/RegionalDeploymentDefinition.md +koyeb/api_async/docs/RegionalDeploymentDefinitionType.md +koyeb/api_async/docs/RegionalDeploymentEvent.md +koyeb/api_async/docs/RegionalDeploymentListItem.md +koyeb/api_async/docs/RegionalDeploymentMesh.md +koyeb/api_async/docs/RegionalDeploymentRole.md +koyeb/api_async/docs/RegionalDeploymentStatus.md +koyeb/api_async/docs/RegionalDeploymentVolume.md +koyeb/api_async/docs/RegionalDeploymentsApi.md +koyeb/api_async/docs/RemoveOrganizationMemberReply.md +koyeb/api_async/docs/RepositoriesApi.md +koyeb/api_async/docs/ResendOrganizationInvitationReply.md +koyeb/api_async/docs/ResetPasswordRequest.md +koyeb/api_async/docs/RevealSecretReply.md +koyeb/api_async/docs/ReviewOrganizationCapacityReply.md +koyeb/api_async/docs/ReviewOrganizationCapacityRequest.md +koyeb/api_async/docs/Route.md +koyeb/api_async/docs/Sample.md +koyeb/api_async/docs/SandboxMetadata.md +koyeb/api_async/docs/ScaleToZeroQuotas.md +koyeb/api_async/docs/Scaling.md +koyeb/api_async/docs/SearchApi.md +koyeb/api_async/docs/Secret.md +koyeb/api_async/docs/SecretType.md +koyeb/api_async/docs/SecretsApi.md +koyeb/api_async/docs/SecretsSummary.md +koyeb/api_async/docs/SecurityPolicies.md +koyeb/api_async/docs/Service.md +koyeb/api_async/docs/ServiceEvent.md +koyeb/api_async/docs/ServiceLifeCycle.md +koyeb/api_async/docs/ServiceListItem.md +koyeb/api_async/docs/ServiceState.md +koyeb/api_async/docs/ServiceStatus.md +koyeb/api_async/docs/ServiceSummary.md +koyeb/api_async/docs/ServiceType.md +koyeb/api_async/docs/ServiceUsage.md +koyeb/api_async/docs/ServicesApi.md +koyeb/api_async/docs/SessionsApi.md +koyeb/api_async/docs/Snapshot.md +koyeb/api_async/docs/SnapshotStatus.md +koyeb/api_async/docs/SnapshotType.md +koyeb/api_async/docs/SnapshotsApi.md +koyeb/api_async/docs/SsoApi.md +koyeb/api_async/docs/StreamResultOfExecCommandReply.md +koyeb/api_async/docs/StreamResultOfLogEntry.md +koyeb/api_async/docs/Subscription.md +koyeb/api_async/docs/SubscriptionPaymentFailure.md +koyeb/api_async/docs/SubscriptionPaymentFailureStripeSDK.md +koyeb/api_async/docs/SubscriptionStatus.md +koyeb/api_async/docs/SubscriptionsApi.md +koyeb/api_async/docs/SummaryApi.md +koyeb/api_async/docs/TCPHealthCheck.md +koyeb/api_async/docs/TestApi.md +koyeb/api_async/docs/Token.md +koyeb/api_async/docs/TriggerDeploymentMetadata.md +koyeb/api_async/docs/TriggerDeploymentMetadataActorType.md +koyeb/api_async/docs/TriggerDeploymentMetadataTriggerType.md +koyeb/api_async/docs/TriggerGitDeploymentMetadata.md +koyeb/api_async/docs/TriggerGitDeploymentMetadataProvider.md +koyeb/api_async/docs/UpdateApp.md +koyeb/api_async/docs/UpdateAppReply.md +koyeb/api_async/docs/UpdateBudgetReply.md +koyeb/api_async/docs/UpdateBudgetRequest.md +koyeb/api_async/docs/UpdateCredentialReply.md +koyeb/api_async/docs/UpdateDomain.md +koyeb/api_async/docs/UpdateDomainReply.md +koyeb/api_async/docs/UpdateOrganizationDefaultProjectReply.md +koyeb/api_async/docs/UpdateOrganizationDefaultProjectRequest.md +koyeb/api_async/docs/UpdateOrganizationNameReply.md +koyeb/api_async/docs/UpdateOrganizationNameRequest.md +koyeb/api_async/docs/UpdateOrganizationPlanReply.md +koyeb/api_async/docs/UpdateOrganizationPlanRequest.md +koyeb/api_async/docs/UpdateOrganizationReply.md +koyeb/api_async/docs/UpdatePasswordRequest.md +koyeb/api_async/docs/UpdatePersistentVolumeReply.md +koyeb/api_async/docs/UpdatePersistentVolumeRequest.md +koyeb/api_async/docs/UpdateProjectReply.md +koyeb/api_async/docs/UpdateSecretReply.md +koyeb/api_async/docs/UpdateService.md +koyeb/api_async/docs/UpdateServiceReply.md +koyeb/api_async/docs/UpdateServiceScalingRequest.md +koyeb/api_async/docs/UpdateSnapshotReply.md +koyeb/api_async/docs/UpdateSnapshotRequest.md +koyeb/api_async/docs/UpdateUserRequestUserUpdateBody.md +koyeb/api_async/docs/UpdateUserSettingsReply.md +koyeb/api_async/docs/UpdateUserSettingsRequest.md +koyeb/api_async/docs/UpsertSignupQualificationReply.md +koyeb/api_async/docs/UpsertSignupQualificationRequest.md +koyeb/api_async/docs/Usage.md +koyeb/api_async/docs/UsageDetails.md +koyeb/api_async/docs/UsagesApi.md +koyeb/api_async/docs/User.md +koyeb/api_async/docs/UserFlags.md +koyeb/api_async/docs/UserReply.md +koyeb/api_async/docs/UserRoleRole.md +koyeb/api_async/docs/UserSettings.md +koyeb/api_async/docs/UsersApi.md +koyeb/api_async/docs/VerifyDockerImageReply.md +koyeb/api_async/docs/VerifyDockerImageReplyErrCode.md +koyeb/api_async/exceptions.py +koyeb/api_async/models/__init__.py +koyeb/api_async/models/accept_organization_invitation_reply.py +koyeb/api_async/models/action.py +koyeb/api_async/models/activity.py +koyeb/api_async/models/activity_list.py +koyeb/api_async/models/app.py +koyeb/api_async/models/app_event.py +koyeb/api_async/models/app_life_cycle.py +koyeb/api_async/models/app_list_item.py +koyeb/api_async/models/app_status.py +koyeb/api_async/models/app_usage.py +koyeb/api_async/models/apps_summary.py +koyeb/api_async/models/archive.py +koyeb/api_async/models/archive_deployment_metadata.py +koyeb/api_async/models/archive_source.py +koyeb/api_async/models/auto_release.py +koyeb/api_async/models/auto_release_group.py +koyeb/api_async/models/autocomplete_reply.py +koyeb/api_async/models/autocomplete_request.py +koyeb/api_async/models/availability_level.py +koyeb/api_async/models/azure_container_registry_configuration.py +koyeb/api_async/models/basic_auth_policy.py +koyeb/api_async/models/budget.py +koyeb/api_async/models/buildpack_builder.py +koyeb/api_async/models/canny_auth_reply.py +koyeb/api_async/models/catalog_gpu_details.py +koyeb/api_async/models/catalog_instance.py +koyeb/api_async/models/catalog_instance_list_item.py +koyeb/api_async/models/catalog_usage.py +koyeb/api_async/models/check_coupon_reply.py +koyeb/api_async/models/clear_idenfy_verification_result_request.py +koyeb/api_async/models/compose_reply.py +koyeb/api_async/models/config_file.py +koyeb/api_async/models/confirm_payment_authorization_reply.py +koyeb/api_async/models/create_access_token_reply.py +koyeb/api_async/models/create_access_token_request.py +koyeb/api_async/models/create_account_request.py +koyeb/api_async/models/create_app.py +koyeb/api_async/models/create_app_reply.py +koyeb/api_async/models/create_archive.py +koyeb/api_async/models/create_archive_reply.py +koyeb/api_async/models/create_budget_reply.py +koyeb/api_async/models/create_compose.py +koyeb/api_async/models/create_credential.py +koyeb/api_async/models/create_credential_reply.py +koyeb/api_async/models/create_domain.py +koyeb/api_async/models/create_domain_reply.py +koyeb/api_async/models/create_organization_invitation_reply.py +koyeb/api_async/models/create_organization_invitation_request.py +koyeb/api_async/models/create_organization_reply.py +koyeb/api_async/models/create_organization_request.py +koyeb/api_async/models/create_payment_authorization_reply.py +koyeb/api_async/models/create_persistent_volume_reply.py +koyeb/api_async/models/create_persistent_volume_request.py +koyeb/api_async/models/create_project.py +koyeb/api_async/models/create_project_reply.py +koyeb/api_async/models/create_secret.py +koyeb/api_async/models/create_secret_reply.py +koyeb/api_async/models/create_service.py +koyeb/api_async/models/create_service_reply.py +koyeb/api_async/models/create_snapshot_reply.py +koyeb/api_async/models/create_snapshot_request.py +koyeb/api_async/models/create_stage_attempt_request.py +koyeb/api_async/models/credential.py +koyeb/api_async/models/credential_type.py +koyeb/api_async/models/database_deployment_metadata.py +koyeb/api_async/models/database_role_password.py +koyeb/api_async/models/database_source.py +koyeb/api_async/models/database_usage.py +koyeb/api_async/models/database_usage_details.py +koyeb/api_async/models/datacenter_list_item.py +koyeb/api_async/models/deactivate_organization_reply.py +koyeb/api_async/models/deactivate_organization_request.py +koyeb/api_async/models/declare_stage_progress_request.py +koyeb/api_async/models/declare_step_progress_request.py +koyeb/api_async/models/decline_organization_invitation_reply.py +koyeb/api_async/models/delete_organization_reply.py +koyeb/api_async/models/delete_persistent_volume_reply.py +koyeb/api_async/models/delete_snapshot_reply.py +koyeb/api_async/models/delete_user_reply.py +koyeb/api_async/models/deployment.py +koyeb/api_async/models/deployment_database_info.py +koyeb/api_async/models/deployment_definition.py +koyeb/api_async/models/deployment_definition_type.py +koyeb/api_async/models/deployment_env.py +koyeb/api_async/models/deployment_event.py +koyeb/api_async/models/deployment_health_check.py +koyeb/api_async/models/deployment_instance_type.py +koyeb/api_async/models/deployment_list_item.py +koyeb/api_async/models/deployment_mesh.py +koyeb/api_async/models/deployment_metadata.py +koyeb/api_async/models/deployment_neon_postgres_database_info.py +koyeb/api_async/models/deployment_neon_postgres_database_info_role.py +koyeb/api_async/models/deployment_port.py +koyeb/api_async/models/deployment_provisioning_info.py +koyeb/api_async/models/deployment_provisioning_info_stage.py +koyeb/api_async/models/deployment_provisioning_info_stage_build_attempt.py +koyeb/api_async/models/deployment_provisioning_info_stage_build_attempt_build_step.py +koyeb/api_async/models/deployment_provisioning_info_stage_status.py +koyeb/api_async/models/deployment_proxy_port.py +koyeb/api_async/models/deployment_proxy_port_metadata.py +koyeb/api_async/models/deployment_role.py +koyeb/api_async/models/deployment_route.py +koyeb/api_async/models/deployment_scaling.py +koyeb/api_async/models/deployment_scaling_target.py +koyeb/api_async/models/deployment_scaling_target_average_cpu.py +koyeb/api_async/models/deployment_scaling_target_average_mem.py +koyeb/api_async/models/deployment_scaling_target_concurrent_requests.py +koyeb/api_async/models/deployment_scaling_target_requests_per_second.py +koyeb/api_async/models/deployment_scaling_target_requests_response_time.py +koyeb/api_async/models/deployment_scaling_target_sleep_idle_delay.py +koyeb/api_async/models/deployment_status.py +koyeb/api_async/models/deployment_strategy.py +koyeb/api_async/models/deployment_strategy_type.py +koyeb/api_async/models/deployment_volume.py +koyeb/api_async/models/desired_deployment.py +koyeb/api_async/models/desired_deployment_group.py +koyeb/api_async/models/digital_ocean_registry_configuration.py +koyeb/api_async/models/discourse_auth_reply.py +koyeb/api_async/models/discourse_auth_request.py +koyeb/api_async/models/docker_builder.py +koyeb/api_async/models/docker_hub_registry_configuration.py +koyeb/api_async/models/docker_source.py +koyeb/api_async/models/domain.py +koyeb/api_async/models/domain_load_balancer_koyeb.py +koyeb/api_async/models/domain_load_balancer_quotas.py +koyeb/api_async/models/domain_status.py +koyeb/api_async/models/domain_type.py +koyeb/api_async/models/domains_summary.py +koyeb/api_async/models/env.py +koyeb/api_async/models/error.py +koyeb/api_async/models/error_field.py +koyeb/api_async/models/error_with_fields.py +koyeb/api_async/models/exec_command_io.py +koyeb/api_async/models/exec_command_reply.py +koyeb/api_async/models/exec_command_request_body.py +koyeb/api_async/models/exec_command_request_id_type.py +koyeb/api_async/models/exec_command_request_terminal_size.py +koyeb/api_async/models/gcp_container_registry_configuration.py +koyeb/api_async/models/get_app_reply.py +koyeb/api_async/models/get_budget_reply.py +koyeb/api_async/models/get_catalog_instance_reply.py +koyeb/api_async/models/get_credential_reply.py +koyeb/api_async/models/get_deployment_reply.py +koyeb/api_async/models/get_deployment_scaling_reply.py +koyeb/api_async/models/get_deployment_scaling_reply_item.py +koyeb/api_async/models/get_domain_reply.py +koyeb/api_async/models/get_github_installation_reply.py +koyeb/api_async/models/get_idenfy_token_reply.py +koyeb/api_async/models/get_instance_reply.py +koyeb/api_async/models/get_intercom_profile_reply.py +koyeb/api_async/models/get_metrics_reply.py +koyeb/api_async/models/get_metrics_reply_metric.py +koyeb/api_async/models/get_o_auth_options_reply.py +koyeb/api_async/models/get_organization_invitation_reply.py +koyeb/api_async/models/get_organization_reply.py +koyeb/api_async/models/get_organization_summary_reply.py +koyeb/api_async/models/get_organization_usage_details_reply.py +koyeb/api_async/models/get_organization_usage_reply.py +koyeb/api_async/models/get_payment_method_reply.py +koyeb/api_async/models/get_persistent_volume_reply.py +koyeb/api_async/models/get_project_reply.py +koyeb/api_async/models/get_quotas_reply.py +koyeb/api_async/models/get_region_reply.py +koyeb/api_async/models/get_regional_deployment_reply.py +koyeb/api_async/models/get_secret_reply.py +koyeb/api_async/models/get_service_reply.py +koyeb/api_async/models/get_service_scaling_reply.py +koyeb/api_async/models/get_snapshot_reply.py +koyeb/api_async/models/get_subscription_reply.py +koyeb/api_async/models/get_user_organization_invitation_reply.py +koyeb/api_async/models/get_user_settings_reply.py +koyeb/api_async/models/git_deployment_metadata.py +koyeb/api_async/models/git_env_deployment_metadata.py +koyeb/api_async/models/git_hub_registry_configuration.py +koyeb/api_async/models/git_lab_registry_configuration.py +koyeb/api_async/models/git_source.py +koyeb/api_async/models/github_installation_reply.py +koyeb/api_async/models/github_installation_request.py +koyeb/api_async/models/google_protobuf_any.py +koyeb/api_async/models/google_protobuf_null_value.py +koyeb/api_async/models/google_rpc_status.py +koyeb/api_async/models/has_unpaid_invoices_reply.py +koyeb/api_async/models/http_header.py +koyeb/api_async/models/http_health_check.py +koyeb/api_async/models/instance.py +koyeb/api_async/models/instance_availability.py +koyeb/api_async/models/instance_event.py +koyeb/api_async/models/instance_list_item.py +koyeb/api_async/models/instance_status.py +koyeb/api_async/models/instance_usage.py +koyeb/api_async/models/instances_summary.py +koyeb/api_async/models/invite_user_request.py +koyeb/api_async/models/kgitproxy_branch.py +koyeb/api_async/models/kgitproxy_git_hub_repository.py +koyeb/api_async/models/kgitproxy_github_installation_status.py +koyeb/api_async/models/kgitproxy_indexing_status.py +koyeb/api_async/models/kgitproxy_list_branches_reply.py +koyeb/api_async/models/kgitproxy_list_repositories_reply.py +koyeb/api_async/models/kgitproxy_repository.py +koyeb/api_async/models/kgitproxy_repository_provider.py +koyeb/api_async/models/ksearch_app.py +koyeb/api_async/models/ksearch_global_deployment.py +koyeb/api_async/models/ksearch_instance.py +koyeb/api_async/models/ksearch_organization.py +koyeb/api_async/models/ksearch_regional_deployment.py +koyeb/api_async/models/ksearch_search_reply.py +koyeb/api_async/models/ksearch_service.py +koyeb/api_async/models/ksearch_user.py +koyeb/api_async/models/ktest_test_auth_reply.py +koyeb/api_async/models/ktest_test_auth_request.py +koyeb/api_async/models/lifecycle_quotas.py +koyeb/api_async/models/list_app_events_reply.py +koyeb/api_async/models/list_apps_reply.py +koyeb/api_async/models/list_catalog_instances_reply.py +koyeb/api_async/models/list_credentials_reply.py +koyeb/api_async/models/list_datacenters_reply.py +koyeb/api_async/models/list_deployment_events_reply.py +koyeb/api_async/models/list_deployments_reply.py +koyeb/api_async/models/list_domains_reply.py +koyeb/api_async/models/list_instance_events_reply.py +koyeb/api_async/models/list_instances_reply.py +koyeb/api_async/models/list_organization_invitations_reply.py +koyeb/api_async/models/list_organization_members_reply.py +koyeb/api_async/models/list_payment_methods_reply.py +koyeb/api_async/models/list_persistent_volume_events_reply.py +koyeb/api_async/models/list_persistent_volumes_reply.py +koyeb/api_async/models/list_projects_reply.py +koyeb/api_async/models/list_regional_deployment_events_reply.py +koyeb/api_async/models/list_regional_deployments_reply.py +koyeb/api_async/models/list_regions_reply.py +koyeb/api_async/models/list_secrets_reply.py +koyeb/api_async/models/list_service_events_reply.py +koyeb/api_async/models/list_services_reply.py +koyeb/api_async/models/list_snapshots_reply.py +koyeb/api_async/models/list_usage_reply.py +koyeb/api_async/models/list_user_organization_invitations_reply.py +koyeb/api_async/models/list_user_organizations_reply.py +koyeb/api_async/models/log_entry.py +koyeb/api_async/models/login_method_reply.py +koyeb/api_async/models/login_method_reply_method.py +koyeb/api_async/models/login_reply.py +koyeb/api_async/models/login_request.py +koyeb/api_async/models/manage_reply.py +koyeb/api_async/models/manual_service_scaling.py +koyeb/api_async/models/members_summary.py +koyeb/api_async/models/metric_name.py +koyeb/api_async/models/neon_postgres_database.py +koyeb/api_async/models/neon_postgres_database_deployment_metadata.py +koyeb/api_async/models/neon_postgres_database_neon_database.py +koyeb/api_async/models/neon_postgres_database_neon_role.py +koyeb/api_async/models/neon_postgres_summary.py +koyeb/api_async/models/next_invoice_reply.py +koyeb/api_async/models/next_invoice_reply_discount.py +koyeb/api_async/models/next_invoice_reply_discount_type.py +koyeb/api_async/models/next_invoice_reply_line.py +koyeb/api_async/models/next_invoice_reply_line_period.py +koyeb/api_async/models/next_invoice_reply_line_price.py +koyeb/api_async/models/notification.py +koyeb/api_async/models/notification_list.py +koyeb/api_async/models/o_auth_callback_reply.py +koyeb/api_async/models/o_auth_callback_request.py +koyeb/api_async/models/o_auth_provider.py +koyeb/api_async/models/object.py +koyeb/api_async/models/organization.py +koyeb/api_async/models/organization_deactivation_reason.py +koyeb/api_async/models/organization_detailed_status.py +koyeb/api_async/models/organization_invitation.py +koyeb/api_async/models/organization_invitation_status.py +koyeb/api_async/models/organization_member.py +koyeb/api_async/models/organization_member_status.py +koyeb/api_async/models/organization_status.py +koyeb/api_async/models/organization_summary.py +koyeb/api_async/models/payment_method.py +koyeb/api_async/models/payment_method_status.py +koyeb/api_async/models/period_usage.py +koyeb/api_async/models/persistent_volume.py +koyeb/api_async/models/persistent_volume_backing_store.py +koyeb/api_async/models/persistent_volume_event.py +koyeb/api_async/models/persistent_volume_quotas.py +koyeb/api_async/models/persistent_volume_status.py +koyeb/api_async/models/plan.py +koyeb/api_async/models/port.py +koyeb/api_async/models/private_registry_configuration.py +koyeb/api_async/models/project.py +koyeb/api_async/models/proxy_port_protocol.py +koyeb/api_async/models/public_organization.py +koyeb/api_async/models/public_user.py +koyeb/api_async/models/query_logs_reply.py +koyeb/api_async/models/query_logs_reply_pagination.py +koyeb/api_async/models/quotas.py +koyeb/api_async/models/reactivate_organization_reply.py +koyeb/api_async/models/redeem_coupon_request.py +koyeb/api_async/models/redeploy_reply.py +koyeb/api_async/models/redeploy_request_info.py +koyeb/api_async/models/region.py +koyeb/api_async/models/region_availability.py +koyeb/api_async/models/region_list_item.py +koyeb/api_async/models/region_usage.py +koyeb/api_async/models/regional_deployment.py +koyeb/api_async/models/regional_deployment_definition.py +koyeb/api_async/models/regional_deployment_definition_type.py +koyeb/api_async/models/regional_deployment_event.py +koyeb/api_async/models/regional_deployment_list_item.py +koyeb/api_async/models/regional_deployment_mesh.py +koyeb/api_async/models/regional_deployment_role.py +koyeb/api_async/models/regional_deployment_status.py +koyeb/api_async/models/regional_deployment_volume.py +koyeb/api_async/models/remove_organization_member_reply.py +koyeb/api_async/models/resend_organization_invitation_reply.py +koyeb/api_async/models/reset_password_request.py +koyeb/api_async/models/reveal_secret_reply.py +koyeb/api_async/models/review_organization_capacity_reply.py +koyeb/api_async/models/review_organization_capacity_request.py +koyeb/api_async/models/route.py +koyeb/api_async/models/sample.py +koyeb/api_async/models/sandbox_metadata.py +koyeb/api_async/models/scale_to_zero_quotas.py +koyeb/api_async/models/scaling.py +koyeb/api_async/models/secret.py +koyeb/api_async/models/secret_type.py +koyeb/api_async/models/secrets_summary.py +koyeb/api_async/models/security_policies.py +koyeb/api_async/models/service.py +koyeb/api_async/models/service_event.py +koyeb/api_async/models/service_life_cycle.py +koyeb/api_async/models/service_list_item.py +koyeb/api_async/models/service_state.py +koyeb/api_async/models/service_status.py +koyeb/api_async/models/service_summary.py +koyeb/api_async/models/service_type.py +koyeb/api_async/models/service_usage.py +koyeb/api_async/models/snapshot.py +koyeb/api_async/models/snapshot_status.py +koyeb/api_async/models/snapshot_type.py +koyeb/api_async/models/stream_result_of_exec_command_reply.py +koyeb/api_async/models/stream_result_of_log_entry.py +koyeb/api_async/models/subscription.py +koyeb/api_async/models/subscription_payment_failure.py +koyeb/api_async/models/subscription_payment_failure_stripe_sdk.py +koyeb/api_async/models/subscription_status.py +koyeb/api_async/models/tcp_health_check.py +koyeb/api_async/models/token.py +koyeb/api_async/models/trigger_deployment_metadata.py +koyeb/api_async/models/trigger_deployment_metadata_actor_type.py +koyeb/api_async/models/trigger_deployment_metadata_trigger_type.py +koyeb/api_async/models/trigger_git_deployment_metadata.py +koyeb/api_async/models/trigger_git_deployment_metadata_provider.py +koyeb/api_async/models/update_app.py +koyeb/api_async/models/update_app_reply.py +koyeb/api_async/models/update_budget_reply.py +koyeb/api_async/models/update_budget_request.py +koyeb/api_async/models/update_credential_reply.py +koyeb/api_async/models/update_domain.py +koyeb/api_async/models/update_domain_reply.py +koyeb/api_async/models/update_organization_default_project_reply.py +koyeb/api_async/models/update_organization_default_project_request.py +koyeb/api_async/models/update_organization_name_reply.py +koyeb/api_async/models/update_organization_name_request.py +koyeb/api_async/models/update_organization_plan_reply.py +koyeb/api_async/models/update_organization_plan_request.py +koyeb/api_async/models/update_organization_reply.py +koyeb/api_async/models/update_password_request.py +koyeb/api_async/models/update_persistent_volume_reply.py +koyeb/api_async/models/update_persistent_volume_request.py +koyeb/api_async/models/update_project_reply.py +koyeb/api_async/models/update_secret_reply.py +koyeb/api_async/models/update_service.py +koyeb/api_async/models/update_service_reply.py +koyeb/api_async/models/update_service_scaling_request.py +koyeb/api_async/models/update_snapshot_reply.py +koyeb/api_async/models/update_snapshot_request.py +koyeb/api_async/models/update_user_request_user_update_body.py +koyeb/api_async/models/update_user_settings_reply.py +koyeb/api_async/models/update_user_settings_request.py +koyeb/api_async/models/upsert_signup_qualification_reply.py +koyeb/api_async/models/upsert_signup_qualification_request.py +koyeb/api_async/models/usage.py +koyeb/api_async/models/usage_details.py +koyeb/api_async/models/user.py +koyeb/api_async/models/user_flags.py +koyeb/api_async/models/user_reply.py +koyeb/api_async/models/user_role_role.py +koyeb/api_async/models/user_settings.py +koyeb/api_async/models/verify_docker_image_reply.py +koyeb/api_async/models/verify_docker_image_reply_err_code.py +koyeb/api_async/rest.py +koyeb/api_async/test/__init__.py +koyeb/api_async_README.md diff --git a/koyeb/api_async/.openapi-generator/VERSION b/koyeb/api_async/.openapi-generator/VERSION new file mode 100644 index 00000000..186c33c9 --- /dev/null +++ b/koyeb/api_async/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.24.0-SNAPSHOT diff --git a/koyeb/api_async/__init__.py b/koyeb/api_async/__init__.py new file mode 100644 index 00000000..c4ce5014 --- /dev/null +++ b/koyeb/api_async/__init__.py @@ -0,0 +1,902 @@ +# coding: utf-8 + +# flake8: noqa + +""" + 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. +""" # noqa: E501 + + +__version__ = "1.4.8" + +# Define package exports +__all__ = [ + "AppsApi", + "ArchivesApi", + "CatalogDatacentersApi", + "CatalogInstanceUsageApi", + "CatalogInstancesApi", + "CatalogRegionsApi", + "ComposeApi", + "CouponsApi", + "CredentialsApi", + "DeploymentsApi", + "DockerHelperApi", + "DomainsApi", + "InstancesApi", + "IntercomApi", + "LogsApi", + "MetricsApi", + "OrganizationConfirmationsApi", + "OrganizationInvitationsApi", + "OrganizationMembersApi", + "OrganizationQuotasApi", + "PaymentMethodsApi", + "PersistentVolumesApi", + "ProfileApi", + "ProjectsApi", + "ProvisioningApi", + "QuotasApi", + "RegionalDeploymentsApi", + "RepositoriesApi", + "SearchApi", + "SecretsApi", + "ServicesApi", + "SessionsApi", + "SnapshotsApi", + "SubscriptionsApi", + "SummaryApi", + "TestApi", + "UsagesApi", + "UsersApi", + "ActivityApi", + "BillingApi", + "InviteApi", + "OrganizationApi", + "SsoApi", + "ApiResponse", + "ApiClient", + "Configuration", + "OpenApiException", + "ApiTypeError", + "ApiValueError", + "ApiKeyError", + "ApiAttributeError", + "ApiException", + "AcceptOrganizationInvitationReply", + "Action", + "Activity", + "ActivityList", + "App", + "AppEvent", + "AppLifeCycle", + "AppListItem", + "AppStatus", + "AppUsage", + "AppsSummary", + "Archive", + "ArchiveDeploymentMetadata", + "ArchiveSource", + "AutoRelease", + "AutoReleaseGroup", + "AutocompleteReply", + "AutocompleteRequest", + "AvailabilityLevel", + "AzureContainerRegistryConfiguration", + "BasicAuthPolicy", + "Budget", + "BuildpackBuilder", + "CannyAuthReply", + "CatalogGPUDetails", + "CatalogInstance", + "CatalogInstanceListItem", + "CatalogUsage", + "CheckCouponReply", + "ClearIdenfyVerificationResultRequest", + "ComposeReply", + "ConfigFile", + "ConfirmPaymentAuthorizationReply", + "CreateAccessTokenReply", + "CreateAccessTokenRequest", + "CreateAccountRequest", + "CreateApp", + "CreateAppReply", + "CreateArchive", + "CreateArchiveReply", + "CreateBudgetReply", + "CreateCompose", + "CreateCredential", + "CreateCredentialReply", + "CreateDomain", + "CreateDomainReply", + "CreateOrganizationInvitationReply", + "CreateOrganizationInvitationRequest", + "CreateOrganizationReply", + "CreateOrganizationRequest", + "CreatePaymentAuthorizationReply", + "CreatePersistentVolumeReply", + "CreatePersistentVolumeRequest", + "CreateProject", + "CreateProjectReply", + "CreateSecret", + "CreateSecretReply", + "CreateService", + "CreateServiceReply", + "CreateSnapshotReply", + "CreateSnapshotRequest", + "CreateStageAttemptRequest", + "Credential", + "CredentialType", + "DatabaseDeploymentMetadata", + "DatabaseRolePassword", + "DatabaseSource", + "DatabaseUsage", + "DatabaseUsageDetails", + "DatacenterListItem", + "DeactivateOrganizationReply", + "DeactivateOrganizationRequest", + "DeclareStageProgressRequest", + "DeclareStepProgressRequest", + "DeclineOrganizationInvitationReply", + "DeleteOrganizationReply", + "DeletePersistentVolumeReply", + "DeleteSnapshotReply", + "DeleteUserReply", + "Deployment", + "DeploymentDatabaseInfo", + "DeploymentDefinition", + "DeploymentDefinitionType", + "DeploymentEnv", + "DeploymentEvent", + "DeploymentHealthCheck", + "DeploymentInstanceType", + "DeploymentListItem", + "DeploymentMesh", + "DeploymentMetadata", + "DeploymentNeonPostgresDatabaseInfo", + "DeploymentNeonPostgresDatabaseInfoRole", + "DeploymentPort", + "DeploymentProvisioningInfo", + "DeploymentProvisioningInfoStage", + "DeploymentProvisioningInfoStageBuildAttempt", + "DeploymentProvisioningInfoStageBuildAttemptBuildStep", + "DeploymentProvisioningInfoStageStatus", + "DeploymentProxyPort", + "DeploymentProxyPortMetadata", + "DeploymentRole", + "DeploymentRoute", + "DeploymentScaling", + "DeploymentScalingTarget", + "DeploymentScalingTargetAverageCPU", + "DeploymentScalingTargetAverageMem", + "DeploymentScalingTargetConcurrentRequests", + "DeploymentScalingTargetRequestsPerSecond", + "DeploymentScalingTargetRequestsResponseTime", + "DeploymentScalingTargetSleepIdleDelay", + "DeploymentStatus", + "DeploymentStrategy", + "DeploymentStrategyType", + "DeploymentVolume", + "DesiredDeployment", + "DesiredDeploymentGroup", + "DigitalOceanRegistryConfiguration", + "DiscourseAuthReply", + "DiscourseAuthRequest", + "DockerBuilder", + "DockerHubRegistryConfiguration", + "DockerSource", + "Domain", + "DomainLoadBalancerKoyeb", + "DomainLoadBalancerQuotas", + "DomainStatus", + "DomainType", + "DomainsSummary", + "Env", + "Error", + "ErrorField", + "ErrorWithFields", + "ExecCommandIO", + "ExecCommandReply", + "ExecCommandRequestBody", + "ExecCommandRequestIdType", + "ExecCommandRequestTerminalSize", + "GCPContainerRegistryConfiguration", + "GetAppReply", + "GetBudgetReply", + "GetCatalogInstanceReply", + "GetCredentialReply", + "GetDeploymentReply", + "GetDeploymentScalingReply", + "GetDeploymentScalingReplyItem", + "GetDomainReply", + "GetGithubInstallationReply", + "GetIdenfyTokenReply", + "GetInstanceReply", + "GetIntercomProfileReply", + "GetMetricsReply", + "GetMetricsReplyMetric", + "GetOAuthOptionsReply", + "GetOrganizationInvitationReply", + "GetOrganizationReply", + "GetOrganizationSummaryReply", + "GetOrganizationUsageDetailsReply", + "GetOrganizationUsageReply", + "GetPaymentMethodReply", + "GetPersistentVolumeReply", + "GetProjectReply", + "GetQuotasReply", + "GetRegionReply", + "GetRegionalDeploymentReply", + "GetSecretReply", + "GetServiceReply", + "GetServiceScalingReply", + "GetSnapshotReply", + "GetSubscriptionReply", + "GetUserOrganizationInvitationReply", + "GetUserSettingsReply", + "GitDeploymentMetadata", + "GitEnvDeploymentMetadata", + "GitHubRegistryConfiguration", + "GitLabRegistryConfiguration", + "GitSource", + "GithubInstallationReply", + "GithubInstallationRequest", + "GoogleProtobufAny", + "GoogleProtobufNullValue", + "GoogleRpcStatus", + "HTTPHeader", + "HTTPHealthCheck", + "HasUnpaidInvoicesReply", + "Instance", + "InstanceAvailability", + "InstanceEvent", + "InstanceListItem", + "InstanceStatus", + "InstanceUsage", + "InstancesSummary", + "InviteUserRequest", + "KgitproxyBranch", + "KgitproxyGitHubRepository", + "KgitproxyGithubInstallationStatus", + "KgitproxyIndexingStatus", + "KgitproxyListBranchesReply", + "KgitproxyListRepositoriesReply", + "KgitproxyRepository", + "KgitproxyRepositoryProvider", + "KsearchApp", + "KsearchGlobalDeployment", + "KsearchInstance", + "KsearchOrganization", + "KsearchRegionalDeployment", + "KsearchSearchReply", + "KsearchService", + "KsearchUser", + "KtestTestAuthReply", + "KtestTestAuthRequest", + "LifecycleQuotas", + "ListAppEventsReply", + "ListAppsReply", + "ListCatalogInstancesReply", + "ListCredentialsReply", + "ListDatacentersReply", + "ListDeploymentEventsReply", + "ListDeploymentsReply", + "ListDomainsReply", + "ListInstanceEventsReply", + "ListInstancesReply", + "ListOrganizationInvitationsReply", + "ListOrganizationMembersReply", + "ListPaymentMethodsReply", + "ListPersistentVolumeEventsReply", + "ListPersistentVolumesReply", + "ListProjectsReply", + "ListRegionalDeploymentEventsReply", + "ListRegionalDeploymentsReply", + "ListRegionsReply", + "ListSecretsReply", + "ListServiceEventsReply", + "ListServicesReply", + "ListSnapshotsReply", + "ListUsageReply", + "ListUserOrganizationInvitationsReply", + "ListUserOrganizationsReply", + "LogEntry", + "LoginMethodReply", + "LoginMethodReplyMethod", + "LoginReply", + "LoginRequest", + "ManageReply", + "ManualServiceScaling", + "MembersSummary", + "MetricName", + "NeonPostgresDatabase", + "NeonPostgresDatabaseDeploymentMetadata", + "NeonPostgresDatabaseNeonDatabase", + "NeonPostgresDatabaseNeonRole", + "NeonPostgresSummary", + "NextInvoiceReply", + "NextInvoiceReplyDiscount", + "NextInvoiceReplyDiscountType", + "NextInvoiceReplyLine", + "NextInvoiceReplyLinePeriod", + "NextInvoiceReplyLinePrice", + "Notification", + "NotificationList", + "OAuthCallbackReply", + "OAuthCallbackRequest", + "OAuthProvider", + "Object", + "Organization", + "OrganizationDeactivationReason", + "OrganizationDetailedStatus", + "OrganizationInvitation", + "OrganizationInvitationStatus", + "OrganizationMember", + "OrganizationMemberStatus", + "OrganizationStatus", + "OrganizationSummary", + "PaymentMethod", + "PaymentMethodStatus", + "PeriodUsage", + "PersistentVolume", + "PersistentVolumeBackingStore", + "PersistentVolumeEvent", + "PersistentVolumeQuotas", + "PersistentVolumeStatus", + "Plan", + "Port", + "PrivateRegistryConfiguration", + "Project", + "ProxyPortProtocol", + "PublicOrganization", + "PublicUser", + "QueryLogsReply", + "QueryLogsReplyPagination", + "Quotas", + "ReactivateOrganizationReply", + "RedeemCouponRequest", + "RedeployReply", + "RedeployRequestInfo", + "Region", + "RegionAvailability", + "RegionListItem", + "RegionUsage", + "RegionalDeployment", + "RegionalDeploymentDefinition", + "RegionalDeploymentDefinitionType", + "RegionalDeploymentEvent", + "RegionalDeploymentListItem", + "RegionalDeploymentMesh", + "RegionalDeploymentRole", + "RegionalDeploymentStatus", + "RegionalDeploymentVolume", + "RemoveOrganizationMemberReply", + "ResendOrganizationInvitationReply", + "ResetPasswordRequest", + "RevealSecretReply", + "ReviewOrganizationCapacityReply", + "ReviewOrganizationCapacityRequest", + "Route", + "Sample", + "SandboxMetadata", + "ScaleToZeroQuotas", + "Scaling", + "Secret", + "SecretType", + "SecretsSummary", + "SecurityPolicies", + "Service", + "ServiceEvent", + "ServiceLifeCycle", + "ServiceListItem", + "ServiceState", + "ServiceStatus", + "ServiceSummary", + "ServiceType", + "ServiceUsage", + "Snapshot", + "SnapshotStatus", + "SnapshotType", + "StreamResultOfExecCommandReply", + "StreamResultOfLogEntry", + "Subscription", + "SubscriptionPaymentFailure", + "SubscriptionPaymentFailureStripeSDK", + "SubscriptionStatus", + "TCPHealthCheck", + "Token", + "TriggerDeploymentMetadata", + "TriggerDeploymentMetadataActorType", + "TriggerDeploymentMetadataTriggerType", + "TriggerGitDeploymentMetadata", + "TriggerGitDeploymentMetadataProvider", + "UpdateApp", + "UpdateAppReply", + "UpdateBudgetReply", + "UpdateBudgetRequest", + "UpdateCredentialReply", + "UpdateDomain", + "UpdateDomainReply", + "UpdateOrganizationDefaultProjectReply", + "UpdateOrganizationDefaultProjectRequest", + "UpdateOrganizationNameReply", + "UpdateOrganizationNameRequest", + "UpdateOrganizationPlanReply", + "UpdateOrganizationPlanRequest", + "UpdateOrganizationReply", + "UpdatePasswordRequest", + "UpdatePersistentVolumeReply", + "UpdatePersistentVolumeRequest", + "UpdateProjectReply", + "UpdateSecretReply", + "UpdateService", + "UpdateServiceReply", + "UpdateServiceScalingRequest", + "UpdateSnapshotReply", + "UpdateSnapshotRequest", + "UpdateUserRequestUserUpdateBody", + "UpdateUserSettingsReply", + "UpdateUserSettingsRequest", + "UpsertSignupQualificationReply", + "UpsertSignupQualificationRequest", + "Usage", + "UsageDetails", + "User", + "UserFlags", + "UserReply", + "UserRoleRole", + "UserSettings", + "VerifyDockerImageReply", + "VerifyDockerImageReplyErrCode", +] + +# import apis into sdk package +from koyeb.api_async.api.apps_api import AppsApi as AppsApi +from koyeb.api_async.api.archives_api import ArchivesApi as ArchivesApi +from koyeb.api_async.api.catalog_datacenters_api import CatalogDatacentersApi as CatalogDatacentersApi +from koyeb.api_async.api.catalog_instance_usage_api import CatalogInstanceUsageApi as CatalogInstanceUsageApi +from koyeb.api_async.api.catalog_instances_api import CatalogInstancesApi as CatalogInstancesApi +from koyeb.api_async.api.catalog_regions_api import CatalogRegionsApi as CatalogRegionsApi +from koyeb.api_async.api.compose_api import ComposeApi as ComposeApi +from koyeb.api_async.api.coupons_api import CouponsApi as CouponsApi +from koyeb.api_async.api.credentials_api import CredentialsApi as CredentialsApi +from koyeb.api_async.api.deployments_api import DeploymentsApi as DeploymentsApi +from koyeb.api_async.api.docker_helper_api import DockerHelperApi as DockerHelperApi +from koyeb.api_async.api.domains_api import DomainsApi as DomainsApi +from koyeb.api_async.api.instances_api import InstancesApi as InstancesApi +from koyeb.api_async.api.intercom_api import IntercomApi as IntercomApi +from koyeb.api_async.api.logs_api import LogsApi as LogsApi +from koyeb.api_async.api.metrics_api import MetricsApi as MetricsApi +from koyeb.api_async.api.organization_confirmations_api import OrganizationConfirmationsApi as OrganizationConfirmationsApi +from koyeb.api_async.api.organization_invitations_api import OrganizationInvitationsApi as OrganizationInvitationsApi +from koyeb.api_async.api.organization_members_api import OrganizationMembersApi as OrganizationMembersApi +from koyeb.api_async.api.organization_quotas_api import OrganizationQuotasApi as OrganizationQuotasApi +from koyeb.api_async.api.payment_methods_api import PaymentMethodsApi as PaymentMethodsApi +from koyeb.api_async.api.persistent_volumes_api import PersistentVolumesApi as PersistentVolumesApi +from koyeb.api_async.api.profile_api import ProfileApi as ProfileApi +from koyeb.api_async.api.projects_api import ProjectsApi as ProjectsApi +from koyeb.api_async.api.provisioning_api import ProvisioningApi as ProvisioningApi +from koyeb.api_async.api.quotas_api import QuotasApi as QuotasApi +from koyeb.api_async.api.regional_deployments_api import RegionalDeploymentsApi as RegionalDeploymentsApi +from koyeb.api_async.api.repositories_api import RepositoriesApi as RepositoriesApi +from koyeb.api_async.api.search_api import SearchApi as SearchApi +from koyeb.api_async.api.secrets_api import SecretsApi as SecretsApi +from koyeb.api_async.api.services_api import ServicesApi as ServicesApi +from koyeb.api_async.api.sessions_api import SessionsApi as SessionsApi +from koyeb.api_async.api.snapshots_api import SnapshotsApi as SnapshotsApi +from koyeb.api_async.api.subscriptions_api import SubscriptionsApi as SubscriptionsApi +from koyeb.api_async.api.summary_api import SummaryApi as SummaryApi +from koyeb.api_async.api.test_api import TestApi as TestApi +from koyeb.api_async.api.usages_api import UsagesApi as UsagesApi +from koyeb.api_async.api.users_api import UsersApi as UsersApi +from koyeb.api_async.api.activity_api import ActivityApi as ActivityApi +from koyeb.api_async.api.billing_api import BillingApi as BillingApi +from koyeb.api_async.api.invite_api import InviteApi as InviteApi +from koyeb.api_async.api.organization_api import OrganizationApi as OrganizationApi +from koyeb.api_async.api.sso_api import SsoApi as SsoApi + +# import ApiClient +from koyeb.api_async.api_response import ApiResponse as ApiResponse +from koyeb.api_async.api_client import ApiClient as ApiClient +from koyeb.api_async.configuration import Configuration as Configuration +from koyeb.api_async.exceptions import OpenApiException as OpenApiException +from koyeb.api_async.exceptions import ApiTypeError as ApiTypeError +from koyeb.api_async.exceptions import ApiValueError as ApiValueError +from koyeb.api_async.exceptions import ApiKeyError as ApiKeyError +from koyeb.api_async.exceptions import ApiAttributeError as ApiAttributeError +from koyeb.api_async.exceptions import ApiException as ApiException + +# import models into sdk package +from koyeb.api_async.models.accept_organization_invitation_reply import AcceptOrganizationInvitationReply as AcceptOrganizationInvitationReply +from koyeb.api_async.models.action import Action as Action +from koyeb.api_async.models.activity import Activity as Activity +from koyeb.api_async.models.activity_list import ActivityList as ActivityList +from koyeb.api_async.models.app import App as App +from koyeb.api_async.models.app_event import AppEvent as AppEvent +from koyeb.api_async.models.app_life_cycle import AppLifeCycle as AppLifeCycle +from koyeb.api_async.models.app_list_item import AppListItem as AppListItem +from koyeb.api_async.models.app_status import AppStatus as AppStatus +from koyeb.api_async.models.app_usage import AppUsage as AppUsage +from koyeb.api_async.models.apps_summary import AppsSummary as AppsSummary +from koyeb.api_async.models.archive import Archive as Archive +from koyeb.api_async.models.archive_deployment_metadata import ArchiveDeploymentMetadata as ArchiveDeploymentMetadata +from koyeb.api_async.models.archive_source import ArchiveSource as ArchiveSource +from koyeb.api_async.models.auto_release import AutoRelease as AutoRelease +from koyeb.api_async.models.auto_release_group import AutoReleaseGroup as AutoReleaseGroup +from koyeb.api_async.models.autocomplete_reply import AutocompleteReply as AutocompleteReply +from koyeb.api_async.models.autocomplete_request import AutocompleteRequest as AutocompleteRequest +from koyeb.api_async.models.availability_level import AvailabilityLevel as AvailabilityLevel +from koyeb.api_async.models.azure_container_registry_configuration import AzureContainerRegistryConfiguration as AzureContainerRegistryConfiguration +from koyeb.api_async.models.basic_auth_policy import BasicAuthPolicy as BasicAuthPolicy +from koyeb.api_async.models.budget import Budget as Budget +from koyeb.api_async.models.buildpack_builder import BuildpackBuilder as BuildpackBuilder +from koyeb.api_async.models.canny_auth_reply import CannyAuthReply as CannyAuthReply +from koyeb.api_async.models.catalog_gpu_details import CatalogGPUDetails as CatalogGPUDetails +from koyeb.api_async.models.catalog_instance import CatalogInstance as CatalogInstance +from koyeb.api_async.models.catalog_instance_list_item import CatalogInstanceListItem as CatalogInstanceListItem +from koyeb.api_async.models.catalog_usage import CatalogUsage as CatalogUsage +from koyeb.api_async.models.check_coupon_reply import CheckCouponReply as CheckCouponReply +from koyeb.api_async.models.clear_idenfy_verification_result_request import ClearIdenfyVerificationResultRequest as ClearIdenfyVerificationResultRequest +from koyeb.api_async.models.compose_reply import ComposeReply as ComposeReply +from koyeb.api_async.models.config_file import ConfigFile as ConfigFile +from koyeb.api_async.models.confirm_payment_authorization_reply import ConfirmPaymentAuthorizationReply as ConfirmPaymentAuthorizationReply +from koyeb.api_async.models.create_access_token_reply import CreateAccessTokenReply as CreateAccessTokenReply +from koyeb.api_async.models.create_access_token_request import CreateAccessTokenRequest as CreateAccessTokenRequest +from koyeb.api_async.models.create_account_request import CreateAccountRequest as CreateAccountRequest +from koyeb.api_async.models.create_app import CreateApp as CreateApp +from koyeb.api_async.models.create_app_reply import CreateAppReply as CreateAppReply +from koyeb.api_async.models.create_archive import CreateArchive as CreateArchive +from koyeb.api_async.models.create_archive_reply import CreateArchiveReply as CreateArchiveReply +from koyeb.api_async.models.create_budget_reply import CreateBudgetReply as CreateBudgetReply +from koyeb.api_async.models.create_compose import CreateCompose as CreateCompose +from koyeb.api_async.models.create_credential import CreateCredential as CreateCredential +from koyeb.api_async.models.create_credential_reply import CreateCredentialReply as CreateCredentialReply +from koyeb.api_async.models.create_domain import CreateDomain as CreateDomain +from koyeb.api_async.models.create_domain_reply import CreateDomainReply as CreateDomainReply +from koyeb.api_async.models.create_organization_invitation_reply import CreateOrganizationInvitationReply as CreateOrganizationInvitationReply +from koyeb.api_async.models.create_organization_invitation_request import CreateOrganizationInvitationRequest as CreateOrganizationInvitationRequest +from koyeb.api_async.models.create_organization_reply import CreateOrganizationReply as CreateOrganizationReply +from koyeb.api_async.models.create_organization_request import CreateOrganizationRequest as CreateOrganizationRequest +from koyeb.api_async.models.create_payment_authorization_reply import CreatePaymentAuthorizationReply as CreatePaymentAuthorizationReply +from koyeb.api_async.models.create_persistent_volume_reply import CreatePersistentVolumeReply as CreatePersistentVolumeReply +from koyeb.api_async.models.create_persistent_volume_request import CreatePersistentVolumeRequest as CreatePersistentVolumeRequest +from koyeb.api_async.models.create_project import CreateProject as CreateProject +from koyeb.api_async.models.create_project_reply import CreateProjectReply as CreateProjectReply +from koyeb.api_async.models.create_secret import CreateSecret as CreateSecret +from koyeb.api_async.models.create_secret_reply import CreateSecretReply as CreateSecretReply +from koyeb.api_async.models.create_service import CreateService as CreateService +from koyeb.api_async.models.create_service_reply import CreateServiceReply as CreateServiceReply +from koyeb.api_async.models.create_snapshot_reply import CreateSnapshotReply as CreateSnapshotReply +from koyeb.api_async.models.create_snapshot_request import CreateSnapshotRequest as CreateSnapshotRequest +from koyeb.api_async.models.create_stage_attempt_request import CreateStageAttemptRequest as CreateStageAttemptRequest +from koyeb.api_async.models.credential import Credential as Credential +from koyeb.api_async.models.credential_type import CredentialType as CredentialType +from koyeb.api_async.models.database_deployment_metadata import DatabaseDeploymentMetadata as DatabaseDeploymentMetadata +from koyeb.api_async.models.database_role_password import DatabaseRolePassword as DatabaseRolePassword +from koyeb.api_async.models.database_source import DatabaseSource as DatabaseSource +from koyeb.api_async.models.database_usage import DatabaseUsage as DatabaseUsage +from koyeb.api_async.models.database_usage_details import DatabaseUsageDetails as DatabaseUsageDetails +from koyeb.api_async.models.datacenter_list_item import DatacenterListItem as DatacenterListItem +from koyeb.api_async.models.deactivate_organization_reply import DeactivateOrganizationReply as DeactivateOrganizationReply +from koyeb.api_async.models.deactivate_organization_request import DeactivateOrganizationRequest as DeactivateOrganizationRequest +from koyeb.api_async.models.declare_stage_progress_request import DeclareStageProgressRequest as DeclareStageProgressRequest +from koyeb.api_async.models.declare_step_progress_request import DeclareStepProgressRequest as DeclareStepProgressRequest +from koyeb.api_async.models.decline_organization_invitation_reply import DeclineOrganizationInvitationReply as DeclineOrganizationInvitationReply +from koyeb.api_async.models.delete_organization_reply import DeleteOrganizationReply as DeleteOrganizationReply +from koyeb.api_async.models.delete_persistent_volume_reply import DeletePersistentVolumeReply as DeletePersistentVolumeReply +from koyeb.api_async.models.delete_snapshot_reply import DeleteSnapshotReply as DeleteSnapshotReply +from koyeb.api_async.models.delete_user_reply import DeleteUserReply as DeleteUserReply +from koyeb.api_async.models.deployment import Deployment as Deployment +from koyeb.api_async.models.deployment_database_info import DeploymentDatabaseInfo as DeploymentDatabaseInfo +from koyeb.api_async.models.deployment_definition import DeploymentDefinition as DeploymentDefinition +from koyeb.api_async.models.deployment_definition_type import DeploymentDefinitionType as DeploymentDefinitionType +from koyeb.api_async.models.deployment_env import DeploymentEnv as DeploymentEnv +from koyeb.api_async.models.deployment_event import DeploymentEvent as DeploymentEvent +from koyeb.api_async.models.deployment_health_check import DeploymentHealthCheck as DeploymentHealthCheck +from koyeb.api_async.models.deployment_instance_type import DeploymentInstanceType as DeploymentInstanceType +from koyeb.api_async.models.deployment_list_item import DeploymentListItem as DeploymentListItem +from koyeb.api_async.models.deployment_mesh import DeploymentMesh as DeploymentMesh +from koyeb.api_async.models.deployment_metadata import DeploymentMetadata as DeploymentMetadata +from koyeb.api_async.models.deployment_neon_postgres_database_info import DeploymentNeonPostgresDatabaseInfo as DeploymentNeonPostgresDatabaseInfo +from koyeb.api_async.models.deployment_neon_postgres_database_info_role import DeploymentNeonPostgresDatabaseInfoRole as DeploymentNeonPostgresDatabaseInfoRole +from koyeb.api_async.models.deployment_port import DeploymentPort as DeploymentPort +from koyeb.api_async.models.deployment_provisioning_info import DeploymentProvisioningInfo as DeploymentProvisioningInfo +from koyeb.api_async.models.deployment_provisioning_info_stage import DeploymentProvisioningInfoStage as DeploymentProvisioningInfoStage +from koyeb.api_async.models.deployment_provisioning_info_stage_build_attempt import DeploymentProvisioningInfoStageBuildAttempt as DeploymentProvisioningInfoStageBuildAttempt +from koyeb.api_async.models.deployment_provisioning_info_stage_build_attempt_build_step import DeploymentProvisioningInfoStageBuildAttemptBuildStep as DeploymentProvisioningInfoStageBuildAttemptBuildStep +from koyeb.api_async.models.deployment_provisioning_info_stage_status import DeploymentProvisioningInfoStageStatus as DeploymentProvisioningInfoStageStatus +from koyeb.api_async.models.deployment_proxy_port import DeploymentProxyPort as DeploymentProxyPort +from koyeb.api_async.models.deployment_proxy_port_metadata import DeploymentProxyPortMetadata as DeploymentProxyPortMetadata +from koyeb.api_async.models.deployment_role import DeploymentRole as DeploymentRole +from koyeb.api_async.models.deployment_route import DeploymentRoute as DeploymentRoute +from koyeb.api_async.models.deployment_scaling import DeploymentScaling as DeploymentScaling +from koyeb.api_async.models.deployment_scaling_target import DeploymentScalingTarget as DeploymentScalingTarget +from koyeb.api_async.models.deployment_scaling_target_average_cpu import DeploymentScalingTargetAverageCPU as DeploymentScalingTargetAverageCPU +from koyeb.api_async.models.deployment_scaling_target_average_mem import DeploymentScalingTargetAverageMem as DeploymentScalingTargetAverageMem +from koyeb.api_async.models.deployment_scaling_target_concurrent_requests import DeploymentScalingTargetConcurrentRequests as DeploymentScalingTargetConcurrentRequests +from koyeb.api_async.models.deployment_scaling_target_requests_per_second import DeploymentScalingTargetRequestsPerSecond as DeploymentScalingTargetRequestsPerSecond +from koyeb.api_async.models.deployment_scaling_target_requests_response_time import DeploymentScalingTargetRequestsResponseTime as DeploymentScalingTargetRequestsResponseTime +from koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay import DeploymentScalingTargetSleepIdleDelay as DeploymentScalingTargetSleepIdleDelay +from koyeb.api_async.models.deployment_status import DeploymentStatus as DeploymentStatus +from koyeb.api_async.models.deployment_strategy import DeploymentStrategy as DeploymentStrategy +from koyeb.api_async.models.deployment_strategy_type import DeploymentStrategyType as DeploymentStrategyType +from koyeb.api_async.models.deployment_volume import DeploymentVolume as DeploymentVolume +from koyeb.api_async.models.desired_deployment import DesiredDeployment as DesiredDeployment +from koyeb.api_async.models.desired_deployment_group import DesiredDeploymentGroup as DesiredDeploymentGroup +from koyeb.api_async.models.digital_ocean_registry_configuration import DigitalOceanRegistryConfiguration as DigitalOceanRegistryConfiguration +from koyeb.api_async.models.discourse_auth_reply import DiscourseAuthReply as DiscourseAuthReply +from koyeb.api_async.models.discourse_auth_request import DiscourseAuthRequest as DiscourseAuthRequest +from koyeb.api_async.models.docker_builder import DockerBuilder as DockerBuilder +from koyeb.api_async.models.docker_hub_registry_configuration import DockerHubRegistryConfiguration as DockerHubRegistryConfiguration +from koyeb.api_async.models.docker_source import DockerSource as DockerSource +from koyeb.api_async.models.domain import Domain as Domain +from koyeb.api_async.models.domain_load_balancer_koyeb import DomainLoadBalancerKoyeb as DomainLoadBalancerKoyeb +from koyeb.api_async.models.domain_load_balancer_quotas import DomainLoadBalancerQuotas as DomainLoadBalancerQuotas +from koyeb.api_async.models.domain_status import DomainStatus as DomainStatus +from koyeb.api_async.models.domain_type import DomainType as DomainType +from koyeb.api_async.models.domains_summary import DomainsSummary as DomainsSummary +from koyeb.api_async.models.env import Env as Env +from koyeb.api_async.models.error import Error as Error +from koyeb.api_async.models.error_field import ErrorField as ErrorField +from koyeb.api_async.models.error_with_fields import ErrorWithFields as ErrorWithFields +from koyeb.api_async.models.exec_command_io import ExecCommandIO as ExecCommandIO +from koyeb.api_async.models.exec_command_reply import ExecCommandReply as ExecCommandReply +from koyeb.api_async.models.exec_command_request_body import ExecCommandRequestBody as ExecCommandRequestBody +from koyeb.api_async.models.exec_command_request_id_type import ExecCommandRequestIdType as ExecCommandRequestIdType +from koyeb.api_async.models.exec_command_request_terminal_size import ExecCommandRequestTerminalSize as ExecCommandRequestTerminalSize +from koyeb.api_async.models.gcp_container_registry_configuration import GCPContainerRegistryConfiguration as GCPContainerRegistryConfiguration +from koyeb.api_async.models.get_app_reply import GetAppReply as GetAppReply +from koyeb.api_async.models.get_budget_reply import GetBudgetReply as GetBudgetReply +from koyeb.api_async.models.get_catalog_instance_reply import GetCatalogInstanceReply as GetCatalogInstanceReply +from koyeb.api_async.models.get_credential_reply import GetCredentialReply as GetCredentialReply +from koyeb.api_async.models.get_deployment_reply import GetDeploymentReply as GetDeploymentReply +from koyeb.api_async.models.get_deployment_scaling_reply import GetDeploymentScalingReply as GetDeploymentScalingReply +from koyeb.api_async.models.get_deployment_scaling_reply_item import GetDeploymentScalingReplyItem as GetDeploymentScalingReplyItem +from koyeb.api_async.models.get_domain_reply import GetDomainReply as GetDomainReply +from koyeb.api_async.models.get_github_installation_reply import GetGithubInstallationReply as GetGithubInstallationReply +from koyeb.api_async.models.get_idenfy_token_reply import GetIdenfyTokenReply as GetIdenfyTokenReply +from koyeb.api_async.models.get_instance_reply import GetInstanceReply as GetInstanceReply +from koyeb.api_async.models.get_intercom_profile_reply import GetIntercomProfileReply as GetIntercomProfileReply +from koyeb.api_async.models.get_metrics_reply import GetMetricsReply as GetMetricsReply +from koyeb.api_async.models.get_metrics_reply_metric import GetMetricsReplyMetric as GetMetricsReplyMetric +from koyeb.api_async.models.get_o_auth_options_reply import GetOAuthOptionsReply as GetOAuthOptionsReply +from koyeb.api_async.models.get_organization_invitation_reply import GetOrganizationInvitationReply as GetOrganizationInvitationReply +from koyeb.api_async.models.get_organization_reply import GetOrganizationReply as GetOrganizationReply +from koyeb.api_async.models.get_organization_summary_reply import GetOrganizationSummaryReply as GetOrganizationSummaryReply +from koyeb.api_async.models.get_organization_usage_details_reply import GetOrganizationUsageDetailsReply as GetOrganizationUsageDetailsReply +from koyeb.api_async.models.get_organization_usage_reply import GetOrganizationUsageReply as GetOrganizationUsageReply +from koyeb.api_async.models.get_payment_method_reply import GetPaymentMethodReply as GetPaymentMethodReply +from koyeb.api_async.models.get_persistent_volume_reply import GetPersistentVolumeReply as GetPersistentVolumeReply +from koyeb.api_async.models.get_project_reply import GetProjectReply as GetProjectReply +from koyeb.api_async.models.get_quotas_reply import GetQuotasReply as GetQuotasReply +from koyeb.api_async.models.get_region_reply import GetRegionReply as GetRegionReply +from koyeb.api_async.models.get_regional_deployment_reply import GetRegionalDeploymentReply as GetRegionalDeploymentReply +from koyeb.api_async.models.get_secret_reply import GetSecretReply as GetSecretReply +from koyeb.api_async.models.get_service_reply import GetServiceReply as GetServiceReply +from koyeb.api_async.models.get_service_scaling_reply import GetServiceScalingReply as GetServiceScalingReply +from koyeb.api_async.models.get_snapshot_reply import GetSnapshotReply as GetSnapshotReply +from koyeb.api_async.models.get_subscription_reply import GetSubscriptionReply as GetSubscriptionReply +from koyeb.api_async.models.get_user_organization_invitation_reply import GetUserOrganizationInvitationReply as GetUserOrganizationInvitationReply +from koyeb.api_async.models.get_user_settings_reply import GetUserSettingsReply as GetUserSettingsReply +from koyeb.api_async.models.git_deployment_metadata import GitDeploymentMetadata as GitDeploymentMetadata +from koyeb.api_async.models.git_env_deployment_metadata import GitEnvDeploymentMetadata as GitEnvDeploymentMetadata +from koyeb.api_async.models.git_hub_registry_configuration import GitHubRegistryConfiguration as GitHubRegistryConfiguration +from koyeb.api_async.models.git_lab_registry_configuration import GitLabRegistryConfiguration as GitLabRegistryConfiguration +from koyeb.api_async.models.git_source import GitSource as GitSource +from koyeb.api_async.models.github_installation_reply import GithubInstallationReply as GithubInstallationReply +from koyeb.api_async.models.github_installation_request import GithubInstallationRequest as GithubInstallationRequest +from koyeb.api_async.models.google_protobuf_any import GoogleProtobufAny as GoogleProtobufAny +from koyeb.api_async.models.google_protobuf_null_value import GoogleProtobufNullValue as GoogleProtobufNullValue +from koyeb.api_async.models.google_rpc_status import GoogleRpcStatus as GoogleRpcStatus +from koyeb.api_async.models.http_header import HTTPHeader as HTTPHeader +from koyeb.api_async.models.http_health_check import HTTPHealthCheck as HTTPHealthCheck +from koyeb.api_async.models.has_unpaid_invoices_reply import HasUnpaidInvoicesReply as HasUnpaidInvoicesReply +from koyeb.api_async.models.instance import Instance as Instance +from koyeb.api_async.models.instance_availability import InstanceAvailability as InstanceAvailability +from koyeb.api_async.models.instance_event import InstanceEvent as InstanceEvent +from koyeb.api_async.models.instance_list_item import InstanceListItem as InstanceListItem +from koyeb.api_async.models.instance_status import InstanceStatus as InstanceStatus +from koyeb.api_async.models.instance_usage import InstanceUsage as InstanceUsage +from koyeb.api_async.models.instances_summary import InstancesSummary as InstancesSummary +from koyeb.api_async.models.invite_user_request import InviteUserRequest as InviteUserRequest +from koyeb.api_async.models.kgitproxy_branch import KgitproxyBranch as KgitproxyBranch +from koyeb.api_async.models.kgitproxy_git_hub_repository import KgitproxyGitHubRepository as KgitproxyGitHubRepository +from koyeb.api_async.models.kgitproxy_github_installation_status import KgitproxyGithubInstallationStatus as KgitproxyGithubInstallationStatus +from koyeb.api_async.models.kgitproxy_indexing_status import KgitproxyIndexingStatus as KgitproxyIndexingStatus +from koyeb.api_async.models.kgitproxy_list_branches_reply import KgitproxyListBranchesReply as KgitproxyListBranchesReply +from koyeb.api_async.models.kgitproxy_list_repositories_reply import KgitproxyListRepositoriesReply as KgitproxyListRepositoriesReply +from koyeb.api_async.models.kgitproxy_repository import KgitproxyRepository as KgitproxyRepository +from koyeb.api_async.models.kgitproxy_repository_provider import KgitproxyRepositoryProvider as KgitproxyRepositoryProvider +from koyeb.api_async.models.ksearch_app import KsearchApp as KsearchApp +from koyeb.api_async.models.ksearch_global_deployment import KsearchGlobalDeployment as KsearchGlobalDeployment +from koyeb.api_async.models.ksearch_instance import KsearchInstance as KsearchInstance +from koyeb.api_async.models.ksearch_organization import KsearchOrganization as KsearchOrganization +from koyeb.api_async.models.ksearch_regional_deployment import KsearchRegionalDeployment as KsearchRegionalDeployment +from koyeb.api_async.models.ksearch_search_reply import KsearchSearchReply as KsearchSearchReply +from koyeb.api_async.models.ksearch_service import KsearchService as KsearchService +from koyeb.api_async.models.ksearch_user import KsearchUser as KsearchUser +from koyeb.api_async.models.ktest_test_auth_reply import KtestTestAuthReply as KtestTestAuthReply +from koyeb.api_async.models.ktest_test_auth_request import KtestTestAuthRequest as KtestTestAuthRequest +from koyeb.api_async.models.lifecycle_quotas import LifecycleQuotas as LifecycleQuotas +from koyeb.api_async.models.list_app_events_reply import ListAppEventsReply as ListAppEventsReply +from koyeb.api_async.models.list_apps_reply import ListAppsReply as ListAppsReply +from koyeb.api_async.models.list_catalog_instances_reply import ListCatalogInstancesReply as ListCatalogInstancesReply +from koyeb.api_async.models.list_credentials_reply import ListCredentialsReply as ListCredentialsReply +from koyeb.api_async.models.list_datacenters_reply import ListDatacentersReply as ListDatacentersReply +from koyeb.api_async.models.list_deployment_events_reply import ListDeploymentEventsReply as ListDeploymentEventsReply +from koyeb.api_async.models.list_deployments_reply import ListDeploymentsReply as ListDeploymentsReply +from koyeb.api_async.models.list_domains_reply import ListDomainsReply as ListDomainsReply +from koyeb.api_async.models.list_instance_events_reply import ListInstanceEventsReply as ListInstanceEventsReply +from koyeb.api_async.models.list_instances_reply import ListInstancesReply as ListInstancesReply +from koyeb.api_async.models.list_organization_invitations_reply import ListOrganizationInvitationsReply as ListOrganizationInvitationsReply +from koyeb.api_async.models.list_organization_members_reply import ListOrganizationMembersReply as ListOrganizationMembersReply +from koyeb.api_async.models.list_payment_methods_reply import ListPaymentMethodsReply as ListPaymentMethodsReply +from koyeb.api_async.models.list_persistent_volume_events_reply import ListPersistentVolumeEventsReply as ListPersistentVolumeEventsReply +from koyeb.api_async.models.list_persistent_volumes_reply import ListPersistentVolumesReply as ListPersistentVolumesReply +from koyeb.api_async.models.list_projects_reply import ListProjectsReply as ListProjectsReply +from koyeb.api_async.models.list_regional_deployment_events_reply import ListRegionalDeploymentEventsReply as ListRegionalDeploymentEventsReply +from koyeb.api_async.models.list_regional_deployments_reply import ListRegionalDeploymentsReply as ListRegionalDeploymentsReply +from koyeb.api_async.models.list_regions_reply import ListRegionsReply as ListRegionsReply +from koyeb.api_async.models.list_secrets_reply import ListSecretsReply as ListSecretsReply +from koyeb.api_async.models.list_service_events_reply import ListServiceEventsReply as ListServiceEventsReply +from koyeb.api_async.models.list_services_reply import ListServicesReply as ListServicesReply +from koyeb.api_async.models.list_snapshots_reply import ListSnapshotsReply as ListSnapshotsReply +from koyeb.api_async.models.list_usage_reply import ListUsageReply as ListUsageReply +from koyeb.api_async.models.list_user_organization_invitations_reply import ListUserOrganizationInvitationsReply as ListUserOrganizationInvitationsReply +from koyeb.api_async.models.list_user_organizations_reply import ListUserOrganizationsReply as ListUserOrganizationsReply +from koyeb.api_async.models.log_entry import LogEntry as LogEntry +from koyeb.api_async.models.login_method_reply import LoginMethodReply as LoginMethodReply +from koyeb.api_async.models.login_method_reply_method import LoginMethodReplyMethod as LoginMethodReplyMethod +from koyeb.api_async.models.login_reply import LoginReply as LoginReply +from koyeb.api_async.models.login_request import LoginRequest as LoginRequest +from koyeb.api_async.models.manage_reply import ManageReply as ManageReply +from koyeb.api_async.models.manual_service_scaling import ManualServiceScaling as ManualServiceScaling +from koyeb.api_async.models.members_summary import MembersSummary as MembersSummary +from koyeb.api_async.models.metric_name import MetricName as MetricName +from koyeb.api_async.models.neon_postgres_database import NeonPostgresDatabase as NeonPostgresDatabase +from koyeb.api_async.models.neon_postgres_database_deployment_metadata import NeonPostgresDatabaseDeploymentMetadata as NeonPostgresDatabaseDeploymentMetadata +from koyeb.api_async.models.neon_postgres_database_neon_database import NeonPostgresDatabaseNeonDatabase as NeonPostgresDatabaseNeonDatabase +from koyeb.api_async.models.neon_postgres_database_neon_role import NeonPostgresDatabaseNeonRole as NeonPostgresDatabaseNeonRole +from koyeb.api_async.models.neon_postgres_summary import NeonPostgresSummary as NeonPostgresSummary +from koyeb.api_async.models.next_invoice_reply import NextInvoiceReply as NextInvoiceReply +from koyeb.api_async.models.next_invoice_reply_discount import NextInvoiceReplyDiscount as NextInvoiceReplyDiscount +from koyeb.api_async.models.next_invoice_reply_discount_type import NextInvoiceReplyDiscountType as NextInvoiceReplyDiscountType +from koyeb.api_async.models.next_invoice_reply_line import NextInvoiceReplyLine as NextInvoiceReplyLine +from koyeb.api_async.models.next_invoice_reply_line_period import NextInvoiceReplyLinePeriod as NextInvoiceReplyLinePeriod +from koyeb.api_async.models.next_invoice_reply_line_price import NextInvoiceReplyLinePrice as NextInvoiceReplyLinePrice +from koyeb.api_async.models.notification import Notification as Notification +from koyeb.api_async.models.notification_list import NotificationList as NotificationList +from koyeb.api_async.models.o_auth_callback_reply import OAuthCallbackReply as OAuthCallbackReply +from koyeb.api_async.models.o_auth_callback_request import OAuthCallbackRequest as OAuthCallbackRequest +from koyeb.api_async.models.o_auth_provider import OAuthProvider as OAuthProvider +from koyeb.api_async.models.object import Object as Object +from koyeb.api_async.models.organization import Organization as Organization +from koyeb.api_async.models.organization_deactivation_reason import OrganizationDeactivationReason as OrganizationDeactivationReason +from koyeb.api_async.models.organization_detailed_status import OrganizationDetailedStatus as OrganizationDetailedStatus +from koyeb.api_async.models.organization_invitation import OrganizationInvitation as OrganizationInvitation +from koyeb.api_async.models.organization_invitation_status import OrganizationInvitationStatus as OrganizationInvitationStatus +from koyeb.api_async.models.organization_member import OrganizationMember as OrganizationMember +from koyeb.api_async.models.organization_member_status import OrganizationMemberStatus as OrganizationMemberStatus +from koyeb.api_async.models.organization_status import OrganizationStatus as OrganizationStatus +from koyeb.api_async.models.organization_summary import OrganizationSummary as OrganizationSummary +from koyeb.api_async.models.payment_method import PaymentMethod as PaymentMethod +from koyeb.api_async.models.payment_method_status import PaymentMethodStatus as PaymentMethodStatus +from koyeb.api_async.models.period_usage import PeriodUsage as PeriodUsage +from koyeb.api_async.models.persistent_volume import PersistentVolume as PersistentVolume +from koyeb.api_async.models.persistent_volume_backing_store import PersistentVolumeBackingStore as PersistentVolumeBackingStore +from koyeb.api_async.models.persistent_volume_event import PersistentVolumeEvent as PersistentVolumeEvent +from koyeb.api_async.models.persistent_volume_quotas import PersistentVolumeQuotas as PersistentVolumeQuotas +from koyeb.api_async.models.persistent_volume_status import PersistentVolumeStatus as PersistentVolumeStatus +from koyeb.api_async.models.plan import Plan as Plan +from koyeb.api_async.models.port import Port as Port +from koyeb.api_async.models.private_registry_configuration import PrivateRegistryConfiguration as PrivateRegistryConfiguration +from koyeb.api_async.models.project import Project as Project +from koyeb.api_async.models.proxy_port_protocol import ProxyPortProtocol as ProxyPortProtocol +from koyeb.api_async.models.public_organization import PublicOrganization as PublicOrganization +from koyeb.api_async.models.public_user import PublicUser as PublicUser +from koyeb.api_async.models.query_logs_reply import QueryLogsReply as QueryLogsReply +from koyeb.api_async.models.query_logs_reply_pagination import QueryLogsReplyPagination as QueryLogsReplyPagination +from koyeb.api_async.models.quotas import Quotas as Quotas +from koyeb.api_async.models.reactivate_organization_reply import ReactivateOrganizationReply as ReactivateOrganizationReply +from koyeb.api_async.models.redeem_coupon_request import RedeemCouponRequest as RedeemCouponRequest +from koyeb.api_async.models.redeploy_reply import RedeployReply as RedeployReply +from koyeb.api_async.models.redeploy_request_info import RedeployRequestInfo as RedeployRequestInfo +from koyeb.api_async.models.region import Region as Region +from koyeb.api_async.models.region_availability import RegionAvailability as RegionAvailability +from koyeb.api_async.models.region_list_item import RegionListItem as RegionListItem +from koyeb.api_async.models.region_usage import RegionUsage as RegionUsage +from koyeb.api_async.models.regional_deployment import RegionalDeployment as RegionalDeployment +from koyeb.api_async.models.regional_deployment_definition import RegionalDeploymentDefinition as RegionalDeploymentDefinition +from koyeb.api_async.models.regional_deployment_definition_type import RegionalDeploymentDefinitionType as RegionalDeploymentDefinitionType +from koyeb.api_async.models.regional_deployment_event import RegionalDeploymentEvent as RegionalDeploymentEvent +from koyeb.api_async.models.regional_deployment_list_item import RegionalDeploymentListItem as RegionalDeploymentListItem +from koyeb.api_async.models.regional_deployment_mesh import RegionalDeploymentMesh as RegionalDeploymentMesh +from koyeb.api_async.models.regional_deployment_role import RegionalDeploymentRole as RegionalDeploymentRole +from koyeb.api_async.models.regional_deployment_status import RegionalDeploymentStatus as RegionalDeploymentStatus +from koyeb.api_async.models.regional_deployment_volume import RegionalDeploymentVolume as RegionalDeploymentVolume +from koyeb.api_async.models.remove_organization_member_reply import RemoveOrganizationMemberReply as RemoveOrganizationMemberReply +from koyeb.api_async.models.resend_organization_invitation_reply import ResendOrganizationInvitationReply as ResendOrganizationInvitationReply +from koyeb.api_async.models.reset_password_request import ResetPasswordRequest as ResetPasswordRequest +from koyeb.api_async.models.reveal_secret_reply import RevealSecretReply as RevealSecretReply +from koyeb.api_async.models.review_organization_capacity_reply import ReviewOrganizationCapacityReply as ReviewOrganizationCapacityReply +from koyeb.api_async.models.review_organization_capacity_request import ReviewOrganizationCapacityRequest as ReviewOrganizationCapacityRequest +from koyeb.api_async.models.route import Route as Route +from koyeb.api_async.models.sample import Sample as Sample +from koyeb.api_async.models.sandbox_metadata import SandboxMetadata as SandboxMetadata +from koyeb.api_async.models.scale_to_zero_quotas import ScaleToZeroQuotas as ScaleToZeroQuotas +from koyeb.api_async.models.scaling import Scaling as Scaling +from koyeb.api_async.models.secret import Secret as Secret +from koyeb.api_async.models.secret_type import SecretType as SecretType +from koyeb.api_async.models.secrets_summary import SecretsSummary as SecretsSummary +from koyeb.api_async.models.security_policies import SecurityPolicies as SecurityPolicies +from koyeb.api_async.models.service import Service as Service +from koyeb.api_async.models.service_event import ServiceEvent as ServiceEvent +from koyeb.api_async.models.service_life_cycle import ServiceLifeCycle as ServiceLifeCycle +from koyeb.api_async.models.service_list_item import ServiceListItem as ServiceListItem +from koyeb.api_async.models.service_state import ServiceState as ServiceState +from koyeb.api_async.models.service_status import ServiceStatus as ServiceStatus +from koyeb.api_async.models.service_summary import ServiceSummary as ServiceSummary +from koyeb.api_async.models.service_type import ServiceType as ServiceType +from koyeb.api_async.models.service_usage import ServiceUsage as ServiceUsage +from koyeb.api_async.models.snapshot import Snapshot as Snapshot +from koyeb.api_async.models.snapshot_status import SnapshotStatus as SnapshotStatus +from koyeb.api_async.models.snapshot_type import SnapshotType as SnapshotType +from koyeb.api_async.models.stream_result_of_exec_command_reply import StreamResultOfExecCommandReply as StreamResultOfExecCommandReply +from koyeb.api_async.models.stream_result_of_log_entry import StreamResultOfLogEntry as StreamResultOfLogEntry +from koyeb.api_async.models.subscription import Subscription as Subscription +from koyeb.api_async.models.subscription_payment_failure import SubscriptionPaymentFailure as SubscriptionPaymentFailure +from koyeb.api_async.models.subscription_payment_failure_stripe_sdk import SubscriptionPaymentFailureStripeSDK as SubscriptionPaymentFailureStripeSDK +from koyeb.api_async.models.subscription_status import SubscriptionStatus as SubscriptionStatus +from koyeb.api_async.models.tcp_health_check import TCPHealthCheck as TCPHealthCheck +from koyeb.api_async.models.token import Token as Token +from koyeb.api_async.models.trigger_deployment_metadata import TriggerDeploymentMetadata as TriggerDeploymentMetadata +from koyeb.api_async.models.trigger_deployment_metadata_actor_type import TriggerDeploymentMetadataActorType as TriggerDeploymentMetadataActorType +from koyeb.api_async.models.trigger_deployment_metadata_trigger_type import TriggerDeploymentMetadataTriggerType as TriggerDeploymentMetadataTriggerType +from koyeb.api_async.models.trigger_git_deployment_metadata import TriggerGitDeploymentMetadata as TriggerGitDeploymentMetadata +from koyeb.api_async.models.trigger_git_deployment_metadata_provider import TriggerGitDeploymentMetadataProvider as TriggerGitDeploymentMetadataProvider +from koyeb.api_async.models.update_app import UpdateApp as UpdateApp +from koyeb.api_async.models.update_app_reply import UpdateAppReply as UpdateAppReply +from koyeb.api_async.models.update_budget_reply import UpdateBudgetReply as UpdateBudgetReply +from koyeb.api_async.models.update_budget_request import UpdateBudgetRequest as UpdateBudgetRequest +from koyeb.api_async.models.update_credential_reply import UpdateCredentialReply as UpdateCredentialReply +from koyeb.api_async.models.update_domain import UpdateDomain as UpdateDomain +from koyeb.api_async.models.update_domain_reply import UpdateDomainReply as UpdateDomainReply +from koyeb.api_async.models.update_organization_default_project_reply import UpdateOrganizationDefaultProjectReply as UpdateOrganizationDefaultProjectReply +from koyeb.api_async.models.update_organization_default_project_request import UpdateOrganizationDefaultProjectRequest as UpdateOrganizationDefaultProjectRequest +from koyeb.api_async.models.update_organization_name_reply import UpdateOrganizationNameReply as UpdateOrganizationNameReply +from koyeb.api_async.models.update_organization_name_request import UpdateOrganizationNameRequest as UpdateOrganizationNameRequest +from koyeb.api_async.models.update_organization_plan_reply import UpdateOrganizationPlanReply as UpdateOrganizationPlanReply +from koyeb.api_async.models.update_organization_plan_request import UpdateOrganizationPlanRequest as UpdateOrganizationPlanRequest +from koyeb.api_async.models.update_organization_reply import UpdateOrganizationReply as UpdateOrganizationReply +from koyeb.api_async.models.update_password_request import UpdatePasswordRequest as UpdatePasswordRequest +from koyeb.api_async.models.update_persistent_volume_reply import UpdatePersistentVolumeReply as UpdatePersistentVolumeReply +from koyeb.api_async.models.update_persistent_volume_request import UpdatePersistentVolumeRequest as UpdatePersistentVolumeRequest +from koyeb.api_async.models.update_project_reply import UpdateProjectReply as UpdateProjectReply +from koyeb.api_async.models.update_secret_reply import UpdateSecretReply as UpdateSecretReply +from koyeb.api_async.models.update_service import UpdateService as UpdateService +from koyeb.api_async.models.update_service_reply import UpdateServiceReply as UpdateServiceReply +from koyeb.api_async.models.update_service_scaling_request import UpdateServiceScalingRequest as UpdateServiceScalingRequest +from koyeb.api_async.models.update_snapshot_reply import UpdateSnapshotReply as UpdateSnapshotReply +from koyeb.api_async.models.update_snapshot_request import UpdateSnapshotRequest as UpdateSnapshotRequest +from koyeb.api_async.models.update_user_request_user_update_body import UpdateUserRequestUserUpdateBody as UpdateUserRequestUserUpdateBody +from koyeb.api_async.models.update_user_settings_reply import UpdateUserSettingsReply as UpdateUserSettingsReply +from koyeb.api_async.models.update_user_settings_request import UpdateUserSettingsRequest as UpdateUserSettingsRequest +from koyeb.api_async.models.upsert_signup_qualification_reply import UpsertSignupQualificationReply as UpsertSignupQualificationReply +from koyeb.api_async.models.upsert_signup_qualification_request import UpsertSignupQualificationRequest as UpsertSignupQualificationRequest +from koyeb.api_async.models.usage import Usage as Usage +from koyeb.api_async.models.usage_details import UsageDetails as UsageDetails +from koyeb.api_async.models.user import User as User +from koyeb.api_async.models.user_flags import UserFlags as UserFlags +from koyeb.api_async.models.user_reply import UserReply as UserReply +from koyeb.api_async.models.user_role_role import UserRoleRole as UserRoleRole +from koyeb.api_async.models.user_settings import UserSettings as UserSettings +from koyeb.api_async.models.verify_docker_image_reply import VerifyDockerImageReply as VerifyDockerImageReply +from koyeb.api_async.models.verify_docker_image_reply_err_code import VerifyDockerImageReplyErrCode as VerifyDockerImageReplyErrCode + diff --git a/koyeb/api_async/api/__init__.py b/koyeb/api_async/api/__init__.py new file mode 100644 index 00000000..54a7ce1e --- /dev/null +++ b/koyeb/api_async/api/__init__.py @@ -0,0 +1,47 @@ +# flake8: noqa + +# import apis into api package +from koyeb.api_async.api.apps_api import AppsApi +from koyeb.api_async.api.archives_api import ArchivesApi +from koyeb.api_async.api.catalog_datacenters_api import CatalogDatacentersApi +from koyeb.api_async.api.catalog_instance_usage_api import CatalogInstanceUsageApi +from koyeb.api_async.api.catalog_instances_api import CatalogInstancesApi +from koyeb.api_async.api.catalog_regions_api import CatalogRegionsApi +from koyeb.api_async.api.compose_api import ComposeApi +from koyeb.api_async.api.coupons_api import CouponsApi +from koyeb.api_async.api.credentials_api import CredentialsApi +from koyeb.api_async.api.deployments_api import DeploymentsApi +from koyeb.api_async.api.docker_helper_api import DockerHelperApi +from koyeb.api_async.api.domains_api import DomainsApi +from koyeb.api_async.api.instances_api import InstancesApi +from koyeb.api_async.api.intercom_api import IntercomApi +from koyeb.api_async.api.logs_api import LogsApi +from koyeb.api_async.api.metrics_api import MetricsApi +from koyeb.api_async.api.organization_confirmations_api import OrganizationConfirmationsApi +from koyeb.api_async.api.organization_invitations_api import OrganizationInvitationsApi +from koyeb.api_async.api.organization_members_api import OrganizationMembersApi +from koyeb.api_async.api.organization_quotas_api import OrganizationQuotasApi +from koyeb.api_async.api.payment_methods_api import PaymentMethodsApi +from koyeb.api_async.api.persistent_volumes_api import PersistentVolumesApi +from koyeb.api_async.api.profile_api import ProfileApi +from koyeb.api_async.api.projects_api import ProjectsApi +from koyeb.api_async.api.provisioning_api import ProvisioningApi +from koyeb.api_async.api.quotas_api import QuotasApi +from koyeb.api_async.api.regional_deployments_api import RegionalDeploymentsApi +from koyeb.api_async.api.repositories_api import RepositoriesApi +from koyeb.api_async.api.search_api import SearchApi +from koyeb.api_async.api.secrets_api import SecretsApi +from koyeb.api_async.api.services_api import ServicesApi +from koyeb.api_async.api.sessions_api import SessionsApi +from koyeb.api_async.api.snapshots_api import SnapshotsApi +from koyeb.api_async.api.subscriptions_api import SubscriptionsApi +from koyeb.api_async.api.summary_api import SummaryApi +from koyeb.api_async.api.test_api import TestApi +from koyeb.api_async.api.usages_api import UsagesApi +from koyeb.api_async.api.users_api import UsersApi +from koyeb.api_async.api.activity_api import ActivityApi +from koyeb.api_async.api.billing_api import BillingApi +from koyeb.api_async.api.invite_api import InviteApi +from koyeb.api_async.api.organization_api import OrganizationApi +from koyeb.api_async.api.sso_api import SsoApi + diff --git a/koyeb/api_async/api/activity_api.py b/koyeb/api_async/api/activity_api.py new file mode 100644 index 00000000..8fd3c623 --- /dev/null +++ b/koyeb/api_async/api/activity_api.py @@ -0,0 +1,1010 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.activity_list import ActivityList +from koyeb.api_async.models.notification_list import NotificationList + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class ActivityApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def get_account_activities( + self, + limit: Optional[StrictStr] = None, + offset: 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, + ) -> ActivityList: + """get_account_activities + + + :param limit: + :type limit: str + :param offset: + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_account_activities_serialize( + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ActivityList", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_account_activities_with_http_info( + self, + limit: Optional[StrictStr] = None, + offset: 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[ActivityList]: + """get_account_activities + + + :param limit: + :type limit: str + :param offset: + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_account_activities_serialize( + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ActivityList", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_account_activities_without_preload_content( + self, + limit: Optional[StrictStr] = None, + offset: 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: + """get_account_activities + + + :param limit: + :type limit: str + :param offset: + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_account_activities_serialize( + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ActivityList", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_account_activities_serialize( + self, + limit, + offset, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/account/activities', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_activities( + self, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on object type")] = 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, + ) -> ActivityList: + """List Activities + + + :param limit: + :type limit: str + :param offset: + :type offset: str + :param types: (Optional) Filter on object type + :type types: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_activities_serialize( + limit=limit, + offset=offset, + types=types, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ActivityList", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_activities_with_http_info( + self, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on object type")] = 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[ActivityList]: + """List Activities + + + :param limit: + :type limit: str + :param offset: + :type offset: str + :param types: (Optional) Filter on object type + :type types: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_activities_serialize( + limit=limit, + offset=offset, + types=types, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ActivityList", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_activities_without_preload_content( + self, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on object type")] = 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 Activities + + + :param limit: + :type limit: str + :param offset: + :type offset: str + :param types: (Optional) Filter on object type + :type types: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_activities_serialize( + limit=limit, + offset=offset, + types=types, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ActivityList", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_activities_serialize( + self, + limit, + offset, + types, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'types': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if types is not None: + + _query_params.append(('types', types)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/activities', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_notifications( + self, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + mark_read: Optional[StrictStr] = None, + mark_seen: Optional[StrictStr] = None, + unread: Optional[StrictStr] = None, + unseen: 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, + ) -> NotificationList: + """List Notifications + + + :param limit: + :type limit: str + :param offset: + :type offset: str + :param mark_read: + :type mark_read: str + :param mark_seen: + :type mark_seen: str + :param unread: + :type unread: str + :param unseen: + :type unseen: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_notifications_serialize( + limit=limit, + offset=offset, + mark_read=mark_read, + mark_seen=mark_seen, + unread=unread, + unseen=unseen, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NotificationList", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_notifications_with_http_info( + self, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + mark_read: Optional[StrictStr] = None, + mark_seen: Optional[StrictStr] = None, + unread: Optional[StrictStr] = None, + unseen: 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[NotificationList]: + """List Notifications + + + :param limit: + :type limit: str + :param offset: + :type offset: str + :param mark_read: + :type mark_read: str + :param mark_seen: + :type mark_seen: str + :param unread: + :type unread: str + :param unseen: + :type unseen: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_notifications_serialize( + limit=limit, + offset=offset, + mark_read=mark_read, + mark_seen=mark_seen, + unread=unread, + unseen=unseen, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NotificationList", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_notifications_without_preload_content( + self, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + mark_read: Optional[StrictStr] = None, + mark_seen: Optional[StrictStr] = None, + unread: Optional[StrictStr] = None, + unseen: 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 Notifications + + + :param limit: + :type limit: str + :param offset: + :type offset: str + :param mark_read: + :type mark_read: str + :param mark_seen: + :type mark_seen: str + :param unread: + :type unread: str + :param unseen: + :type unseen: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_notifications_serialize( + limit=limit, + offset=offset, + mark_read=mark_read, + mark_seen=mark_seen, + unread=unread, + unseen=unseen, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NotificationList", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_notifications_serialize( + self, + limit, + offset, + mark_read, + mark_seen, + unread, + unseen, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if mark_read is not None: + + _query_params.append(('mark_read', mark_read)) + + if mark_seen is not None: + + _query_params.append(('mark_seen', mark_seen)) + + if unread is not None: + + _query_params.append(('unread', unread)) + + if unseen is not None: + + _query_params.append(('unseen', unseen)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/notifications', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/apps_api.py b/koyeb/api_async/api/apps_api.py new file mode 100644 index 00000000..970fda4a --- /dev/null +++ b/koyeb/api_async/api/apps_api.py @@ -0,0 +1,2725 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Any, Dict, List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.create_app import CreateApp +from koyeb.api_async.models.create_app_reply import CreateAppReply +from koyeb.api_async.models.get_app_reply import GetAppReply +from koyeb.api_async.models.list_app_events_reply import ListAppEventsReply +from koyeb.api_async.models.list_apps_reply import ListAppsReply +from koyeb.api_async.models.update_app import UpdateApp +from koyeb.api_async.models.update_app_reply import UpdateAppReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class AppsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_app( + self, + app: CreateApp, + _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, + ) -> CreateAppReply: + """Create App + + + :param app: (required) + :type app: CreateApp + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_app_serialize( + app=app, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_app_with_http_info( + self, + app: CreateApp, + _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[CreateAppReply]: + """Create App + + + :param app: (required) + :type app: CreateApp + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_app_serialize( + app=app, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_app_without_preload_content( + self, + app: CreateApp, + _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 App + + + :param app: (required) + :type app: CreateApp + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_app_serialize( + app=app, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_app_serialize( + self, + app, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if app is not None: + _body_params = app + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/apps', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_app( + self, + id: Annotated[StrictStr, Field(description="The id of the App to delete")], + _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, + ) -> object: + """Delete App + + App deletion is allowed for all status. + + :param id: The id of the App to delete (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_app_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the App to delete")], + _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[object]: + """Delete App + + App deletion is allowed for all status. + + :param id: The id of the App to delete (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_app_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the App to delete")], + _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 App + + App deletion is allowed for all status. + + :param id: The id of the App to delete (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_app_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/apps/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_app( + self, + id: Annotated[StrictStr, Field(description="The id of the App")], + _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, + ) -> GetAppReply: + """Get App + + + :param id: The id of the App (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_app_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the App")], + _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[GetAppReply]: + """Get App + + + :param id: The id of the App (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_app_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the App")], + _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 App + + + :param id: The id of the App (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_app_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/apps/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_app_events( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on app id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on app 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, + ) -> ListAppEventsReply: + """List App events + + + :param app_id: (Optional) Filter on app id + :type app_id: str + :param types: (Optional) Filter on app event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_app_events_serialize( + app_id=app_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListAppEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_app_events_with_http_info( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on app id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on app 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[ListAppEventsReply]: + """List App events + + + :param app_id: (Optional) Filter on app id + :type app_id: str + :param types: (Optional) Filter on app event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_app_events_serialize( + app_id=app_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListAppEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_app_events_without_preload_content( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on app id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on app 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 App events + + + :param app_id: (Optional) Filter on app id + :type app_id: str + :param types: (Optional) Filter on app event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_app_events_serialize( + app_id=app_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListAppEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_app_events_serialize( + self, + app_id, + types, + limit, + offset, + order, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'types': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if app_id is not None: + + _query_params.append(('app_id', app_id)) + + if types is not None: + + _query_params.append(('types', types)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/app_events', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_apps( + self, + 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, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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, + ) -> ListAppsReply: + """List App + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param name: (Optional) A filter for name + :type name: str + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_apps_serialize( + limit=limit, + offset=offset, + name=name, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListAppsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_apps_with_http_info( + self, + 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, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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[ListAppsReply]: + """List App + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param name: (Optional) A filter for name + :type name: str + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_apps_serialize( + limit=limit, + offset=offset, + name=name, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListAppsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_apps_without_preload_content( + self, + 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, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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 App + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param name: (Optional) A filter for name + :type name: str + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_apps_serialize( + limit=limit, + offset=offset, + name=name, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListAppsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_apps_serialize( + self, + limit, + offset, + name, + project_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if name is not None: + + _query_params.append(('name', name)) + + if project_id is not None: + + _query_params.append(('project_id', project_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/apps', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def pause_app( + self, + id: Annotated[StrictStr, Field(description="The id of the app to pause.")], + _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, + ) -> object: + """Pause App + + App pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + + :param id: The id of the app to pause. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._pause_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def pause_app_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the app to pause.")], + _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[object]: + """Pause App + + App pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + + :param id: The id of the app to pause. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._pause_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def pause_app_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the app to pause.")], + _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: + """Pause App + + App pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + + :param id: The id of the app to pause. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._pause_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _pause_app_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/apps/{id}/pause', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def resume_app( + self, + id: Annotated[StrictStr, Field(description="The id of the app to resume.")], + _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, + ) -> object: + """Resume App + + App resume action is allowed for the following status: - paused + + :param id: The id of the app to resume. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resume_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def resume_app_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the app to resume.")], + _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[object]: + """Resume App + + App resume action is allowed for the following status: - paused + + :param id: The id of the app to resume. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resume_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def resume_app_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the app to resume.")], + _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: + """Resume App + + App resume action is allowed for the following status: - paused + + :param id: The id of the app to resume. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resume_app_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _resume_app_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/apps/{id}/resume', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_app( + self, + id: Annotated[StrictStr, Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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, + ) -> UpdateAppReply: + """Update App + + + :param id: The id of the app to update. (required) + :type id: str + :param app: (required) + :type app: UpdateApp + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_app_serialize( + id=id, + app=app, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_app_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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[UpdateAppReply]: + """Update App + + + :param id: The id of the app to update. (required) + :type id: str + :param app: (required) + :type app: UpdateApp + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_app_serialize( + id=id, + app=app, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_app_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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: + """Update App + + + :param id: The id of the app to update. (required) + :type id: str + :param app: (required) + :type app: UpdateApp + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_app_serialize( + id=id, + app=app, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_app_serialize( + self, + id, + app, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if app is not None: + _body_params = app + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/apps/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_app2( + self, + id: Annotated[StrictStr, Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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, + ) -> UpdateAppReply: + """Update App + + + :param id: The id of the app to update. (required) + :type id: str + :param app: (required) + :type app: UpdateApp + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_app2_serialize( + id=id, + app=app, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_app2_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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[UpdateAppReply]: + """Update App + + + :param id: The id of the app to update. (required) + :type id: str + :param app: (required) + :type app: UpdateApp + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_app2_serialize( + id=id, + app=app, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_app2_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the app to update.")], + app: UpdateApp, + update_mask: 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: + """Update App + + + :param id: The id of the app to update. (required) + :type id: str + :param app: (required) + :type app: UpdateApp + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_app2_serialize( + id=id, + app=app, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateAppReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_app2_serialize( + self, + id, + app, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if app is not None: + _body_params = app + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v1/apps/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/archives_api.py b/koyeb/api_async/api/archives_api.py new file mode 100644 index 00000000..1abdd5a6 --- /dev/null +++ b/koyeb/api_async/api/archives_api.py @@ -0,0 +1,315 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from koyeb.api_async.models.create_archive import CreateArchive +from koyeb.api_async.models.create_archive_reply import CreateArchiveReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class ArchivesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_archive( + self, + archive: CreateArchive, + _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, + ) -> CreateArchiveReply: + """Create Archive + + Create a signed URL to upload an archive. + + :param archive: (required) + :type archive: CreateArchive + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_archive_serialize( + archive=archive, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateArchiveReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_archive_with_http_info( + self, + archive: CreateArchive, + _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[CreateArchiveReply]: + """Create Archive + + Create a signed URL to upload an archive. + + :param archive: (required) + :type archive: CreateArchive + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_archive_serialize( + archive=archive, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateArchiveReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_archive_without_preload_content( + self, + archive: CreateArchive, + _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 Archive + + Create a signed URL to upload an archive. + + :param archive: (required) + :type archive: CreateArchive + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_archive_serialize( + archive=archive, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateArchiveReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_archive_serialize( + self, + archive, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if archive is not None: + _body_params = archive + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/archives', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/billing_api.py b/koyeb/api_async/api/billing_api.py new file mode 100644 index 00000000..7e3e7300 --- /dev/null +++ b/koyeb/api_async/api/billing_api.py @@ -0,0 +1,826 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from koyeb.api_async.models.has_unpaid_invoices_reply import HasUnpaidInvoicesReply +from koyeb.api_async.models.manage_reply import ManageReply +from koyeb.api_async.models.next_invoice_reply import NextInvoiceReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class BillingApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def has_unpaid_invoices( + self, + _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, + ) -> HasUnpaidInvoicesReply: + """Experimental: Has unpaid invoices + + WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._has_unpaid_invoices_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HasUnpaidInvoicesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def has_unpaid_invoices_with_http_info( + self, + _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[HasUnpaidInvoicesReply]: + """Experimental: Has unpaid invoices + + WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._has_unpaid_invoices_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HasUnpaidInvoicesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def has_unpaid_invoices_without_preload_content( + self, + _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: + """Experimental: Has unpaid invoices + + WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._has_unpaid_invoices_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HasUnpaidInvoicesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _has_unpaid_invoices_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/billing/has_unpaid_invoices', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def manage( + self, + _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, + ) -> ManageReply: + """manage + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._manage_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ManageReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def manage_with_http_info( + self, + _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[ManageReply]: + """manage + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._manage_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ManageReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def manage_without_preload_content( + self, + _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: + """manage + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._manage_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ManageReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _manage_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/billing/manage', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def next_invoice( + self, + _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, + ) -> NextInvoiceReply: + """Experimental: Fetch next invoice + + WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._next_invoice_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NextInvoiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def next_invoice_with_http_info( + self, + _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[NextInvoiceReply]: + """Experimental: Fetch next invoice + + WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._next_invoice_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NextInvoiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def next_invoice_without_preload_content( + self, + _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: + """Experimental: Fetch next invoice + + WARNING: Please don't use the following method. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._next_invoice_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NextInvoiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _next_invoice_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/billing/next_invoice', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/catalog_datacenters_api.py b/koyeb/api_async/api/catalog_datacenters_api.py new file mode 100644 index 00000000..d5830617 --- /dev/null +++ b/koyeb/api_async/api/catalog_datacenters_api.py @@ -0,0 +1,278 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from koyeb.api_async.models.list_datacenters_reply import ListDatacentersReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class CatalogDatacentersApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def list_datacenters( + self, + _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, + ) -> ListDatacentersReply: + """List datacenters + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_datacenters_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDatacentersReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_datacenters_with_http_info( + self, + _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[ListDatacentersReply]: + """List datacenters + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_datacenters_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDatacentersReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_datacenters_without_preload_content( + self, + _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 datacenters + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_datacenters_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDatacentersReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_datacenters_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/catalog/datacenters', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/catalog_instance_usage_api.py b/koyeb/api_async/api/catalog_instance_usage_api.py new file mode 100644 index 00000000..fecf7f6a --- /dev/null +++ b/koyeb/api_async/api/catalog_instance_usage_api.py @@ -0,0 +1,297 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import StrictStr +from typing import Optional +from koyeb.api_async.models.list_usage_reply import ListUsageReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class CatalogInstanceUsageApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def list_usage( + self, + region: 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, + ) -> ListUsageReply: + """list_usage + + + :param region: + :type region: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_usage_serialize( + region=region, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListUsageReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_usage_with_http_info( + self, + region: 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[ListUsageReply]: + """list_usage + + + :param region: + :type region: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_usage_serialize( + region=region, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListUsageReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_usage_without_preload_content( + self, + region: 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_usage + + + :param region: + :type region: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_usage_serialize( + region=region, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListUsageReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_usage_serialize( + self, + region, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if region is not None: + + _query_params.append(('region', region)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/catalog/usage', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/catalog_instances_api.py b/koyeb/api_async/api/catalog_instances_api.py new file mode 100644 index 00000000..eb20a802 --- /dev/null +++ b/koyeb/api_async/api/catalog_instances_api.py @@ -0,0 +1,591 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from koyeb.api_async.models.get_catalog_instance_reply import GetCatalogInstanceReply +from koyeb.api_async.models.list_catalog_instances_reply import ListCatalogInstancesReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class CatalogInstancesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def get_catalog_instance( + self, + id: Annotated[StrictStr, Field(description="The name of the instance")], + _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, + ) -> GetCatalogInstanceReply: + """Get Instance + + + :param id: The name of the instance (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_catalog_instance_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCatalogInstanceReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_catalog_instance_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The name of the instance")], + _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[GetCatalogInstanceReply]: + """Get Instance + + + :param id: The name of the instance (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_catalog_instance_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCatalogInstanceReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_catalog_instance_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The name of the instance")], + _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 + + + :param id: The name of the instance (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_catalog_instance_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCatalogInstanceReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_catalog_instance_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/catalog/instances/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_catalog_instances( + self, + 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, + id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for instances")] = 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, + ) -> ListCatalogInstancesReply: + """List Instances + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param id: (Optional) A filter for instances + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_catalog_instances_serialize( + limit=limit, + offset=offset, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListCatalogInstancesReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_catalog_instances_with_http_info( + self, + 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, + id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for instances")] = 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[ListCatalogInstancesReply]: + """List Instances + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param id: (Optional) A filter for instances + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_catalog_instances_serialize( + limit=limit, + offset=offset, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListCatalogInstancesReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_catalog_instances_without_preload_content( + self, + 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, + id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for instances")] = 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 Instances + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param id: (Optional) A filter for instances + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_catalog_instances_serialize( + limit=limit, + offset=offset, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListCatalogInstancesReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_catalog_instances_serialize( + self, + limit, + offset, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if id is not None: + + _query_params.append(('id', id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/catalog/instances', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/catalog_regions_api.py b/koyeb/api_async/api/catalog_regions_api.py new file mode 100644 index 00000000..1869c102 --- /dev/null +++ b/koyeb/api_async/api/catalog_regions_api.py @@ -0,0 +1,591 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from koyeb.api_async.models.get_region_reply import GetRegionReply +from koyeb.api_async.models.list_regions_reply import ListRegionsReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class CatalogRegionsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def get_region( + self, + id: Annotated[StrictStr, Field(description="The name of the region")], + _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, + ) -> GetRegionReply: + """Get Region + + + :param id: The name of the region (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_region_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRegionReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_region_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The name of the region")], + _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[GetRegionReply]: + """Get Region + + + :param id: The name of the region (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_region_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRegionReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_region_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The name of the region")], + _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 Region + + + :param id: The name of the region (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_region_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRegionReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_region_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/catalog/regions/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_regions( + self, + 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, + id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for regions")] = 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, + ) -> ListRegionsReply: + """List Region + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param id: (Optional) A filter for regions + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_regions_serialize( + limit=limit, + offset=offset, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListRegionsReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_regions_with_http_info( + self, + 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, + id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for regions")] = 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[ListRegionsReply]: + """List Region + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param id: (Optional) A filter for regions + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_regions_serialize( + limit=limit, + offset=offset, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListRegionsReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_regions_without_preload_content( + self, + 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, + id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for regions")] = 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 Region + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param id: (Optional) A filter for regions + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_regions_serialize( + limit=limit, + offset=offset, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListRegionsReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_regions_serialize( + self, + limit, + offset, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if id is not None: + + _query_params.append(('id', id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/catalog/regions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/compose_api.py b/koyeb/api_async/api/compose_api.py new file mode 100644 index 00000000..9c3dd58e --- /dev/null +++ b/koyeb/api_async/api/compose_api.py @@ -0,0 +1,312 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from koyeb.api_async.models.compose_reply import ComposeReply +from koyeb.api_async.models.create_compose import CreateCompose + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class ComposeApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def compose( + self, + compose: CreateCompose, + _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, + ) -> ComposeReply: + """Create resources from compose. + + + :param compose: (required) + :type compose: CreateCompose + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compose_serialize( + compose=compose, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ComposeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def compose_with_http_info( + self, + compose: CreateCompose, + _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[ComposeReply]: + """Create resources from compose. + + + :param compose: (required) + :type compose: CreateCompose + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compose_serialize( + compose=compose, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ComposeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def compose_without_preload_content( + self, + compose: CreateCompose, + _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 resources from compose. + + + :param compose: (required) + :type compose: CreateCompose + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compose_serialize( + compose=compose, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ComposeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _compose_serialize( + self, + compose, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if compose is not None: + _body_params = compose + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/compose', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/coupons_api.py b/koyeb/api_async/api/coupons_api.py new file mode 100644 index 00000000..02886d6f --- /dev/null +++ b/koyeb/api_async/api/coupons_api.py @@ -0,0 +1,596 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import StrictStr +from typing import Any, Dict +from koyeb.api_async.models.check_coupon_reply import CheckCouponReply +from koyeb.api_async.models.redeem_coupon_request import RedeemCouponRequest + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class CouponsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def check_coupon( + self, + code: 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, + ) -> CheckCouponReply: + """Check Coupon + + This API allows to check if a given coupon is valid. It is heavily rate-limited. + + :param code: (required) + :type code: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._check_coupon_serialize( + code=code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CheckCouponReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def check_coupon_with_http_info( + self, + code: 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[CheckCouponReply]: + """Check Coupon + + This API allows to check if a given coupon is valid. It is heavily rate-limited. + + :param code: (required) + :type code: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._check_coupon_serialize( + code=code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CheckCouponReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def check_coupon_without_preload_content( + self, + code: 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: + """Check Coupon + + This API allows to check if a given coupon is valid. It is heavily rate-limited. + + :param code: (required) + :type code: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._check_coupon_serialize( + code=code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CheckCouponReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _check_coupon_serialize( + self, + code, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if code is not None: + _path_params['code'] = code + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/coupons/{code}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def redeem_coupon( + self, + body: RedeemCouponRequest, + _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, + ) -> object: + """Redeem Coupon + + This API allows to redeem a coupon. Pass the code you received in the body. + + :param body: (required) + :type body: RedeemCouponRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._redeem_coupon_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def redeem_coupon_with_http_info( + self, + body: RedeemCouponRequest, + _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[object]: + """Redeem Coupon + + This API allows to redeem a coupon. Pass the code you received in the body. + + :param body: (required) + :type body: RedeemCouponRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._redeem_coupon_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def redeem_coupon_without_preload_content( + self, + body: RedeemCouponRequest, + _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: + """Redeem Coupon + + This API allows to redeem a coupon. Pass the code you received in the body. + + :param body: (required) + :type body: RedeemCouponRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._redeem_coupon_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _redeem_coupon_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/coupons', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/credentials_api.py b/koyeb/api_async/api/credentials_api.py new file mode 100644 index 00000000..a050a011 --- /dev/null +++ b/koyeb/api_async/api/credentials_api.py @@ -0,0 +1,1850 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr, field_validator +from typing import Any, Dict, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.create_credential import CreateCredential +from koyeb.api_async.models.create_credential_reply import CreateCredentialReply +from koyeb.api_async.models.credential import Credential +from koyeb.api_async.models.get_credential_reply import GetCredentialReply +from koyeb.api_async.models.list_credentials_reply import ListCredentialsReply +from koyeb.api_async.models.update_credential_reply import UpdateCredentialReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class CredentialsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_credential( + self, + credential: CreateCredential, + _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, + ) -> CreateCredentialReply: + """Create credential + + + :param credential: (required) + :type credential: CreateCredential + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_credential_serialize( + credential=credential, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_credential_with_http_info( + self, + credential: CreateCredential, + _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[CreateCredentialReply]: + """Create credential + + + :param credential: (required) + :type credential: CreateCredential + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_credential_serialize( + credential=credential, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_credential_without_preload_content( + self, + credential: CreateCredential, + _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 credential + + + :param credential: (required) + :type credential: CreateCredential + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_credential_serialize( + credential=credential, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_credential_serialize( + self, + credential, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if credential is not None: + _body_params = credential + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/credentials', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_credential( + self, + 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, + ) -> object: + """Delete credential + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_credential_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_credential_with_http_info( + self, + 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[object]: + """Delete credential + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_credential_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_credential_without_preload_content( + self, + 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 credential + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_credential_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_credential_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/credentials/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_credential( + self, + 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, + ) -> GetCredentialReply: + """Get credential + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_credential_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_credential_with_http_info( + self, + 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[GetCredentialReply]: + """Get credential + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_credential_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_credential_without_preload_content( + self, + 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 credential + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_credential_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_credential_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/credentials/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_credentials( + self, + type: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for type")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + organization_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an user")] = 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, + _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, + ) -> ListCredentialsReply: + """List credentials + + + :param type: (Optional) A filter for type + :type type: str + :param name: (Optional) A filter for name + :type name: str + :param organization_id: (Optional) Filter for an organization + :type organization_id: str + :param user_id: (Optional) Filter for an user + :type user_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_credentials_serialize( + type=type, + name=name, + organization_id=organization_id, + user_id=user_id, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListCredentialsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_credentials_with_http_info( + self, + type: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for type")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + organization_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an user")] = 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, + _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[ListCredentialsReply]: + """List credentials + + + :param type: (Optional) A filter for type + :type type: str + :param name: (Optional) A filter for name + :type name: str + :param organization_id: (Optional) Filter for an organization + :type organization_id: str + :param user_id: (Optional) Filter for an user + :type user_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_credentials_serialize( + type=type, + name=name, + organization_id=organization_id, + user_id=user_id, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListCredentialsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_credentials_without_preload_content( + self, + type: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for type")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + organization_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an user")] = 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, + _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 credentials + + + :param type: (Optional) A filter for type + :type type: str + :param name: (Optional) A filter for name + :type name: str + :param organization_id: (Optional) Filter for an organization + :type organization_id: str + :param user_id: (Optional) Filter for an user + :type user_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_credentials_serialize( + type=type, + name=name, + organization_id=organization_id, + user_id=user_id, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListCredentialsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_credentials_serialize( + self, + type, + name, + organization_id, + user_id, + limit, + offset, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if type is not None: + + _query_params.append(('type', type)) + + if name is not None: + + _query_params.append(('name', name)) + + if organization_id is not None: + + _query_params.append(('organization_id', organization_id)) + + if user_id is not None: + + _query_params.append(('user_id', user_id)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/credentials', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_credential( + self, + id: StrictStr, + credential: Credential, + update_mask: 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, + ) -> UpdateCredentialReply: + """Update credential + + + :param id: (required) + :type id: str + :param credential: (required) + :type credential: Credential + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_credential_serialize( + id=id, + credential=credential, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_credential_with_http_info( + self, + id: StrictStr, + credential: Credential, + update_mask: 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[UpdateCredentialReply]: + """Update credential + + + :param id: (required) + :type id: str + :param credential: (required) + :type credential: Credential + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_credential_serialize( + id=id, + credential=credential, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_credential_without_preload_content( + self, + id: StrictStr, + credential: Credential, + update_mask: 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: + """Update credential + + + :param id: (required) + :type id: str + :param credential: (required) + :type credential: Credential + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_credential_serialize( + id=id, + credential=credential, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_credential_serialize( + self, + id, + credential, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if credential is not None: + _body_params = credential + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/credentials/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_credential2( + self, + id: StrictStr, + credential: Credential, + update_mask: 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, + ) -> UpdateCredentialReply: + """Update credential + + + :param id: (required) + :type id: str + :param credential: (required) + :type credential: Credential + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_credential2_serialize( + id=id, + credential=credential, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_credential2_with_http_info( + self, + id: StrictStr, + credential: Credential, + update_mask: 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[UpdateCredentialReply]: + """Update credential + + + :param id: (required) + :type id: str + :param credential: (required) + :type credential: Credential + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_credential2_serialize( + id=id, + credential=credential, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_credential2_without_preload_content( + self, + id: StrictStr, + credential: Credential, + update_mask: 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: + """Update credential + + + :param id: (required) + :type id: str + :param credential: (required) + :type credential: Credential + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_credential2_serialize( + id=id, + credential=credential, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateCredentialReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_credential2_serialize( + self, + id, + credential, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if credential is not None: + _body_params = credential + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v1/credentials/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/deployments_api.py b/koyeb/api_async/api/deployments_api.py new file mode 100644 index 00000000..5a1f7f70 --- /dev/null +++ b/koyeb/api_async/api/deployments_api.py @@ -0,0 +1,1600 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictInt, StrictStr, field_validator +from typing import Any, Dict, List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.get_deployment_reply import GetDeploymentReply +from koyeb.api_async.models.get_deployment_scaling_reply import GetDeploymentScalingReply +from koyeb.api_async.models.list_deployment_events_reply import ListDeploymentEventsReply +from koyeb.api_async.models.list_deployments_reply import ListDeploymentsReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class DeploymentsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def cancel_deployment( + self, + id: Annotated[StrictStr, Field(description="The id of the deployment to cancel.")], + _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, + ) -> object: + """Cancel Deployment + + Deployment cancellation is allowed for the following status: - pending - provisioning - scheduled + + :param id: The id of the deployment to cancel. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._cancel_deployment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def cancel_deployment_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the deployment to cancel.")], + _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[object]: + """Cancel Deployment + + Deployment cancellation is allowed for the following status: - pending - provisioning - scheduled + + :param id: The id of the deployment to cancel. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._cancel_deployment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def cancel_deployment_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the deployment to cancel.")], + _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: + """Cancel Deployment + + Deployment cancellation is allowed for the following status: - pending - provisioning - scheduled + + :param id: The id of the deployment to cancel. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._cancel_deployment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _cancel_deployment_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/deployments/{id}/cancel', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_deployment( + self, + id: Annotated[StrictStr, Field(description="The id of the deployment")], + _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, + ) -> GetDeploymentReply: + """Get Deployment + + + :param id: The id of the deployment (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_deployment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDeploymentReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_deployment_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the deployment")], + _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[GetDeploymentReply]: + """Get Deployment + + + :param id: The id of the deployment (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_deployment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDeploymentReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_deployment_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the deployment")], + _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 Deployment + + + :param id: The id of the deployment (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_deployment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDeploymentReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_deployment_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/deployments/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_deployment_scaling( + self, + id: StrictStr, + region: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on region")] = None, + replica_index: Annotated[Optional[StrictInt], Field(description="(Optional) Filter on replica_index")] = 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, + ) -> GetDeploymentScalingReply: + """Get Deployment Scaling + + + :param id: (required) + :type id: str + :param region: (Optional) Filter on region + :type region: str + :param replica_index: (Optional) Filter on replica_index + :type replica_index: int + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_deployment_scaling_serialize( + id=id, + region=region, + replica_index=replica_index, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDeploymentScalingReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_deployment_scaling_with_http_info( + self, + id: StrictStr, + region: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on region")] = None, + replica_index: Annotated[Optional[StrictInt], Field(description="(Optional) Filter on replica_index")] = 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[GetDeploymentScalingReply]: + """Get Deployment Scaling + + + :param id: (required) + :type id: str + :param region: (Optional) Filter on region + :type region: str + :param replica_index: (Optional) Filter on replica_index + :type replica_index: int + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_deployment_scaling_serialize( + id=id, + region=region, + replica_index=replica_index, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDeploymentScalingReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_deployment_scaling_without_preload_content( + self, + id: StrictStr, + region: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on region")] = None, + replica_index: Annotated[Optional[StrictInt], Field(description="(Optional) Filter on replica_index")] = 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: + """Get Deployment Scaling + + + :param id: (required) + :type id: str + :param region: (Optional) Filter on region + :type region: str + :param replica_index: (Optional) Filter on replica_index + :type replica_index: int + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_deployment_scaling_serialize( + id=id, + region=region, + replica_index=replica_index, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDeploymentScalingReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_deployment_scaling_serialize( + self, + id, + region, + replica_index, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if region is not None: + + _query_params.append(('region', region)) + + if replica_index is not None: + + _query_params.append(('replica_index', replica_index)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/deployment/{id}/scaling', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_deployment_events( + self, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on deployment id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on deployment 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, + ) -> ListDeploymentEventsReply: + """List Deployment events + + + :param deployment_id: (Optional) Filter on deployment id + :type deployment_id: str + :param types: (Optional) Filter on deployment event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_deployment_events_serialize( + deployment_id=deployment_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDeploymentEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_deployment_events_with_http_info( + self, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on deployment id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on deployment 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[ListDeploymentEventsReply]: + """List Deployment events + + + :param deployment_id: (Optional) Filter on deployment id + :type deployment_id: str + :param types: (Optional) Filter on deployment event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_deployment_events_serialize( + deployment_id=deployment_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDeploymentEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_deployment_events_without_preload_content( + self, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on deployment id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on deployment 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 Deployment events + + + :param deployment_id: (Optional) Filter on deployment id + :type deployment_id: str + :param types: (Optional) Filter on deployment event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_deployment_events_serialize( + deployment_id=deployment_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDeploymentEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_deployment_events_serialize( + self, + deployment_id, + types, + limit, + offset, + order, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'types': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if deployment_id is not None: + + _query_params.append(('deployment_id', deployment_id)) + + if types is not None: + + _query_params.append(('types', types)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/deployment_events', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_deployments( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on service id")] = 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on statuses")] = 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, + ) -> ListDeploymentsReply: + """List Deployments + + + :param app_id: (Optional) Filter on application id + :type app_id: str + :param service_id: (Optional) Filter on service id + :type service_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on statuses + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_deployments_serialize( + app_id=app_id, + service_id=service_id, + limit=limit, + offset=offset, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDeploymentsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_deployments_with_http_info( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on service id")] = 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on statuses")] = 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[ListDeploymentsReply]: + """List Deployments + + + :param app_id: (Optional) Filter on application id + :type app_id: str + :param service_id: (Optional) Filter on service id + :type service_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on statuses + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_deployments_serialize( + app_id=app_id, + service_id=service_id, + limit=limit, + offset=offset, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDeploymentsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_deployments_without_preload_content( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on service id")] = 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on statuses")] = 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 Deployments + + + :param app_id: (Optional) Filter on application id + :type app_id: str + :param service_id: (Optional) Filter on service id + :type service_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on statuses + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_deployments_serialize( + app_id=app_id, + service_id=service_id, + limit=limit, + offset=offset, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDeploymentsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_deployments_serialize( + self, + app_id, + service_id, + limit, + offset, + statuses, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'statuses': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if app_id is not None: + + _query_params.append(('app_id', app_id)) + + if service_id is not None: + + _query_params.append(('service_id', service_id)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if statuses is not None: + + _query_params.append(('statuses', statuses)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/deployments', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/docker_helper_api.py b/koyeb/api_async/api/docker_helper_api.py new file mode 100644 index 00000000..31bfcf87 --- /dev/null +++ b/koyeb/api_async/api/docker_helper_api.py @@ -0,0 +1,336 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from koyeb.api_async.models.verify_docker_image_reply import VerifyDockerImageReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class DockerHelperApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def verify_docker_image( + self, + image: Annotated[Optional[StrictStr], Field(description="The full image uri to be verified")] = None, + secret_id: Annotated[Optional[StrictStr], Field(description="(Optional) the id of the secret to use to authenticate to the registry")] = 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, + ) -> VerifyDockerImageReply: + """Verify Docker Image + + Verify if a docker image is reachable + + :param image: The full image uri to be verified + :type image: str + :param secret_id: (Optional) the id of the secret to use to authenticate to the registry + :type secret_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._verify_docker_image_serialize( + image=image, + secret_id=secret_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VerifyDockerImageReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def verify_docker_image_with_http_info( + self, + image: Annotated[Optional[StrictStr], Field(description="The full image uri to be verified")] = None, + secret_id: Annotated[Optional[StrictStr], Field(description="(Optional) the id of the secret to use to authenticate to the registry")] = 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[VerifyDockerImageReply]: + """Verify Docker Image + + Verify if a docker image is reachable + + :param image: The full image uri to be verified + :type image: str + :param secret_id: (Optional) the id of the secret to use to authenticate to the registry + :type secret_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._verify_docker_image_serialize( + image=image, + secret_id=secret_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VerifyDockerImageReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def verify_docker_image_without_preload_content( + self, + image: Annotated[Optional[StrictStr], Field(description="The full image uri to be verified")] = None, + secret_id: Annotated[Optional[StrictStr], Field(description="(Optional) the id of the secret to use to authenticate to the registry")] = 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: + """Verify Docker Image + + Verify if a docker image is reachable + + :param image: The full image uri to be verified + :type image: str + :param secret_id: (Optional) the id of the secret to use to authenticate to the registry + :type secret_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._verify_docker_image_serialize( + image=image, + secret_id=secret_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VerifyDockerImageReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _verify_docker_image_serialize( + self, + image, + secret_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if image is not None: + + _query_params.append(('image', image)) + + if secret_id is not None: + + _query_params.append(('secret_id', secret_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/docker-helper/verify', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/domains_api.py b/koyeb/api_async/api/domains_api.py new file mode 100644 index 00000000..30501834 --- /dev/null +++ b/koyeb/api_async/api/domains_api.py @@ -0,0 +1,1855 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Any, Dict, List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.create_domain import CreateDomain +from koyeb.api_async.models.create_domain_reply import CreateDomainReply +from koyeb.api_async.models.get_domain_reply import GetDomainReply +from koyeb.api_async.models.list_domains_reply import ListDomainsReply +from koyeb.api_async.models.update_domain import UpdateDomain +from koyeb.api_async.models.update_domain_reply import UpdateDomainReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class DomainsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_domain( + self, + domain: CreateDomain, + _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, + ) -> CreateDomainReply: + """Create Domain + + + :param domain: (required) + :type domain: CreateDomain + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_domain_serialize( + domain=domain, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateDomainReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_domain_with_http_info( + self, + domain: CreateDomain, + _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[CreateDomainReply]: + """Create Domain + + + :param domain: (required) + :type domain: CreateDomain + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_domain_serialize( + domain=domain, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateDomainReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_domain_without_preload_content( + self, + domain: CreateDomain, + _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 Domain + + + :param domain: (required) + :type domain: CreateDomain + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_domain_serialize( + domain=domain, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateDomainReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_domain_serialize( + self, + domain, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if domain is not None: + _body_params = domain + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/domains', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_domain( + self, + 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, + ) -> object: + """Delete Domain + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_domain_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_domain_with_http_info( + self, + 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[object]: + """Delete Domain + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_domain_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_domain_without_preload_content( + self, + 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 Domain + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_domain_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_domain_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/domains/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_domain( + self, + 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, + ) -> GetDomainReply: + """Get Domain + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_domain_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDomainReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_domain_with_http_info( + self, + 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[GetDomainReply]: + """Get Domain + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_domain_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDomainReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_domain_without_preload_content( + self, + 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 Domain + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_domain_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetDomainReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_domain_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/domains/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_domains( + self, + 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, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) A filter for statuses")] = None, + app_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) A filter for apps")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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, + ) -> ListDomainsReply: + """List Domains + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param types: (Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app + :type types: List[str] + :param statuses: (Optional) A filter for statuses + :type statuses: List[str] + :param app_ids: (Optional) A filter for apps + :type app_ids: List[str] + :param name: (Optional) A filter for name + :type name: str + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_domains_serialize( + limit=limit, + offset=offset, + types=types, + statuses=statuses, + app_ids=app_ids, + name=name, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDomainsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_domains_with_http_info( + self, + 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, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) A filter for statuses")] = None, + app_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) A filter for apps")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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[ListDomainsReply]: + """List Domains + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param types: (Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app + :type types: List[str] + :param statuses: (Optional) A filter for statuses + :type statuses: List[str] + :param app_ids: (Optional) A filter for apps + :type app_ids: List[str] + :param name: (Optional) A filter for name + :type name: str + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_domains_serialize( + limit=limit, + offset=offset, + types=types, + statuses=statuses, + app_ids=app_ids, + name=name, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDomainsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_domains_without_preload_content( + self, + 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, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) A filter for statuses")] = None, + app_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) A filter for apps")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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 Domains + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param types: (Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app + :type types: List[str] + :param statuses: (Optional) A filter for statuses + :type statuses: List[str] + :param app_ids: (Optional) A filter for apps + :type app_ids: List[str] + :param name: (Optional) A filter for name + :type name: str + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_domains_serialize( + limit=limit, + offset=offset, + types=types, + statuses=statuses, + app_ids=app_ids, + name=name, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListDomainsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_domains_serialize( + self, + limit, + offset, + types, + statuses, + app_ids, + name, + project_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'types': 'multi', + 'statuses': 'multi', + 'app_ids': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if types is not None: + + _query_params.append(('types', types)) + + if statuses is not None: + + _query_params.append(('statuses', statuses)) + + if app_ids is not None: + + _query_params.append(('app_ids', app_ids)) + + if name is not None: + + _query_params.append(('name', name)) + + if project_id is not None: + + _query_params.append(('project_id', project_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/domains', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def refresh_domain_status( + self, + 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, + ) -> object: + """Refresh Domain Status + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._refresh_domain_status_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def refresh_domain_status_with_http_info( + self, + 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[object]: + """Refresh Domain Status + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._refresh_domain_status_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def refresh_domain_status_without_preload_content( + self, + 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: + """Refresh Domain Status + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._refresh_domain_status_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _refresh_domain_status_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/domains/{id}/refresh', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_domain( + self, + id: StrictStr, + domain: UpdateDomain, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[Optional[StrictBool], Field(description="If set, run validation and check that the domain is available.")] = 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, + ) -> UpdateDomainReply: + """Update Domain + + + :param id: (required) + :type id: str + :param domain: (required) + :type domain: UpdateDomain + :param update_mask: + :type update_mask: str + :param dry_run: If set, run validation and check that the domain is available. + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_domain_serialize( + id=id, + domain=domain, + update_mask=update_mask, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateDomainReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_domain_with_http_info( + self, + id: StrictStr, + domain: UpdateDomain, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[Optional[StrictBool], Field(description="If set, run validation and check that the domain is available.")] = 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[UpdateDomainReply]: + """Update Domain + + + :param id: (required) + :type id: str + :param domain: (required) + :type domain: UpdateDomain + :param update_mask: + :type update_mask: str + :param dry_run: If set, run validation and check that the domain is available. + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_domain_serialize( + id=id, + domain=domain, + update_mask=update_mask, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateDomainReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_domain_without_preload_content( + self, + id: StrictStr, + domain: UpdateDomain, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[Optional[StrictBool], Field(description="If set, run validation and check that the domain is available.")] = 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: + """Update Domain + + + :param id: (required) + :type id: str + :param domain: (required) + :type domain: UpdateDomain + :param update_mask: + :type update_mask: str + :param dry_run: If set, run validation and check that the domain is available. + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_domain_serialize( + id=id, + domain=domain, + update_mask=update_mask, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateDomainReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_domain_serialize( + self, + id, + domain, + update_mask, + dry_run, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + if dry_run is not None: + + _query_params.append(('dry_run', dry_run)) + + # process the header parameters + # process the form parameters + # process the body parameter + if domain is not None: + _body_params = domain + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v1/domains/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/instances_api.py b/koyeb/api_async/api/instances_api.py new file mode 100644 index 00000000..315c8bc0 --- /dev/null +++ b/koyeb/api_async/api/instances_api.py @@ -0,0 +1,1551 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import datetime +from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr, field_validator +from typing import List, Optional, Union +from typing_extensions import Annotated +from koyeb.api_async.models.get_instance_reply import GetInstanceReply +from koyeb.api_async.models.list_instance_events_reply import ListInstanceEventsReply +from koyeb.api_async.models.list_instances_reply import ListInstancesReply +from koyeb.api_async.models.stream_result_of_exec_command_reply import StreamResultOfExecCommandReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class InstancesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def exec_command( + self, + id: Annotated[Optional[StrictStr], Field(description="ID of the resource to exec on.")] = None, + body_command: Annotated[Optional[List[StrictStr]], Field(description="Command to exec. Mandatory in the first frame sent")] = None, + body_tty_size_height: Optional[StrictInt] = None, + body_tty_size_width: Optional[StrictInt] = None, + body_stdin_data: Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="Data is base64 encoded")] = None, + body_stdin_close: Annotated[Optional[StrictBool], Field(description="Indicate last data frame")] = None, + body_disable_tty: Annotated[Optional[StrictBool], Field(description="Disable TTY. It's enough to specify it in the first frame")] = None, + id_type: Annotated[Optional[StrictStr], Field(description="When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id.")] = 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, + ) -> StreamResultOfExecCommandReply: + """Exec Command + + This endpoint opens a websocket. Once open, all frames going through the websocket should be formatted in JSON. Input frames should match the format specified below. Output frames will match the response schema. + + :param id: ID of the resource to exec on. + :type id: str + :param body_command: Command to exec. Mandatory in the first frame sent + :type body_command: List[str] + :param body_tty_size_height: + :type body_tty_size_height: int + :param body_tty_size_width: + :type body_tty_size_width: int + :param body_stdin_data: Data is base64 encoded + :type body_stdin_data: bytes + :param body_stdin_close: Indicate last data frame + :type body_stdin_close: bool + :param body_disable_tty: Disable TTY. It's enough to specify it in the first frame + :type body_disable_tty: bool + :param id_type: When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id. + :type id_type: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._exec_command_serialize( + id=id, + body_command=body_command, + body_tty_size_height=body_tty_size_height, + body_tty_size_width=body_tty_size_width, + body_stdin_data=body_stdin_data, + body_stdin_close=body_stdin_close, + body_disable_tty=body_disable_tty, + id_type=id_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StreamResultOfExecCommandReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def exec_command_with_http_info( + self, + id: Annotated[Optional[StrictStr], Field(description="ID of the resource to exec on.")] = None, + body_command: Annotated[Optional[List[StrictStr]], Field(description="Command to exec. Mandatory in the first frame sent")] = None, + body_tty_size_height: Optional[StrictInt] = None, + body_tty_size_width: Optional[StrictInt] = None, + body_stdin_data: Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="Data is base64 encoded")] = None, + body_stdin_close: Annotated[Optional[StrictBool], Field(description="Indicate last data frame")] = None, + body_disable_tty: Annotated[Optional[StrictBool], Field(description="Disable TTY. It's enough to specify it in the first frame")] = None, + id_type: Annotated[Optional[StrictStr], Field(description="When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id.")] = 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[StreamResultOfExecCommandReply]: + """Exec Command + + This endpoint opens a websocket. Once open, all frames going through the websocket should be formatted in JSON. Input frames should match the format specified below. Output frames will match the response schema. + + :param id: ID of the resource to exec on. + :type id: str + :param body_command: Command to exec. Mandatory in the first frame sent + :type body_command: List[str] + :param body_tty_size_height: + :type body_tty_size_height: int + :param body_tty_size_width: + :type body_tty_size_width: int + :param body_stdin_data: Data is base64 encoded + :type body_stdin_data: bytes + :param body_stdin_close: Indicate last data frame + :type body_stdin_close: bool + :param body_disable_tty: Disable TTY. It's enough to specify it in the first frame + :type body_disable_tty: bool + :param id_type: When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id. + :type id_type: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._exec_command_serialize( + id=id, + body_command=body_command, + body_tty_size_height=body_tty_size_height, + body_tty_size_width=body_tty_size_width, + body_stdin_data=body_stdin_data, + body_stdin_close=body_stdin_close, + body_disable_tty=body_disable_tty, + id_type=id_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StreamResultOfExecCommandReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def exec_command_without_preload_content( + self, + id: Annotated[Optional[StrictStr], Field(description="ID of the resource to exec on.")] = None, + body_command: Annotated[Optional[List[StrictStr]], Field(description="Command to exec. Mandatory in the first frame sent")] = None, + body_tty_size_height: Optional[StrictInt] = None, + body_tty_size_width: Optional[StrictInt] = None, + body_stdin_data: Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="Data is base64 encoded")] = None, + body_stdin_close: Annotated[Optional[StrictBool], Field(description="Indicate last data frame")] = None, + body_disable_tty: Annotated[Optional[StrictBool], Field(description="Disable TTY. It's enough to specify it in the first frame")] = None, + id_type: Annotated[Optional[StrictStr], Field(description="When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id.")] = 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: + """Exec Command + + This endpoint opens a websocket. Once open, all frames going through the websocket should be formatted in JSON. Input frames should match the format specified below. Output frames will match the response schema. + + :param id: ID of the resource to exec on. + :type id: str + :param body_command: Command to exec. Mandatory in the first frame sent + :type body_command: List[str] + :param body_tty_size_height: + :type body_tty_size_height: int + :param body_tty_size_width: + :type body_tty_size_width: int + :param body_stdin_data: Data is base64 encoded + :type body_stdin_data: bytes + :param body_stdin_close: Indicate last data frame + :type body_stdin_close: bool + :param body_disable_tty: Disable TTY. It's enough to specify it in the first frame + :type body_disable_tty: bool + :param id_type: When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id. + :type id_type: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._exec_command_serialize( + id=id, + body_command=body_command, + body_tty_size_height=body_tty_size_height, + body_tty_size_width=body_tty_size_width, + body_stdin_data=body_stdin_data, + body_stdin_close=body_stdin_close, + body_disable_tty=body_disable_tty, + id_type=id_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StreamResultOfExecCommandReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _exec_command_serialize( + self, + id, + body_command, + body_tty_size_height, + body_tty_size_width, + body_stdin_data, + body_stdin_close, + body_disable_tty, + id_type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'body.command': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if id is not None: + + _query_params.append(('id', id)) + + if body_command is not None: + + _query_params.append(('body.command', body_command)) + + if body_tty_size_height is not None: + + _query_params.append(('body.tty_size.height', body_tty_size_height)) + + if body_tty_size_width is not None: + + _query_params.append(('body.tty_size.width', body_tty_size_width)) + + if body_stdin_data is not None: + + _query_params.append(('body.stdin.data', body_stdin_data)) + + if body_stdin_close is not None: + + _query_params.append(('body.stdin.close', body_stdin_close)) + + if body_disable_tty is not None: + + _query_params.append(('body.disableTty', body_disable_tty)) + + if id_type is not None: + + _query_params.append(('id_type', id_type)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/streams/instances/exec', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_instance( + self, + id: Annotated[StrictStr, Field(description="The id of the instance")], + _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, + ) -> GetInstanceReply: + """Get Instance + + + :param id: The id of the instance (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_instance_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetInstanceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_instance_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the instance")], + _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[GetInstanceReply]: + """Get Instance + + + :param id: The id of the instance (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_instance_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetInstanceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_instance_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the instance")], + _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 + + + :param id: The id of the instance (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_instance_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetInstanceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_instance_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/instances/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_instance_events( + self, + instance_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on list of instance id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on instance 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, + ) -> ListInstanceEventsReply: + """List Instance events + + + :param instance_ids: (Optional) Filter on list of instance id + :type instance_ids: List[str] + :param types: (Optional) Filter on instance event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_instance_events_serialize( + instance_ids=instance_ids, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListInstanceEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_instance_events_with_http_info( + self, + instance_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on list of instance id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on instance 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[ListInstanceEventsReply]: + """List Instance events + + + :param instance_ids: (Optional) Filter on list of instance id + :type instance_ids: List[str] + :param types: (Optional) Filter on instance event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_instance_events_serialize( + instance_ids=instance_ids, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListInstanceEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_instance_events_without_preload_content( + self, + instance_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on list of instance id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on instance 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 events + + + :param instance_ids: (Optional) Filter on list of instance id + :type instance_ids: List[str] + :param types: (Optional) Filter on instance event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_instance_events_serialize( + instance_ids=instance_ids, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListInstanceEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_instance_events_serialize( + self, + instance_ids, + types, + limit, + offset, + order, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'instance_ids': 'multi', + 'types': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if instance_ids is not None: + + _query_params.append(('instance_ids', instance_ids)) + + if types is not None: + + _query_params.append(('types', types)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/instance_events', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_instances( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on service id")] = None, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on deployment id")] = None, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on regional deployment id")] = None, + allocation_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on allocation id")] = None, + replica_index: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on replica index")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on instance statuses")] = 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, + starting_time: Annotated[Optional[datetime], Field(description="(Optional) The starting time of the period of running instance")] = None, + ending_time: Annotated[Optional[datetime], Field(description="(Optional) The ending time of the period of running instance")] = 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, + ) -> ListInstancesReply: + """List Instances + + + :param app_id: (Optional) Filter on application id + :type app_id: str + :param service_id: (Optional) Filter on service id + :type service_id: str + :param deployment_id: (Optional) Filter on deployment id + :type deployment_id: str + :param regional_deployment_id: (Optional) Filter on regional deployment id + :type regional_deployment_id: str + :param allocation_id: (Optional) Filter on allocation id + :type allocation_id: str + :param replica_index: (Optional) Filter on replica index + :type replica_index: str + :param statuses: (Optional) Filter on instance statuses + :type statuses: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param starting_time: (Optional) The starting time of the period of running instance + :type starting_time: datetime + :param ending_time: (Optional) The ending time of the period of running instance + :type ending_time: datetime + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_instances_serialize( + app_id=app_id, + service_id=service_id, + deployment_id=deployment_id, + regional_deployment_id=regional_deployment_id, + allocation_id=allocation_id, + replica_index=replica_index, + statuses=statuses, + limit=limit, + offset=offset, + order=order, + starting_time=starting_time, + ending_time=ending_time, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListInstancesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_instances_with_http_info( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on service id")] = None, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on deployment id")] = None, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on regional deployment id")] = None, + allocation_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on allocation id")] = None, + replica_index: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on replica index")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on instance statuses")] = 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, + starting_time: Annotated[Optional[datetime], Field(description="(Optional) The starting time of the period of running instance")] = None, + ending_time: Annotated[Optional[datetime], Field(description="(Optional) The ending time of the period of running instance")] = 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[ListInstancesReply]: + """List Instances + + + :param app_id: (Optional) Filter on application id + :type app_id: str + :param service_id: (Optional) Filter on service id + :type service_id: str + :param deployment_id: (Optional) Filter on deployment id + :type deployment_id: str + :param regional_deployment_id: (Optional) Filter on regional deployment id + :type regional_deployment_id: str + :param allocation_id: (Optional) Filter on allocation id + :type allocation_id: str + :param replica_index: (Optional) Filter on replica index + :type replica_index: str + :param statuses: (Optional) Filter on instance statuses + :type statuses: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param starting_time: (Optional) The starting time of the period of running instance + :type starting_time: datetime + :param ending_time: (Optional) The ending time of the period of running instance + :type ending_time: datetime + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_instances_serialize( + app_id=app_id, + service_id=service_id, + deployment_id=deployment_id, + regional_deployment_id=regional_deployment_id, + allocation_id=allocation_id, + replica_index=replica_index, + statuses=statuses, + limit=limit, + offset=offset, + order=order, + starting_time=starting_time, + ending_time=ending_time, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListInstancesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_instances_without_preload_content( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on application id")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on service id")] = None, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on deployment id")] = None, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on regional deployment id")] = None, + allocation_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on allocation id")] = None, + replica_index: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on replica index")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on instance statuses")] = 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, + starting_time: Annotated[Optional[datetime], Field(description="(Optional) The starting time of the period of running instance")] = None, + ending_time: Annotated[Optional[datetime], Field(description="(Optional) The ending time of the period of running instance")] = 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 Instances + + + :param app_id: (Optional) Filter on application id + :type app_id: str + :param service_id: (Optional) Filter on service id + :type service_id: str + :param deployment_id: (Optional) Filter on deployment id + :type deployment_id: str + :param regional_deployment_id: (Optional) Filter on regional deployment id + :type regional_deployment_id: str + :param allocation_id: (Optional) Filter on allocation id + :type allocation_id: str + :param replica_index: (Optional) Filter on replica index + :type replica_index: str + :param statuses: (Optional) Filter on instance statuses + :type statuses: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param starting_time: (Optional) The starting time of the period of running instance + :type starting_time: datetime + :param ending_time: (Optional) The ending time of the period of running instance + :type ending_time: datetime + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_instances_serialize( + app_id=app_id, + service_id=service_id, + deployment_id=deployment_id, + regional_deployment_id=regional_deployment_id, + allocation_id=allocation_id, + replica_index=replica_index, + statuses=statuses, + limit=limit, + offset=offset, + order=order, + starting_time=starting_time, + ending_time=ending_time, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListInstancesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_instances_serialize( + self, + app_id, + service_id, + deployment_id, + regional_deployment_id, + allocation_id, + replica_index, + statuses, + limit, + offset, + order, + starting_time, + ending_time, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'statuses': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if app_id is not None: + + _query_params.append(('app_id', app_id)) + + if service_id is not None: + + _query_params.append(('service_id', service_id)) + + if deployment_id is not None: + + _query_params.append(('deployment_id', deployment_id)) + + if regional_deployment_id is not None: + + _query_params.append(('regional_deployment_id', regional_deployment_id)) + + if allocation_id is not None: + + _query_params.append(('allocation_id', allocation_id)) + + if replica_index is not None: + + _query_params.append(('replica_index', replica_index)) + + if statuses is not None: + + _query_params.append(('statuses', statuses)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if starting_time is not None: + if isinstance(starting_time, datetime): + _query_params.append( + ( + 'starting_time', + starting_time.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('starting_time', starting_time)) + + if ending_time is not None: + if isinstance(ending_time, datetime): + _query_params.append( + ( + 'ending_time', + ending_time.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('ending_time', ending_time)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/instances', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/intercom_api.py b/koyeb/api_async/api/intercom_api.py new file mode 100644 index 00000000..564442ed --- /dev/null +++ b/koyeb/api_async/api/intercom_api.py @@ -0,0 +1,296 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from koyeb.api_async.models.get_intercom_profile_reply import GetIntercomProfileReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class IntercomApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def get_intercom_profile( + self, + _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, + ) -> GetIntercomProfileReply: + """Get intercom profile + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_intercom_profile_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetIntercomProfileReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_intercom_profile_with_http_info( + self, + _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[GetIntercomProfileReply]: + """Get intercom profile + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_intercom_profile_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetIntercomProfileReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_intercom_profile_without_preload_content( + self, + _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 intercom profile + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_intercom_profile_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetIntercomProfileReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_intercom_profile_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/intercom/profile', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/invite_api.py b/koyeb/api_async/api/invite_api.py new file mode 100644 index 00000000..8244da29 --- /dev/null +++ b/koyeb/api_async/api/invite_api.py @@ -0,0 +1,312 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from typing import Any, Dict +from koyeb.api_async.models.invite_user_request import InviteUserRequest + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class InviteApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_invite( + self, + body: InviteUserRequest, + _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, + ) -> object: + """DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: InviteUserRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_invite_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_invite_with_http_info( + self, + body: InviteUserRequest, + _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[object]: + """DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: InviteUserRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_invite_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_invite_without_preload_content( + self, + body: InviteUserRequest, + _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: + """DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: InviteUserRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_invite_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_invite_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/invite', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/logs_api.py b/koyeb/api_async/api/logs_api.py new file mode 100644 index 00000000..7964e3c8 --- /dev/null +++ b/koyeb/api_async/api/logs_api.py @@ -0,0 +1,1105 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import datetime +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.query_logs_reply import QueryLogsReply +from koyeb.api_async.models.stream_result_of_log_entry import StreamResultOfLogEntry + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class LogsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def query_logs( + self, + type: Annotated[Optional[StrictStr], Field(description="Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\".")] = None, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + instance_id: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using instance_ids instead.")] = None, + instance_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + stream: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs).")] = None, + start: Annotated[Optional[datetime], Field(description="(Optional) Must always be before `end`. Defaults to 15 minutes ago.")] = None, + end: Annotated[Optional[datetime], Field(description="(Optional) Must always be after `start`. Defaults to now.")] = None, + order: Annotated[Optional[StrictStr], Field(description="(Optional) `asc` or `desc`. Defaults to `desc`.")] = None, + limit: Annotated[Optional[StrictStr], Field(description="(Optional) Defaults to 100. Maximum of 1000.")] = None, + regex: Annotated[Optional[StrictStr], Field(description="(Optional) Apply a regex to filter logs. Can't be used with `text`.")] = None, + text: Annotated[Optional[StrictStr], Field(description="(Optional) Looks for this string in logs. Can't be used with `regex`.")] = None, + regions: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]).")] = 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, + ) -> QueryLogsReply: + """Query logs + + + :param type: Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\". + :type type: str + :param app_id: (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type app_id: str + :param service_id: (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type service_id: str + :param deployment_id: (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type deployment_id: str + :param regional_deployment_id: (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type regional_deployment_id: str + :param instance_id: Deprecated, prefer using instance_ids instead. + :type instance_id: str + :param instance_ids: (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type instance_ids: List[str] + :param stream: Deprecated, prefer using streams instead. + :type stream: str + :param streams: (Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs). + :type streams: List[str] + :param start: (Optional) Must always be before `end`. Defaults to 15 minutes ago. + :type start: datetime + :param end: (Optional) Must always be after `start`. Defaults to now. + :type end: datetime + :param order: (Optional) `asc` or `desc`. Defaults to `desc`. + :type order: str + :param limit: (Optional) Defaults to 100. Maximum of 1000. + :type limit: str + :param regex: (Optional) Apply a regex to filter logs. Can't be used with `text`. + :type regex: str + :param text: (Optional) Looks for this string in logs. Can't be used with `regex`. + :type text: str + :param regions: (Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]). + :type regions: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._query_logs_serialize( + type=type, + app_id=app_id, + service_id=service_id, + deployment_id=deployment_id, + regional_deployment_id=regional_deployment_id, + instance_id=instance_id, + instance_ids=instance_ids, + stream=stream, + streams=streams, + start=start, + end=end, + order=order, + limit=limit, + regex=regex, + text=text, + regions=regions, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QueryLogsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def query_logs_with_http_info( + self, + type: Annotated[Optional[StrictStr], Field(description="Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\".")] = None, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + instance_id: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using instance_ids instead.")] = None, + instance_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + stream: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs).")] = None, + start: Annotated[Optional[datetime], Field(description="(Optional) Must always be before `end`. Defaults to 15 minutes ago.")] = None, + end: Annotated[Optional[datetime], Field(description="(Optional) Must always be after `start`. Defaults to now.")] = None, + order: Annotated[Optional[StrictStr], Field(description="(Optional) `asc` or `desc`. Defaults to `desc`.")] = None, + limit: Annotated[Optional[StrictStr], Field(description="(Optional) Defaults to 100. Maximum of 1000.")] = None, + regex: Annotated[Optional[StrictStr], Field(description="(Optional) Apply a regex to filter logs. Can't be used with `text`.")] = None, + text: Annotated[Optional[StrictStr], Field(description="(Optional) Looks for this string in logs. Can't be used with `regex`.")] = None, + regions: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]).")] = 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[QueryLogsReply]: + """Query logs + + + :param type: Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\". + :type type: str + :param app_id: (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type app_id: str + :param service_id: (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type service_id: str + :param deployment_id: (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type deployment_id: str + :param regional_deployment_id: (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type regional_deployment_id: str + :param instance_id: Deprecated, prefer using instance_ids instead. + :type instance_id: str + :param instance_ids: (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type instance_ids: List[str] + :param stream: Deprecated, prefer using streams instead. + :type stream: str + :param streams: (Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs). + :type streams: List[str] + :param start: (Optional) Must always be before `end`. Defaults to 15 minutes ago. + :type start: datetime + :param end: (Optional) Must always be after `start`. Defaults to now. + :type end: datetime + :param order: (Optional) `asc` or `desc`. Defaults to `desc`. + :type order: str + :param limit: (Optional) Defaults to 100. Maximum of 1000. + :type limit: str + :param regex: (Optional) Apply a regex to filter logs. Can't be used with `text`. + :type regex: str + :param text: (Optional) Looks for this string in logs. Can't be used with `regex`. + :type text: str + :param regions: (Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]). + :type regions: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._query_logs_serialize( + type=type, + app_id=app_id, + service_id=service_id, + deployment_id=deployment_id, + regional_deployment_id=regional_deployment_id, + instance_id=instance_id, + instance_ids=instance_ids, + stream=stream, + streams=streams, + start=start, + end=end, + order=order, + limit=limit, + regex=regex, + text=text, + regions=regions, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QueryLogsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def query_logs_without_preload_content( + self, + type: Annotated[Optional[StrictStr], Field(description="Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\".")] = None, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + instance_id: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using instance_ids instead.")] = None, + instance_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + stream: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs).")] = None, + start: Annotated[Optional[datetime], Field(description="(Optional) Must always be before `end`. Defaults to 15 minutes ago.")] = None, + end: Annotated[Optional[datetime], Field(description="(Optional) Must always be after `start`. Defaults to now.")] = None, + order: Annotated[Optional[StrictStr], Field(description="(Optional) `asc` or `desc`. Defaults to `desc`.")] = None, + limit: Annotated[Optional[StrictStr], Field(description="(Optional) Defaults to 100. Maximum of 1000.")] = None, + regex: Annotated[Optional[StrictStr], Field(description="(Optional) Apply a regex to filter logs. Can't be used with `text`.")] = None, + text: Annotated[Optional[StrictStr], Field(description="(Optional) Looks for this string in logs. Can't be used with `regex`.")] = None, + regions: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]).")] = 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: + """Query logs + + + :param type: Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\". + :type type: str + :param app_id: (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type app_id: str + :param service_id: (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type service_id: str + :param deployment_id: (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type deployment_id: str + :param regional_deployment_id: (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type regional_deployment_id: str + :param instance_id: Deprecated, prefer using instance_ids instead. + :type instance_id: str + :param instance_ids: (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type instance_ids: List[str] + :param stream: Deprecated, prefer using streams instead. + :type stream: str + :param streams: (Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs). + :type streams: List[str] + :param start: (Optional) Must always be before `end`. Defaults to 15 minutes ago. + :type start: datetime + :param end: (Optional) Must always be after `start`. Defaults to now. + :type end: datetime + :param order: (Optional) `asc` or `desc`. Defaults to `desc`. + :type order: str + :param limit: (Optional) Defaults to 100. Maximum of 1000. + :type limit: str + :param regex: (Optional) Apply a regex to filter logs. Can't be used with `text`. + :type regex: str + :param text: (Optional) Looks for this string in logs. Can't be used with `regex`. + :type text: str + :param regions: (Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]). + :type regions: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._query_logs_serialize( + type=type, + app_id=app_id, + service_id=service_id, + deployment_id=deployment_id, + regional_deployment_id=regional_deployment_id, + instance_id=instance_id, + instance_ids=instance_ids, + stream=stream, + streams=streams, + start=start, + end=end, + order=order, + limit=limit, + regex=regex, + text=text, + regions=regions, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QueryLogsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _query_logs_serialize( + self, + type, + app_id, + service_id, + deployment_id, + regional_deployment_id, + instance_id, + instance_ids, + stream, + streams, + start, + end, + order, + limit, + regex, + text, + regions, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'instance_ids': 'multi', + 'streams': 'multi', + 'regions': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if type is not None: + + _query_params.append(('type', type)) + + if app_id is not None: + + _query_params.append(('app_id', app_id)) + + if service_id is not None: + + _query_params.append(('service_id', service_id)) + + if deployment_id is not None: + + _query_params.append(('deployment_id', deployment_id)) + + if regional_deployment_id is not None: + + _query_params.append(('regional_deployment_id', regional_deployment_id)) + + if instance_id is not None: + + _query_params.append(('instance_id', instance_id)) + + if instance_ids is not None: + + _query_params.append(('instance_ids', instance_ids)) + + if stream is not None: + + _query_params.append(('stream', stream)) + + if streams is not None: + + _query_params.append(('streams', streams)) + + if start is not None: + if isinstance(start, datetime): + _query_params.append( + ( + 'start', + start.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('start', start)) + + if end is not None: + if isinstance(end, datetime): + _query_params.append( + ( + 'end', + end.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('end', end)) + + if order is not None: + + _query_params.append(('order', order)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if regex is not None: + + _query_params.append(('regex', regex)) + + if text is not None: + + _query_params.append(('text', text)) + + if regions is not None: + + _query_params.append(('regions', regions)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/streams/logs/query', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def tail_logs( + self, + type: Annotated[Optional[StrictStr], Field(description="Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\".")] = None, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + instance_id: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using instance_ids instead.")] = None, + instance_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + stream: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs).")] = None, + start: Annotated[Optional[datetime], Field(description="(Optional) Defaults to 24 hours ago.")] = None, + limit: Annotated[Optional[StrictStr], Field(description="(Optional) Defaults to 1000. Maximum of 1000.")] = None, + regex: Annotated[Optional[StrictStr], Field(description="(Optional) Apply a regex to filter logs. Can't be used with `text`.")] = None, + text: Annotated[Optional[StrictStr], Field(description="(Optional) Looks for this string in logs. Can't be used with `regex`.")] = None, + regions: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]).")] = 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, + ) -> StreamResultOfLogEntry: + """Tails logs + + + :param type: Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\". + :type type: str + :param app_id: (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type app_id: str + :param service_id: (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type service_id: str + :param deployment_id: (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type deployment_id: str + :param regional_deployment_id: (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type regional_deployment_id: str + :param instance_id: Deprecated, prefer using instance_ids instead. + :type instance_id: str + :param instance_ids: (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type instance_ids: List[str] + :param stream: Deprecated, prefer using streams instead. + :type stream: str + :param streams: (Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs). + :type streams: List[str] + :param start: (Optional) Defaults to 24 hours ago. + :type start: datetime + :param limit: (Optional) Defaults to 1000. Maximum of 1000. + :type limit: str + :param regex: (Optional) Apply a regex to filter logs. Can't be used with `text`. + :type regex: str + :param text: (Optional) Looks for this string in logs. Can't be used with `regex`. + :type text: str + :param regions: (Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]). + :type regions: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._tail_logs_serialize( + type=type, + app_id=app_id, + service_id=service_id, + deployment_id=deployment_id, + regional_deployment_id=regional_deployment_id, + instance_id=instance_id, + instance_ids=instance_ids, + stream=stream, + streams=streams, + start=start, + limit=limit, + regex=regex, + text=text, + regions=regions, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StreamResultOfLogEntry", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def tail_logs_with_http_info( + self, + type: Annotated[Optional[StrictStr], Field(description="Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\".")] = None, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + instance_id: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using instance_ids instead.")] = None, + instance_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + stream: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs).")] = None, + start: Annotated[Optional[datetime], Field(description="(Optional) Defaults to 24 hours ago.")] = None, + limit: Annotated[Optional[StrictStr], Field(description="(Optional) Defaults to 1000. Maximum of 1000.")] = None, + regex: Annotated[Optional[StrictStr], Field(description="(Optional) Apply a regex to filter logs. Can't be used with `text`.")] = None, + text: Annotated[Optional[StrictStr], Field(description="(Optional) Looks for this string in logs. Can't be used with `regex`.")] = None, + regions: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]).")] = 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[StreamResultOfLogEntry]: + """Tails logs + + + :param type: Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\". + :type type: str + :param app_id: (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type app_id: str + :param service_id: (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type service_id: str + :param deployment_id: (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type deployment_id: str + :param regional_deployment_id: (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type regional_deployment_id: str + :param instance_id: Deprecated, prefer using instance_ids instead. + :type instance_id: str + :param instance_ids: (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type instance_ids: List[str] + :param stream: Deprecated, prefer using streams instead. + :type stream: str + :param streams: (Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs). + :type streams: List[str] + :param start: (Optional) Defaults to 24 hours ago. + :type start: datetime + :param limit: (Optional) Defaults to 1000. Maximum of 1000. + :type limit: str + :param regex: (Optional) Apply a regex to filter logs. Can't be used with `text`. + :type regex: str + :param text: (Optional) Looks for this string in logs. Can't be used with `regex`. + :type text: str + :param regions: (Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]). + :type regions: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._tail_logs_serialize( + type=type, + app_id=app_id, + service_id=service_id, + deployment_id=deployment_id, + regional_deployment_id=regional_deployment_id, + instance_id=instance_id, + instance_ids=instance_ids, + stream=stream, + streams=streams, + start=start, + limit=limit, + regex=regex, + text=text, + regions=regions, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StreamResultOfLogEntry", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def tail_logs_without_preload_content( + self, + type: Annotated[Optional[StrictStr], Field(description="Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\".")] = None, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + instance_id: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using instance_ids instead.")] = None, + instance_ids: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.")] = None, + stream: Annotated[Optional[StrictStr], Field(description="Deprecated, prefer using streams instead.")] = None, + streams: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs).")] = None, + start: Annotated[Optional[datetime], Field(description="(Optional) Defaults to 24 hours ago.")] = None, + limit: Annotated[Optional[StrictStr], Field(description="(Optional) Defaults to 1000. Maximum of 1000.")] = None, + regex: Annotated[Optional[StrictStr], Field(description="(Optional) Apply a regex to filter logs. Can't be used with `text`.")] = None, + text: Annotated[Optional[StrictStr], Field(description="(Optional) Looks for this string in logs. Can't be used with `regex`.")] = None, + regions: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]).")] = 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: + """Tails logs + + + :param type: Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\". + :type type: str + :param app_id: (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type app_id: str + :param service_id: (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type service_id: str + :param deployment_id: (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type deployment_id: str + :param regional_deployment_id: (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type regional_deployment_id: str + :param instance_id: Deprecated, prefer using instance_ids instead. + :type instance_id: str + :param instance_ids: (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. + :type instance_ids: List[str] + :param stream: Deprecated, prefer using streams instead. + :type stream: str + :param streams: (Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs). + :type streams: List[str] + :param start: (Optional) Defaults to 24 hours ago. + :type start: datetime + :param limit: (Optional) Defaults to 1000. Maximum of 1000. + :type limit: str + :param regex: (Optional) Apply a regex to filter logs. Can't be used with `text`. + :type regex: str + :param text: (Optional) Looks for this string in logs. Can't be used with `regex`. + :type text: str + :param regions: (Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]). + :type regions: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._tail_logs_serialize( + type=type, + app_id=app_id, + service_id=service_id, + deployment_id=deployment_id, + regional_deployment_id=regional_deployment_id, + instance_id=instance_id, + instance_ids=instance_ids, + stream=stream, + streams=streams, + start=start, + limit=limit, + regex=regex, + text=text, + regions=regions, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StreamResultOfLogEntry", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _tail_logs_serialize( + self, + type, + app_id, + service_id, + deployment_id, + regional_deployment_id, + instance_id, + instance_ids, + stream, + streams, + start, + limit, + regex, + text, + regions, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'instance_ids': 'multi', + 'streams': 'multi', + 'regions': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if type is not None: + + _query_params.append(('type', type)) + + if app_id is not None: + + _query_params.append(('app_id', app_id)) + + if service_id is not None: + + _query_params.append(('service_id', service_id)) + + if deployment_id is not None: + + _query_params.append(('deployment_id', deployment_id)) + + if regional_deployment_id is not None: + + _query_params.append(('regional_deployment_id', regional_deployment_id)) + + if instance_id is not None: + + _query_params.append(('instance_id', instance_id)) + + if instance_ids is not None: + + _query_params.append(('instance_ids', instance_ids)) + + if stream is not None: + + _query_params.append(('stream', stream)) + + if streams is not None: + + _query_params.append(('streams', streams)) + + if start is not None: + if isinstance(start, datetime): + _query_params.append( + ( + 'start', + start.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('start', start)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if regex is not None: + + _query_params.append(('regex', regex)) + + if text is not None: + + _query_params.append(('text', text)) + + if regions is not None: + + _query_params.append(('regions', regions)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/streams/logs/tail', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/metrics_api.py b/koyeb/api_async/api/metrics_api.py new file mode 100644 index 00000000..3be3a3ba --- /dev/null +++ b/koyeb/api_async/api/metrics_api.py @@ -0,0 +1,420 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import datetime +from pydantic import Field, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from koyeb.api_async.models.get_metrics_reply import GetMetricsReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class MetricsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def get_metrics( + self, + service_id: Annotated[Optional[StrictStr], Field(description="ID of the service to query instances metrics for. Ignored if instance_id is set.")] = None, + instance_id: Annotated[Optional[StrictStr], Field(description="ID of the instance to query metrics for.")] = None, + name: Annotated[Optional[StrictStr], Field(description="Metric to query.")] = None, + start: Annotated[Optional[datetime], Field(description="(Optional) Defaults to an hour prior to end.")] = None, + end: Annotated[Optional[datetime], Field(description="(Optional) Defaults to now.")] = None, + step: Annotated[Optional[StrictStr], Field(description="(Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m.")] = 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, + ) -> GetMetricsReply: + """Get Metrics + + + :param service_id: ID of the service to query instances metrics for. Ignored if instance_id is set. + :type service_id: str + :param instance_id: ID of the instance to query metrics for. + :type instance_id: str + :param name: Metric to query. + :type name: str + :param start: (Optional) Defaults to an hour prior to end. + :type start: datetime + :param end: (Optional) Defaults to now. + :type end: datetime + :param step: (Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m. + :type step: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_metrics_serialize( + service_id=service_id, + instance_id=instance_id, + name=name, + start=start, + end=end, + step=step, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetMetricsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_metrics_with_http_info( + self, + service_id: Annotated[Optional[StrictStr], Field(description="ID of the service to query instances metrics for. Ignored if instance_id is set.")] = None, + instance_id: Annotated[Optional[StrictStr], Field(description="ID of the instance to query metrics for.")] = None, + name: Annotated[Optional[StrictStr], Field(description="Metric to query.")] = None, + start: Annotated[Optional[datetime], Field(description="(Optional) Defaults to an hour prior to end.")] = None, + end: Annotated[Optional[datetime], Field(description="(Optional) Defaults to now.")] = None, + step: Annotated[Optional[StrictStr], Field(description="(Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m.")] = 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[GetMetricsReply]: + """Get Metrics + + + :param service_id: ID of the service to query instances metrics for. Ignored if instance_id is set. + :type service_id: str + :param instance_id: ID of the instance to query metrics for. + :type instance_id: str + :param name: Metric to query. + :type name: str + :param start: (Optional) Defaults to an hour prior to end. + :type start: datetime + :param end: (Optional) Defaults to now. + :type end: datetime + :param step: (Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m. + :type step: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_metrics_serialize( + service_id=service_id, + instance_id=instance_id, + name=name, + start=start, + end=end, + step=step, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetMetricsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_metrics_without_preload_content( + self, + service_id: Annotated[Optional[StrictStr], Field(description="ID of the service to query instances metrics for. Ignored if instance_id is set.")] = None, + instance_id: Annotated[Optional[StrictStr], Field(description="ID of the instance to query metrics for.")] = None, + name: Annotated[Optional[StrictStr], Field(description="Metric to query.")] = None, + start: Annotated[Optional[datetime], Field(description="(Optional) Defaults to an hour prior to end.")] = None, + end: Annotated[Optional[datetime], Field(description="(Optional) Defaults to now.")] = None, + step: Annotated[Optional[StrictStr], Field(description="(Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m.")] = 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: + """Get Metrics + + + :param service_id: ID of the service to query instances metrics for. Ignored if instance_id is set. + :type service_id: str + :param instance_id: ID of the instance to query metrics for. + :type instance_id: str + :param name: Metric to query. + :type name: str + :param start: (Optional) Defaults to an hour prior to end. + :type start: datetime + :param end: (Optional) Defaults to now. + :type end: datetime + :param step: (Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m. + :type step: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_metrics_serialize( + service_id=service_id, + instance_id=instance_id, + name=name, + start=start, + end=end, + step=step, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetMetricsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_metrics_serialize( + self, + service_id, + instance_id, + name, + start, + end, + step, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if service_id is not None: + + _query_params.append(('service_id', service_id)) + + if instance_id is not None: + + _query_params.append(('instance_id', instance_id)) + + if name is not None: + + _query_params.append(('name', name)) + + if start is not None: + if isinstance(start, datetime): + _query_params.append( + ( + 'start', + start.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('start', start)) + + if end is not None: + if isinstance(end, datetime): + _query_params.append( + ( + 'end', + end.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('end', end)) + + if step is not None: + + _query_params.append(('step', step)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/streams/metrics', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/organization_api.py b/koyeb/api_async/api/organization_api.py new file mode 100644 index 00000000..2e49dc5b --- /dev/null +++ b/koyeb/api_async/api/organization_api.py @@ -0,0 +1,5819 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Any, Dict, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.create_access_token_reply import CreateAccessTokenReply +from koyeb.api_async.models.create_access_token_request import CreateAccessTokenRequest +from koyeb.api_async.models.create_budget_reply import CreateBudgetReply +from koyeb.api_async.models.create_organization_reply import CreateOrganizationReply +from koyeb.api_async.models.create_organization_request import CreateOrganizationRequest +from koyeb.api_async.models.deactivate_organization_reply import DeactivateOrganizationReply +from koyeb.api_async.models.deactivate_organization_request import DeactivateOrganizationRequest +from koyeb.api_async.models.delete_organization_reply import DeleteOrganizationReply +from koyeb.api_async.models.get_budget_reply import GetBudgetReply +from koyeb.api_async.models.get_github_installation_reply import GetGithubInstallationReply +from koyeb.api_async.models.get_organization_reply import GetOrganizationReply +from koyeb.api_async.models.github_installation_reply import GithubInstallationReply +from koyeb.api_async.models.github_installation_request import GithubInstallationRequest +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.models.organization import Organization +from koyeb.api_async.models.reactivate_organization_reply import ReactivateOrganizationReply +from koyeb.api_async.models.update_budget_reply import UpdateBudgetReply +from koyeb.api_async.models.update_budget_request import UpdateBudgetRequest +from koyeb.api_async.models.update_organization_default_project_reply import UpdateOrganizationDefaultProjectReply +from koyeb.api_async.models.update_organization_default_project_request import UpdateOrganizationDefaultProjectRequest +from koyeb.api_async.models.update_organization_name_reply import UpdateOrganizationNameReply +from koyeb.api_async.models.update_organization_name_request import UpdateOrganizationNameRequest +from koyeb.api_async.models.update_organization_plan_reply import UpdateOrganizationPlanReply +from koyeb.api_async.models.update_organization_plan_request import UpdateOrganizationPlanRequest +from koyeb.api_async.models.update_organization_reply import UpdateOrganizationReply +from koyeb.api_async.models.upsert_signup_qualification_reply import UpsertSignupQualificationReply +from koyeb.api_async.models.upsert_signup_qualification_request import UpsertSignupQualificationRequest + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class OrganizationApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_access_token( + self, + id: Annotated[StrictStr, Field(description="Organization id for ephemeral credential")], + body: CreateAccessTokenRequest, + _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, + ) -> CreateAccessTokenReply: + """CreateAccessToken + + CreateAccessToken creates a short-lived access token in the scope of the specified organization, provided the user making the request is part of said organization. It's possible to specify a validity for the token, which defaults to 1h and must be no more than 24h. The format is `s`, where `` is a floating point in seconds (so `123.456789012s` means 123 seconds and 456789012 nanoseconds). See: https://protobuf.dev/reference/php/api-docs/Google/Protobuf/Duration.html. + + :param id: Organization id for ephemeral credential (required) + :type id: str + :param body: (required) + :type body: CreateAccessTokenRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_access_token_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAccessTokenReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_access_token_with_http_info( + self, + id: Annotated[StrictStr, Field(description="Organization id for ephemeral credential")], + body: CreateAccessTokenRequest, + _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[CreateAccessTokenReply]: + """CreateAccessToken + + CreateAccessToken creates a short-lived access token in the scope of the specified organization, provided the user making the request is part of said organization. It's possible to specify a validity for the token, which defaults to 1h and must be no more than 24h. The format is `s`, where `` is a floating point in seconds (so `123.456789012s` means 123 seconds and 456789012 nanoseconds). See: https://protobuf.dev/reference/php/api-docs/Google/Protobuf/Duration.html. + + :param id: Organization id for ephemeral credential (required) + :type id: str + :param body: (required) + :type body: CreateAccessTokenRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_access_token_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAccessTokenReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_access_token_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="Organization id for ephemeral credential")], + body: CreateAccessTokenRequest, + _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: + """CreateAccessToken + + CreateAccessToken creates a short-lived access token in the scope of the specified organization, provided the user making the request is part of said organization. It's possible to specify a validity for the token, which defaults to 1h and must be no more than 24h. The format is `s`, where `` is a floating point in seconds (so `123.456789012s` means 123 seconds and 456789012 nanoseconds). See: https://protobuf.dev/reference/php/api-docs/Google/Protobuf/Duration.html. + + :param id: Organization id for ephemeral credential (required) + :type id: str + :param body: (required) + :type body: CreateAccessTokenRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_access_token_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateAccessTokenReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_access_token_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/organizations/{id}/access_token', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def create_budget( + self, + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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, + ) -> CreateBudgetReply: + """Create Budget + + + :param organization_id: (required) + :type organization_id: str + :param body: (required) + :type body: UpdateBudgetRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_budget_serialize( + organization_id=organization_id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateBudgetReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_budget_with_http_info( + self, + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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[CreateBudgetReply]: + """Create Budget + + + :param organization_id: (required) + :type organization_id: str + :param body: (required) + :type body: UpdateBudgetRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_budget_serialize( + organization_id=organization_id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateBudgetReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_budget_without_preload_content( + self, + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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 Budget + + + :param organization_id: (required) + :type organization_id: str + :param body: (required) + :type body: UpdateBudgetRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_budget_serialize( + organization_id=organization_id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateBudgetReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_budget_serialize( + self, + organization_id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if organization_id is not None: + _path_params['organization_id'] = organization_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/organizations/{organization_id}/budget', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def create_organization( + self, + body: CreateOrganizationRequest, + _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, + ) -> CreateOrganizationReply: + """Create Organization + + + :param body: (required) + :type body: CreateOrganizationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_organization_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_organization_with_http_info( + self, + body: CreateOrganizationRequest, + _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[CreateOrganizationReply]: + """Create Organization + + + :param body: (required) + :type body: CreateOrganizationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_organization_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_organization_without_preload_content( + self, + body: CreateOrganizationRequest, + _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 Organization + + + :param body: (required) + :type body: CreateOrganizationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_organization_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_organization_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/organizations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def deactivate_organization( + self, + id: StrictStr, + body: DeactivateOrganizationRequest, + _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, + ) -> DeactivateOrganizationReply: + """Deactivate an Organization + + + :param id: (required) + :type id: str + :param body: (required) + :type body: DeactivateOrganizationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._deactivate_organization_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeactivateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def deactivate_organization_with_http_info( + self, + id: StrictStr, + body: DeactivateOrganizationRequest, + _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[DeactivateOrganizationReply]: + """Deactivate an Organization + + + :param id: (required) + :type id: str + :param body: (required) + :type body: DeactivateOrganizationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._deactivate_organization_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeactivateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def deactivate_organization_without_preload_content( + self, + id: StrictStr, + body: DeactivateOrganizationRequest, + _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: + """Deactivate an Organization + + + :param id: (required) + :type id: str + :param body: (required) + :type body: DeactivateOrganizationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._deactivate_organization_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeactivateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _deactivate_organization_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/organizations/{id}/deactivate', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_budget( + self, + organization_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, + ) -> object: + """Delete Budget + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_budget_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_budget_with_http_info( + self, + organization_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[object]: + """Delete Budget + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_budget_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_budget_without_preload_content( + self, + organization_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 Budget + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_budget_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_budget_serialize( + self, + organization_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if organization_id is not None: + _path_params['organization_id'] = organization_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/organizations/{organization_id}/budget', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_organization( + self, + 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, + ) -> DeleteOrganizationReply: + """Delete an Organization + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_organization_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_organization_with_http_info( + self, + 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[DeleteOrganizationReply]: + """Delete an Organization + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_organization_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_organization_without_preload_content( + self, + 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 an Organization + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_organization_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_organization_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/organizations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_budget( + self, + organization_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, + ) -> GetBudgetReply: + """Get Budget + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_budget_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetBudgetReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_budget_with_http_info( + self, + organization_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[GetBudgetReply]: + """Get Budget + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_budget_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetBudgetReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_budget_without_preload_content( + self, + organization_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 Budget + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_budget_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetBudgetReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_budget_serialize( + self, + organization_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if organization_id is not None: + _path_params['organization_id'] = organization_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/organizations/{organization_id}/budget', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_github_installation( + self, + _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, + ) -> GetGithubInstallationReply: + """Fetch Github Installation configuration + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_github_installation_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGithubInstallationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_github_installation_with_http_info( + self, + _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[GetGithubInstallationReply]: + """Fetch Github Installation configuration + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_github_installation_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGithubInstallationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_github_installation_without_preload_content( + self, + _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: + """Fetch Github Installation configuration + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_github_installation_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetGithubInstallationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_github_installation_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/github/installation', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_organization( + self, + 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, + ) -> GetOrganizationReply: + """Get Organization + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_organization_with_http_info( + self, + 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[GetOrganizationReply]: + """Get Organization + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_organization_without_preload_content( + self, + 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 Organization + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_organization_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/organizations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def github_installation( + self, + body: GithubInstallationRequest, + _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, + ) -> GithubInstallationReply: + """Start Github Installation + + + :param body: (required) + :type body: GithubInstallationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._github_installation_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GithubInstallationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def github_installation_with_http_info( + self, + body: GithubInstallationRequest, + _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[GithubInstallationReply]: + """Start Github Installation + + + :param body: (required) + :type body: GithubInstallationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._github_installation_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GithubInstallationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def github_installation_without_preload_content( + self, + body: GithubInstallationRequest, + _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: + """Start Github Installation + + + :param body: (required) + :type body: GithubInstallationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._github_installation_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GithubInstallationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _github_installation_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/github/installation', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def reactivate_organization( + self, + id: StrictStr, + body: Dict[str, Any], + _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, + ) -> ReactivateOrganizationReply: + """Reactivate an Organization + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reactivate_organization_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReactivateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def reactivate_organization_with_http_info( + self, + id: StrictStr, + body: Dict[str, Any], + _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[ReactivateOrganizationReply]: + """Reactivate an Organization + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reactivate_organization_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReactivateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def reactivate_organization_without_preload_content( + self, + id: StrictStr, + body: Dict[str, Any], + _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: + """Reactivate an Organization + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reactivate_organization_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReactivateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _reactivate_organization_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/organizations/{id}/reactivate', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def switch_organization( + self, + id: StrictStr, + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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, + ) -> LoginReply: + """Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._switch_organization_serialize( + id=id, + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def switch_organization_with_http_info( + self, + id: StrictStr, + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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[LoginReply]: + """Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._switch_organization_serialize( + id=id, + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def switch_organization_without_preload_content( + self, + id: StrictStr, + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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: + """Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._switch_organization_serialize( + id=id, + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _switch_organization_serialize( + self, + id, + body, + seon_fp, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + if seon_fp is not None: + _header_params['seon-fp'] = seon_fp + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/organizations/{id}/switch', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def unscope_organization_token( + self, + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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, + ) -> LoginReply: + """Unscope Organization Token + + UnscopeOrganizationToken removes the organization scope from a token. This endpoint is useful when a user wants to remove an organization: by unscoping the token first, the user can then delete the organization without invalidating his token. + + :param body: (required) + :type body: object + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._unscope_organization_token_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def unscope_organization_token_with_http_info( + self, + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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[LoginReply]: + """Unscope Organization Token + + UnscopeOrganizationToken removes the organization scope from a token. This endpoint is useful when a user wants to remove an organization: by unscoping the token first, the user can then delete the organization without invalidating his token. + + :param body: (required) + :type body: object + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._unscope_organization_token_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def unscope_organization_token_without_preload_content( + self, + body: Dict[str, Any], + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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: + """Unscope Organization Token + + UnscopeOrganizationToken removes the organization scope from a token. This endpoint is useful when a user wants to remove an organization: by unscoping the token first, the user can then delete the organization without invalidating his token. + + :param body: (required) + :type body: object + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._unscope_organization_token_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _unscope_organization_token_serialize( + self, + body, + seon_fp, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if seon_fp is not None: + _header_params['seon-fp'] = seon_fp + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/unscope_organization_token', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_budget( + self, + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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, + ) -> UpdateBudgetReply: + """Update Budget + + + :param organization_id: (required) + :type organization_id: str + :param body: (required) + :type body: UpdateBudgetRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_budget_serialize( + organization_id=organization_id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateBudgetReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_budget_with_http_info( + self, + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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[UpdateBudgetReply]: + """Update Budget + + + :param organization_id: (required) + :type organization_id: str + :param body: (required) + :type body: UpdateBudgetRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_budget_serialize( + organization_id=organization_id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateBudgetReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_budget_without_preload_content( + self, + organization_id: StrictStr, + body: UpdateBudgetRequest, + _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: + """Update Budget + + + :param organization_id: (required) + :type organization_id: str + :param body: (required) + :type body: UpdateBudgetRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_budget_serialize( + organization_id=organization_id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateBudgetReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_budget_serialize( + self, + organization_id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if organization_id is not None: + _path_params['organization_id'] = organization_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/organizations/{organization_id}/budget', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_organization( + self, + id: StrictStr, + organization: Organization, + update_mask: 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, + ) -> UpdateOrganizationReply: + """Update Organization + + + :param id: (required) + :type id: str + :param organization: (required) + :type organization: Organization + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_serialize( + id=id, + organization=organization, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_organization_with_http_info( + self, + id: StrictStr, + organization: Organization, + update_mask: 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[UpdateOrganizationReply]: + """Update Organization + + + :param id: (required) + :type id: str + :param organization: (required) + :type organization: Organization + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_serialize( + id=id, + organization=organization, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_organization_without_preload_content( + self, + id: StrictStr, + organization: Organization, + update_mask: 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: + """Update Organization + + + :param id: (required) + :type id: str + :param organization: (required) + :type organization: Organization + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_serialize( + id=id, + organization=organization, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_organization_serialize( + self, + id, + organization, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if organization is not None: + _body_params = organization + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/organizations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_organization2( + self, + id: StrictStr, + organization: Organization, + update_mask: 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, + ) -> UpdateOrganizationReply: + """Update Organization + + + :param id: (required) + :type id: str + :param organization: (required) + :type organization: Organization + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization2_serialize( + id=id, + organization=organization, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_organization2_with_http_info( + self, + id: StrictStr, + organization: Organization, + update_mask: 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[UpdateOrganizationReply]: + """Update Organization + + + :param id: (required) + :type id: str + :param organization: (required) + :type organization: Organization + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization2_serialize( + id=id, + organization=organization, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_organization2_without_preload_content( + self, + id: StrictStr, + organization: Organization, + update_mask: 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: + """Update Organization + + + :param id: (required) + :type id: str + :param organization: (required) + :type organization: Organization + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization2_serialize( + id=id, + organization=organization, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_organization2_serialize( + self, + id, + organization, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if organization is not None: + _body_params = organization + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v1/organizations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_organization_default_project( + self, + id: StrictStr, + body: UpdateOrganizationDefaultProjectRequest, + _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, + ) -> UpdateOrganizationDefaultProjectReply: + """Update Organization's default project + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdateOrganizationDefaultProjectRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_default_project_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationDefaultProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_organization_default_project_with_http_info( + self, + id: StrictStr, + body: UpdateOrganizationDefaultProjectRequest, + _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[UpdateOrganizationDefaultProjectReply]: + """Update Organization's default project + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdateOrganizationDefaultProjectRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_default_project_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationDefaultProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_organization_default_project_without_preload_content( + self, + id: StrictStr, + body: UpdateOrganizationDefaultProjectRequest, + _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: + """Update Organization's default project + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdateOrganizationDefaultProjectRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_default_project_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationDefaultProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_organization_default_project_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/organizations/{id}/default_project', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_organization_name( + self, + id: StrictStr, + body: UpdateOrganizationNameRequest, + _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, + ) -> UpdateOrganizationNameReply: + """Update Organization Name + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdateOrganizationNameRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_name_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationNameReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_organization_name_with_http_info( + self, + id: StrictStr, + body: UpdateOrganizationNameRequest, + _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[UpdateOrganizationNameReply]: + """Update Organization Name + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdateOrganizationNameRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_name_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationNameReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_organization_name_without_preload_content( + self, + id: StrictStr, + body: UpdateOrganizationNameRequest, + _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: + """Update Organization Name + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdateOrganizationNameRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_name_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationNameReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_organization_name_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/organizations/{id}/name', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_organization_plan( + self, + id: StrictStr, + body: UpdateOrganizationPlanRequest, + _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, + ) -> UpdateOrganizationPlanReply: + """Update Organization plan + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdateOrganizationPlanRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_plan_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationPlanReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_organization_plan_with_http_info( + self, + id: StrictStr, + body: UpdateOrganizationPlanRequest, + _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[UpdateOrganizationPlanReply]: + """Update Organization plan + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdateOrganizationPlanRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_plan_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationPlanReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_organization_plan_without_preload_content( + self, + id: StrictStr, + body: UpdateOrganizationPlanRequest, + _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: + """Update Organization plan + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdateOrganizationPlanRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_organization_plan_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateOrganizationPlanReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_organization_plan_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/organizations/{id}/plan', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def upsert_signup_qualification( + self, + id: StrictStr, + body: UpsertSignupQualificationRequest, + _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, + ) -> UpsertSignupQualificationReply: + """Upsert Organization's signup qualification + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpsertSignupQualificationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._upsert_signup_qualification_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpsertSignupQualificationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def upsert_signup_qualification_with_http_info( + self, + id: StrictStr, + body: UpsertSignupQualificationRequest, + _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[UpsertSignupQualificationReply]: + """Upsert Organization's signup qualification + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpsertSignupQualificationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._upsert_signup_qualification_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpsertSignupQualificationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def upsert_signup_qualification_without_preload_content( + self, + id: StrictStr, + body: UpsertSignupQualificationRequest, + _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: + """Upsert Organization's signup qualification + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpsertSignupQualificationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._upsert_signup_qualification_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpsertSignupQualificationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _upsert_signup_qualification_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/organizations/{id}/signup_qualification', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/organization_confirmations_api.py b/koyeb/api_async/api/organization_confirmations_api.py new file mode 100644 index 00000000..d87f0924 --- /dev/null +++ b/koyeb/api_async/api/organization_confirmations_api.py @@ -0,0 +1,312 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import StrictStr +from typing import Any, Dict + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class OrganizationConfirmationsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def confirm_organization_action( + self, + 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, + ) -> object: + """Confirm organization action + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._confirm_organization_action_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def confirm_organization_action_with_http_info( + self, + 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[object]: + """Confirm organization action + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._confirm_organization_action_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def confirm_organization_action_without_preload_content( + self, + 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: + """Confirm organization action + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._confirm_organization_action_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _confirm_organization_action_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/organization_confirmations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/organization_invitations_api.py b/koyeb/api_async/api/organization_invitations_api.py new file mode 100644 index 00000000..dd7db3de --- /dev/null +++ b/koyeb/api_async/api/organization_invitations_api.py @@ -0,0 +1,1491 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr, field_validator +from typing import Any, Dict, List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.create_organization_invitation_reply import CreateOrganizationInvitationReply +from koyeb.api_async.models.create_organization_invitation_request import CreateOrganizationInvitationRequest +from koyeb.api_async.models.get_organization_invitation_reply import GetOrganizationInvitationReply +from koyeb.api_async.models.list_organization_invitations_reply import ListOrganizationInvitationsReply +from koyeb.api_async.models.resend_organization_invitation_reply import ResendOrganizationInvitationReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class OrganizationInvitationsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_organization_invitation( + self, + body: CreateOrganizationInvitationRequest, + _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, + ) -> CreateOrganizationInvitationReply: + """Create Organization Invitation + + + :param body: (required) + :type body: CreateOrganizationInvitationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_organization_invitation_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_organization_invitation_with_http_info( + self, + body: CreateOrganizationInvitationRequest, + _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[CreateOrganizationInvitationReply]: + """Create Organization Invitation + + + :param body: (required) + :type body: CreateOrganizationInvitationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_organization_invitation_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_organization_invitation_without_preload_content( + self, + body: CreateOrganizationInvitationRequest, + _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 Organization Invitation + + + :param body: (required) + :type body: CreateOrganizationInvitationRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_organization_invitation_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_organization_invitation_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/organization_invitations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_organization_invitation( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to delete")], + _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, + ) -> object: + """Delete Organization Invitation + + + :param id: The id of the organization invitation to delete (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_organization_invitation_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_organization_invitation_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to delete")], + _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[object]: + """Delete Organization Invitation + + + :param id: The id of the organization invitation to delete (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_organization_invitation_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_organization_invitation_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to delete")], + _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 Organization Invitation + + + :param id: The id of the organization invitation to delete (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_organization_invitation_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_organization_invitation_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/organization_invitations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_organization_invitation( + self, + id: Annotated[StrictStr, Field(description="The id of the invitation to get")], + _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, + ) -> GetOrganizationInvitationReply: + """Get Organization Invitation + + + :param id: The id of the invitation to get (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_invitation_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_organization_invitation_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the invitation to get")], + _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[GetOrganizationInvitationReply]: + """Get Organization Invitation + + + :param id: The id of the invitation to get (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_invitation_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_organization_invitation_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the invitation to get")], + _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 Organization Invitation + + + :param id: The id of the invitation to get (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_invitation_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_organization_invitation_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/organization_invitations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_organization_invitations( + self, + 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on organization invitation statuses")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id")] = 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, + ) -> ListOrganizationInvitationsReply: + """List Organization Invitations + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on organization invitation statuses + :type statuses: List[str] + :param user_id: (Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id + :type user_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_organization_invitations_serialize( + limit=limit, + offset=offset, + statuses=statuses, + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListOrganizationInvitationsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_organization_invitations_with_http_info( + self, + 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on organization invitation statuses")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id")] = 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[ListOrganizationInvitationsReply]: + """List Organization Invitations + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on organization invitation statuses + :type statuses: List[str] + :param user_id: (Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id + :type user_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_organization_invitations_serialize( + limit=limit, + offset=offset, + statuses=statuses, + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListOrganizationInvitationsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_organization_invitations_without_preload_content( + self, + 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on organization invitation statuses")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id")] = 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 Organization Invitations + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on organization invitation statuses + :type statuses: List[str] + :param user_id: (Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id + :type user_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_organization_invitations_serialize( + limit=limit, + offset=offset, + statuses=statuses, + user_id=user_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListOrganizationInvitationsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_organization_invitations_serialize( + self, + limit, + offset, + statuses, + user_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'statuses': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if statuses is not None: + + _query_params.append(('statuses', statuses)) + + if user_id is not None: + + _query_params.append(('user_id', user_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/organization_invitations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def resend_organization_invitation( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to resend")], + body: Dict[str, Any], + _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, + ) -> ResendOrganizationInvitationReply: + """Resend Organization Invitation + + + :param id: The id of the organization invitation to resend (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resend_organization_invitation_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ResendOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def resend_organization_invitation_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to resend")], + body: Dict[str, Any], + _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[ResendOrganizationInvitationReply]: + """Resend Organization Invitation + + + :param id: The id of the organization invitation to resend (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resend_organization_invitation_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ResendOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def resend_organization_invitation_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to resend")], + body: Dict[str, Any], + _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: + """Resend Organization Invitation + + + :param id: The id of the organization invitation to resend (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resend_organization_invitation_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ResendOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _resend_organization_invitation_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/organization_invitations/{id}/resend', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/organization_members_api.py b/koyeb/api_async/api/organization_members_api.py new file mode 100644 index 00000000..0453329c --- /dev/null +++ b/koyeb/api_async/api/organization_members_api.py @@ -0,0 +1,662 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr, field_validator +from typing import List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.list_organization_members_reply import ListOrganizationMembersReply +from koyeb.api_async.models.remove_organization_member_reply import RemoveOrganizationMemberReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class OrganizationMembersApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def list_organization_members( + self, + 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, + organization_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an user")] = None, + organization_statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter for organization statuses")] = 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, + ) -> ListOrganizationMembersReply: + """List organization members + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param organization_id: (Optional) Filter for an organization + :type organization_id: str + :param user_id: (Optional) Filter for an user + :type user_id: str + :param organization_statuses: (Optional) Filter for organization statuses + :type organization_statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_organization_members_serialize( + limit=limit, + offset=offset, + organization_id=organization_id, + user_id=user_id, + organization_statuses=organization_statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListOrganizationMembersReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_organization_members_with_http_info( + self, + 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, + organization_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an user")] = None, + organization_statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter for organization statuses")] = 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[ListOrganizationMembersReply]: + """List organization members + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param organization_id: (Optional) Filter for an organization + :type organization_id: str + :param user_id: (Optional) Filter for an user + :type user_id: str + :param organization_statuses: (Optional) Filter for organization statuses + :type organization_statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_organization_members_serialize( + limit=limit, + offset=offset, + organization_id=organization_id, + user_id=user_id, + organization_statuses=organization_statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListOrganizationMembersReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_organization_members_without_preload_content( + self, + 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, + organization_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an organization")] = None, + user_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter for an user")] = None, + organization_statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter for organization statuses")] = 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 organization members + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param organization_id: (Optional) Filter for an organization + :type organization_id: str + :param user_id: (Optional) Filter for an user + :type user_id: str + :param organization_statuses: (Optional) Filter for organization statuses + :type organization_statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_organization_members_serialize( + limit=limit, + offset=offset, + organization_id=organization_id, + user_id=user_id, + organization_statuses=organization_statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListOrganizationMembersReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_organization_members_serialize( + self, + limit, + offset, + organization_id, + user_id, + organization_statuses, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'organization_statuses': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if organization_id is not None: + + _query_params.append(('organization_id', organization_id)) + + if user_id is not None: + + _query_params.append(('user_id', user_id)) + + if organization_statuses is not None: + + _query_params.append(('organization_statuses', organization_statuses)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/organization_members', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def remove_organization_member( + self, + 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, + ) -> RemoveOrganizationMemberReply: + """Remove an organization member + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_organization_member_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RemoveOrganizationMemberReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def remove_organization_member_with_http_info( + self, + 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[RemoveOrganizationMemberReply]: + """Remove an organization member + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_organization_member_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RemoveOrganizationMemberReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def remove_organization_member_without_preload_content( + self, + 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: + """Remove an organization member + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_organization_member_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RemoveOrganizationMemberReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_organization_member_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/organization_members/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/organization_quotas_api.py b/koyeb/api_async/api/organization_quotas_api.py new file mode 100644 index 00000000..dc749b3e --- /dev/null +++ b/koyeb/api_async/api/organization_quotas_api.py @@ -0,0 +1,312 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import StrictStr +from koyeb.api_async.models.get_quotas_reply import GetQuotasReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class OrganizationQuotasApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def get_quotas( + self, + organization_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, + ) -> GetQuotasReply: + """get_quotas + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_quotas_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetQuotasReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_quotas_with_http_info( + self, + organization_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[GetQuotasReply]: + """get_quotas + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_quotas_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetQuotasReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_quotas_without_preload_content( + self, + organization_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_quotas + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_quotas_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetQuotasReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_quotas_serialize( + self, + organization_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if organization_id is not None: + _path_params['organization_id'] = organization_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/organizations/{organization_id}/quotas', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/payment_methods_api.py b/koyeb/api_async/api/payment_methods_api.py new file mode 100644 index 00000000..1e184105 --- /dev/null +++ b/koyeb/api_async/api/payment_methods_api.py @@ -0,0 +1,1473 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr, field_validator +from typing import Any, Dict, List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.confirm_payment_authorization_reply import ConfirmPaymentAuthorizationReply +from koyeb.api_async.models.create_payment_authorization_reply import CreatePaymentAuthorizationReply +from koyeb.api_async.models.get_payment_method_reply import GetPaymentMethodReply +from koyeb.api_async.models.list_payment_methods_reply import ListPaymentMethodsReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class PaymentMethodsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def confirm_payment_authorization( + self, + id: StrictStr, + body: Dict[str, Any], + _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, + ) -> ConfirmPaymentAuthorizationReply: + """Confirm payment authorization + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._confirm_payment_authorization_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConfirmPaymentAuthorizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def confirm_payment_authorization_with_http_info( + self, + id: StrictStr, + body: Dict[str, Any], + _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[ConfirmPaymentAuthorizationReply]: + """Confirm payment authorization + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._confirm_payment_authorization_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConfirmPaymentAuthorizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def confirm_payment_authorization_without_preload_content( + self, + id: StrictStr, + body: Dict[str, Any], + _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: + """Confirm payment authorization + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._confirm_payment_authorization_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConfirmPaymentAuthorizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _confirm_payment_authorization_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/payment_methods/{id}/confirm', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def create_payment_authorization( + self, + body: Dict[str, Any], + _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, + ) -> CreatePaymentAuthorizationReply: + """Create payment authorization + + + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_payment_authorization_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreatePaymentAuthorizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_payment_authorization_with_http_info( + self, + body: Dict[str, Any], + _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[CreatePaymentAuthorizationReply]: + """Create payment authorization + + + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_payment_authorization_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreatePaymentAuthorizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_payment_authorization_without_preload_content( + self, + body: Dict[str, Any], + _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 payment authorization + + + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_payment_authorization_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreatePaymentAuthorizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_payment_authorization_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/payment_methods', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_payment_method( + self, + 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, + ) -> object: + """Delete payment method + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_payment_method_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_payment_method_with_http_info( + self, + 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[object]: + """Delete payment method + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_payment_method_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_payment_method_without_preload_content( + self, + 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 payment method + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_payment_method_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_payment_method_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/payment_methods/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_payment_method( + self, + 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, + ) -> GetPaymentMethodReply: + """Get payment method + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_payment_method_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPaymentMethodReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_payment_method_with_http_info( + self, + 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[GetPaymentMethodReply]: + """Get payment method + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_payment_method_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPaymentMethodReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_payment_method_without_preload_content( + self, + 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 payment method + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_payment_method_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPaymentMethodReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_payment_method_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/payment_methods/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_payment_methods( + self, + 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on payment method statuses")] = 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, + ) -> ListPaymentMethodsReply: + """List payment methods + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on payment method statuses + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_payment_methods_serialize( + limit=limit, + offset=offset, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListPaymentMethodsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_payment_methods_with_http_info( + self, + 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on payment method statuses")] = 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[ListPaymentMethodsReply]: + """List payment methods + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on payment method statuses + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_payment_methods_serialize( + limit=limit, + offset=offset, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListPaymentMethodsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_payment_methods_without_preload_content( + self, + 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on payment method statuses")] = 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 payment methods + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on payment method statuses + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_payment_methods_serialize( + limit=limit, + offset=offset, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListPaymentMethodsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_payment_methods_serialize( + self, + limit, + offset, + statuses, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'statuses': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if statuses is not None: + + _query_params.append(('statuses', statuses)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/payment_methods', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/persistent_volumes_api.py b/koyeb/api_async/api/persistent_volumes_api.py new file mode 100644 index 00000000..89f6fc6d --- /dev/null +++ b/koyeb/api_async/api/persistent_volumes_api.py @@ -0,0 +1,1874 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.create_persistent_volume_reply import CreatePersistentVolumeReply +from koyeb.api_async.models.create_persistent_volume_request import CreatePersistentVolumeRequest +from koyeb.api_async.models.delete_persistent_volume_reply import DeletePersistentVolumeReply +from koyeb.api_async.models.get_persistent_volume_reply import GetPersistentVolumeReply +from koyeb.api_async.models.list_persistent_volume_events_reply import ListPersistentVolumeEventsReply +from koyeb.api_async.models.list_persistent_volumes_reply import ListPersistentVolumesReply +from koyeb.api_async.models.update_persistent_volume_reply import UpdatePersistentVolumeReply +from koyeb.api_async.models.update_persistent_volume_request import UpdatePersistentVolumeRequest + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class PersistentVolumesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_persistent_volume( + self, + body: CreatePersistentVolumeRequest, + _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, + ) -> CreatePersistentVolumeReply: + """Create a PersistentVolume + + + :param body: (required) + :type body: CreatePersistentVolumeRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_persistent_volume_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreatePersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_persistent_volume_with_http_info( + self, + body: CreatePersistentVolumeRequest, + _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[CreatePersistentVolumeReply]: + """Create a PersistentVolume + + + :param body: (required) + :type body: CreatePersistentVolumeRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_persistent_volume_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreatePersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_persistent_volume_without_preload_content( + self, + body: CreatePersistentVolumeRequest, + _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 a PersistentVolume + + + :param body: (required) + :type body: CreatePersistentVolumeRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_persistent_volume_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreatePersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_persistent_volume_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/volumes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_persistent_volume( + self, + 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, + ) -> DeletePersistentVolumeReply: + """Delete a PersistentVolume + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_persistent_volume_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeletePersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_persistent_volume_with_http_info( + self, + 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[DeletePersistentVolumeReply]: + """Delete a PersistentVolume + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_persistent_volume_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeletePersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_persistent_volume_without_preload_content( + self, + 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 a PersistentVolume + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_persistent_volume_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeletePersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_persistent_volume_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/volumes/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_persistent_volume( + self, + 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, + ) -> GetPersistentVolumeReply: + """Get a PersistentVolume + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_persistent_volume_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_persistent_volume_with_http_info( + self, + 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[GetPersistentVolumeReply]: + """Get a PersistentVolume + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_persistent_volume_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_persistent_volume_without_preload_content( + self, + 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 a PersistentVolume + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_persistent_volume_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetPersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_persistent_volume_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/volumes/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_persistent_volume_events( + self, + persistent_volume_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on persistent volume id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on persistent volume 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, + ) -> ListPersistentVolumeEventsReply: + """List Persistent Volume events + + + :param persistent_volume_id: (Optional) Filter on persistent volume id + :type persistent_volume_id: str + :param types: (Optional) Filter on persistent volume event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_persistent_volume_events_serialize( + persistent_volume_id=persistent_volume_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListPersistentVolumeEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_persistent_volume_events_with_http_info( + self, + persistent_volume_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on persistent volume id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on persistent volume 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[ListPersistentVolumeEventsReply]: + """List Persistent Volume events + + + :param persistent_volume_id: (Optional) Filter on persistent volume id + :type persistent_volume_id: str + :param types: (Optional) Filter on persistent volume event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_persistent_volume_events_serialize( + persistent_volume_id=persistent_volume_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListPersistentVolumeEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_persistent_volume_events_without_preload_content( + self, + persistent_volume_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on persistent volume id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on persistent volume 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 Persistent Volume events + + + :param persistent_volume_id: (Optional) Filter on persistent volume id + :type persistent_volume_id: str + :param types: (Optional) Filter on persistent volume event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_persistent_volume_events_serialize( + persistent_volume_id=persistent_volume_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListPersistentVolumeEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_persistent_volume_events_serialize( + self, + persistent_volume_id, + types, + limit, + offset, + order, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'types': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if persistent_volume_id is not None: + + _query_params.append(('persistent_volume_id', persistent_volume_id)) + + if types is not None: + + _query_params.append(('types', types)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/volume_events', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_persistent_volumes( + self, + 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, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the service id")] = None, + region: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the region")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the name")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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, + ) -> ListPersistentVolumesReply: + """List all PersistentVolumes + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param service_id: (Optional) A filter for the service id + :type service_id: str + :param region: (Optional) A filter for the region + :type region: str + :param name: (Optional) A filter for the name + :type name: str + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_persistent_volumes_serialize( + limit=limit, + offset=offset, + service_id=service_id, + region=region, + name=name, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListPersistentVolumesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_persistent_volumes_with_http_info( + self, + 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, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the service id")] = None, + region: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the region")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the name")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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[ListPersistentVolumesReply]: + """List all PersistentVolumes + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param service_id: (Optional) A filter for the service id + :type service_id: str + :param region: (Optional) A filter for the region + :type region: str + :param name: (Optional) A filter for the name + :type name: str + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_persistent_volumes_serialize( + limit=limit, + offset=offset, + service_id=service_id, + region=region, + name=name, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListPersistentVolumesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_persistent_volumes_without_preload_content( + self, + 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, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the service id")] = None, + region: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the region")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the name")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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 all PersistentVolumes + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param service_id: (Optional) A filter for the service id + :type service_id: str + :param region: (Optional) A filter for the region + :type region: str + :param name: (Optional) A filter for the name + :type name: str + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_persistent_volumes_serialize( + limit=limit, + offset=offset, + service_id=service_id, + region=region, + name=name, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListPersistentVolumesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_persistent_volumes_serialize( + self, + limit, + offset, + service_id, + region, + name, + project_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if service_id is not None: + + _query_params.append(('service_id', service_id)) + + if region is not None: + + _query_params.append(('region', region)) + + if name is not None: + + _query_params.append(('name', name)) + + if project_id is not None: + + _query_params.append(('project_id', project_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/volumes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_persistent_volume( + self, + id: StrictStr, + body: UpdatePersistentVolumeRequest, + _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, + ) -> UpdatePersistentVolumeReply: + """Update a PersistentVolume + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdatePersistentVolumeRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_persistent_volume_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdatePersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_persistent_volume_with_http_info( + self, + id: StrictStr, + body: UpdatePersistentVolumeRequest, + _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[UpdatePersistentVolumeReply]: + """Update a PersistentVolume + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdatePersistentVolumeRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_persistent_volume_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdatePersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_persistent_volume_without_preload_content( + self, + id: StrictStr, + body: UpdatePersistentVolumeRequest, + _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: + """Update a PersistentVolume + + + :param id: (required) + :type id: str + :param body: (required) + :type body: UpdatePersistentVolumeRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_persistent_volume_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdatePersistentVolumeReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_persistent_volume_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/volumes/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/profile_api.py b/koyeb/api_async/api/profile_api.py new file mode 100644 index 00000000..7856e949 --- /dev/null +++ b/koyeb/api_async/api/profile_api.py @@ -0,0 +1,6651 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr, field_validator +from typing import Any, Dict, List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.accept_organization_invitation_reply import AcceptOrganizationInvitationReply +from koyeb.api_async.models.clear_idenfy_verification_result_request import ClearIdenfyVerificationResultRequest +from koyeb.api_async.models.create_account_request import CreateAccountRequest +from koyeb.api_async.models.decline_organization_invitation_reply import DeclineOrganizationInvitationReply +from koyeb.api_async.models.get_idenfy_token_reply import GetIdenfyTokenReply +from koyeb.api_async.models.get_o_auth_options_reply import GetOAuthOptionsReply +from koyeb.api_async.models.get_organization_reply import GetOrganizationReply +from koyeb.api_async.models.get_user_organization_invitation_reply import GetUserOrganizationInvitationReply +from koyeb.api_async.models.get_user_settings_reply import GetUserSettingsReply +from koyeb.api_async.models.list_user_organization_invitations_reply import ListUserOrganizationInvitationsReply +from koyeb.api_async.models.list_user_organizations_reply import ListUserOrganizationsReply +from koyeb.api_async.models.login_method_reply import LoginMethodReply +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.models.o_auth_callback_reply import OAuthCallbackReply +from koyeb.api_async.models.o_auth_callback_request import OAuthCallbackRequest +from koyeb.api_async.models.reset_password_request import ResetPasswordRequest +from koyeb.api_async.models.update_password_request import UpdatePasswordRequest +from koyeb.api_async.models.update_user_request_user_update_body import UpdateUserRequestUserUpdateBody +from koyeb.api_async.models.update_user_settings_reply import UpdateUserSettingsReply +from koyeb.api_async.models.update_user_settings_request import UpdateUserSettingsRequest +from koyeb.api_async.models.user_reply import UserReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class ProfileApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def accept_organization_invitation( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to accept")], + body: Dict[str, Any], + _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, + ) -> AcceptOrganizationInvitationReply: + """Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: The id of the organization invitation to accept (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._accept_organization_invitation_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AcceptOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def accept_organization_invitation_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to accept")], + body: Dict[str, Any], + _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[AcceptOrganizationInvitationReply]: + """Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: The id of the organization invitation to accept (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._accept_organization_invitation_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AcceptOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def accept_organization_invitation_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to accept")], + body: Dict[str, Any], + _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: + """Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: The id of the organization invitation to accept (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._accept_organization_invitation_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AcceptOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _accept_organization_invitation_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/organization_invitations/{id}/accept', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def clear_idenfy_verification_result( + self, + body: ClearIdenfyVerificationResultRequest, + _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, + ) -> object: + """ClearIdenfyVerificationResult marks the current result for idenfy as superseded + + + :param body: (required) + :type body: ClearIdenfyVerificationResultRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._clear_idenfy_verification_result_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def clear_idenfy_verification_result_with_http_info( + self, + body: ClearIdenfyVerificationResultRequest, + _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[object]: + """ClearIdenfyVerificationResult marks the current result for idenfy as superseded + + + :param body: (required) + :type body: ClearIdenfyVerificationResultRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._clear_idenfy_verification_result_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def clear_idenfy_verification_result_without_preload_content( + self, + body: ClearIdenfyVerificationResultRequest, + _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: + """ClearIdenfyVerificationResult marks the current result for idenfy as superseded + + + :param body: (required) + :type body: ClearIdenfyVerificationResultRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._clear_idenfy_verification_result_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _clear_idenfy_verification_result_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/idenfy', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def decline_organization_invitation( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to decline")], + body: Dict[str, Any], + _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, + ) -> DeclineOrganizationInvitationReply: + """Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: The id of the organization invitation to decline (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._decline_organization_invitation_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeclineOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def decline_organization_invitation_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to decline")], + body: Dict[str, Any], + _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[DeclineOrganizationInvitationReply]: + """Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: The id of the organization invitation to decline (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._decline_organization_invitation_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeclineOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def decline_organization_invitation_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to decline")], + body: Dict[str, Any], + _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: + """Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: The id of the organization invitation to decline (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._decline_organization_invitation_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeclineOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _decline_organization_invitation_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/organization_invitations/{id}/decline', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_current_organization( + self, + _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, + ) -> GetOrganizationReply: + """Get Current Organization + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_current_organization_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_current_organization_with_http_info( + self, + _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[GetOrganizationReply]: + """Get Current Organization + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_current_organization_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_current_organization_without_preload_content( + self, + _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 Current Organization + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_current_organization_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_current_organization_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/account/organization', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_current_user( + self, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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, + ) -> UserReply: + """Get Current User + + + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_current_user_serialize( + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_current_user_with_http_info( + self, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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[UserReply]: + """Get Current User + + + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_current_user_serialize( + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_current_user_without_preload_content( + self, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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: + """Get Current User + + + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_current_user_serialize( + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_current_user_serialize( + self, + seon_fp, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if seon_fp is not None: + _header_params['seon-fp'] = seon_fp + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/account/profile', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_idenfy_token( + self, + _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, + ) -> GetIdenfyTokenReply: + """Begin a session with iDenfy, emit an authToken + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_idenfy_token_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetIdenfyTokenReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_idenfy_token_with_http_info( + self, + _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[GetIdenfyTokenReply]: + """Begin a session with iDenfy, emit an authToken + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_idenfy_token_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetIdenfyTokenReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_idenfy_token_without_preload_content( + self, + _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: + """Begin a session with iDenfy, emit an authToken + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_idenfy_token_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetIdenfyTokenReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_idenfy_token_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/account/idenfy', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_o_auth_options( + self, + action: Annotated[Optional[StrictStr], Field(description="Which authentication flow is being initiated")] = None, + metadata: Annotated[Optional[StrictStr], Field(description="A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state")] = 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, + ) -> GetOAuthOptionsReply: + """Get OAuth Providers + + + :param action: Which authentication flow is being initiated + :type action: str + :param metadata: A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state + :type metadata: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_o_auth_options_serialize( + action=action, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOAuthOptionsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_o_auth_options_with_http_info( + self, + action: Annotated[Optional[StrictStr], Field(description="Which authentication flow is being initiated")] = None, + metadata: Annotated[Optional[StrictStr], Field(description="A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state")] = 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[GetOAuthOptionsReply]: + """Get OAuth Providers + + + :param action: Which authentication flow is being initiated + :type action: str + :param metadata: A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state + :type metadata: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_o_auth_options_serialize( + action=action, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOAuthOptionsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_o_auth_options_without_preload_content( + self, + action: Annotated[Optional[StrictStr], Field(description="Which authentication flow is being initiated")] = None, + metadata: Annotated[Optional[StrictStr], Field(description="A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state")] = 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: + """Get OAuth Providers + + + :param action: Which authentication flow is being initiated + :type action: str + :param metadata: A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state + :type metadata: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_o_auth_options_serialize( + action=action, + metadata=metadata, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOAuthOptionsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_o_auth_options_serialize( + self, + action, + metadata, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if action is not None: + + _query_params.append(('action', action)) + + if metadata is not None: + + _query_params.append(('metadata', metadata)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/account/oauth', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_user_organization_invitation( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to get")], + _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, + ) -> GetUserOrganizationInvitationReply: + """Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: The id of the organization invitation to get (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_organization_invitation_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_user_organization_invitation_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to get")], + _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[GetUserOrganizationInvitationReply]: + """Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: The id of the organization invitation to get (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_organization_invitation_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_user_organization_invitation_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the organization invitation to get")], + _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 User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: The id of the organization invitation to get (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_organization_invitation_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserOrganizationInvitationReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_organization_invitation_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/account/organization_invitations/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_user_settings( + self, + _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, + ) -> GetUserSettingsReply: + """get_user_settings + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_settings_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserSettingsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_user_settings_with_http_info( + self, + _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[GetUserSettingsReply]: + """get_user_settings + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_settings_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserSettingsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_user_settings_without_preload_content( + self, + _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_user_settings + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_settings_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetUserSettingsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_settings_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/account/settings', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_user_organization_invitations( + self, + 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on organization invitation statuses")] = 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, + ) -> ListUserOrganizationInvitationsReply: + """List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on organization invitation statuses + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_user_organization_invitations_serialize( + limit=limit, + offset=offset, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListUserOrganizationInvitationsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_user_organization_invitations_with_http_info( + self, + 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on organization invitation statuses")] = 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[ListUserOrganizationInvitationsReply]: + """List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on organization invitation statuses + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_user_organization_invitations_serialize( + limit=limit, + offset=offset, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListUserOrganizationInvitationsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_user_organization_invitations_without_preload_content( + self, + 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, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on organization invitation statuses")] = 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 User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param statuses: (Optional) Filter on organization invitation statuses + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_user_organization_invitations_serialize( + limit=limit, + offset=offset, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListUserOrganizationInvitationsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_user_organization_invitations_serialize( + self, + limit, + offset, + statuses, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'statuses': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if statuses is not None: + + _query_params.append(('statuses', statuses)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/account/organization_invitations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_user_organizations( + self, + limit: Annotated[Optional[StrictStr], Field(description="(Optional) Define pagination limit")] = None, + offset: Annotated[Optional[StrictStr], Field(description="(Optional) Define pagination offset")] = None, + order: Annotated[Optional[StrictStr], Field(description="(Optional) Sorts the list in the ascending or the descending order")] = None, + search: Annotated[Optional[StrictStr], Field(description="(Optional) Fuzzy case-insensitive search based on organization name or organization id")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Only return organizations which status match one in the list")] = 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, + ) -> ListUserOrganizationsReply: + """List User Organizations + + List all organizations that the current user is a member of. + + :param limit: (Optional) Define pagination limit + :type limit: str + :param offset: (Optional) Define pagination offset + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param search: (Optional) Fuzzy case-insensitive search based on organization name or organization id + :type search: str + :param statuses: (Optional) Only return organizations which status match one in the list + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_user_organizations_serialize( + limit=limit, + offset=offset, + order=order, + search=search, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListUserOrganizationsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_user_organizations_with_http_info( + self, + limit: Annotated[Optional[StrictStr], Field(description="(Optional) Define pagination limit")] = None, + offset: Annotated[Optional[StrictStr], Field(description="(Optional) Define pagination offset")] = None, + order: Annotated[Optional[StrictStr], Field(description="(Optional) Sorts the list in the ascending or the descending order")] = None, + search: Annotated[Optional[StrictStr], Field(description="(Optional) Fuzzy case-insensitive search based on organization name or organization id")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Only return organizations which status match one in the list")] = 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[ListUserOrganizationsReply]: + """List User Organizations + + List all organizations that the current user is a member of. + + :param limit: (Optional) Define pagination limit + :type limit: str + :param offset: (Optional) Define pagination offset + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param search: (Optional) Fuzzy case-insensitive search based on organization name or organization id + :type search: str + :param statuses: (Optional) Only return organizations which status match one in the list + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_user_organizations_serialize( + limit=limit, + offset=offset, + order=order, + search=search, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListUserOrganizationsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_user_organizations_without_preload_content( + self, + limit: Annotated[Optional[StrictStr], Field(description="(Optional) Define pagination limit")] = None, + offset: Annotated[Optional[StrictStr], Field(description="(Optional) Define pagination offset")] = None, + order: Annotated[Optional[StrictStr], Field(description="(Optional) Sorts the list in the ascending or the descending order")] = None, + search: Annotated[Optional[StrictStr], Field(description="(Optional) Fuzzy case-insensitive search based on organization name or organization id")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Only return organizations which status match one in the list")] = 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 User Organizations + + List all organizations that the current user is a member of. + + :param limit: (Optional) Define pagination limit + :type limit: str + :param offset: (Optional) Define pagination offset + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param search: (Optional) Fuzzy case-insensitive search based on organization name or organization id + :type search: str + :param statuses: (Optional) Only return organizations which status match one in the list + :type statuses: List[str] + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_user_organizations_serialize( + limit=limit, + offset=offset, + order=order, + search=search, + statuses=statuses, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListUserOrganizationsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_user_organizations_serialize( + self, + limit, + offset, + order, + search, + statuses, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'statuses': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + if search is not None: + + _query_params.append(('search', search)) + + if statuses is not None: + + _query_params.append(('statuses', statuses)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/account/organizations', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def login_method( + self, + email: 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, + ) -> LoginMethodReply: + """Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param email: + :type email: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._login_method_serialize( + email=email, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginMethodReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def login_method_with_http_info( + self, + email: 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[LoginMethodReply]: + """Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param email: + :type email: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._login_method_serialize( + email=email, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginMethodReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def login_method_without_preload_content( + self, + email: 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: + """Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param email: + :type email: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._login_method_serialize( + email=email, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginMethodReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _login_method_serialize( + self, + email, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if email is not None: + + _query_params.append(('email', email)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/account/login_method', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def o_auth_callback( + self, + body: OAuthCallbackRequest, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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, + ) -> OAuthCallbackReply: + """Authenticate using OAuth + + + :param body: (required) + :type body: OAuthCallbackRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._o_auth_callback_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OAuthCallbackReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def o_auth_callback_with_http_info( + self, + body: OAuthCallbackRequest, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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[OAuthCallbackReply]: + """Authenticate using OAuth + + + :param body: (required) + :type body: OAuthCallbackRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._o_auth_callback_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OAuthCallbackReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def o_auth_callback_without_preload_content( + self, + body: OAuthCallbackRequest, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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: + """Authenticate using OAuth + + + :param body: (required) + :type body: OAuthCallbackRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._o_auth_callback_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OAuthCallbackReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _o_auth_callback_serialize( + self, + body, + seon_fp, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if seon_fp is not None: + _header_params['seon-fp'] = seon_fp + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/oauth', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def resend_email_validation( + self, + body: Dict[str, Any], + _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, + ) -> object: + """Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resend_email_validation_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def resend_email_validation_with_http_info( + self, + body: Dict[str, Any], + _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[object]: + """Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resend_email_validation_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def resend_email_validation_without_preload_content( + self, + body: Dict[str, Any], + _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: + """Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resend_email_validation_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _resend_email_validation_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/resend_validation', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def reset_password( + self, + body: ResetPasswordRequest, + _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, + ) -> object: + """Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: ResetPasswordRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reset_password_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def reset_password_with_http_info( + self, + body: ResetPasswordRequest, + _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[object]: + """Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: ResetPasswordRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reset_password_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def reset_password_without_preload_content( + self, + body: ResetPasswordRequest, + _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: + """Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: ResetPasswordRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reset_password_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _reset_password_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/reset_password', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def signup( + self, + body: Annotated[CreateAccountRequest, Field(description="Create new account")], + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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, + ) -> LoginReply: + """Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: Create new account (required) + :type body: CreateAccountRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._signup_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def signup_with_http_info( + self, + body: Annotated[CreateAccountRequest, Field(description="Create new account")], + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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[LoginReply]: + """Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: Create new account (required) + :type body: CreateAccountRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._signup_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def signup_without_preload_content( + self, + body: Annotated[CreateAccountRequest, Field(description="Create new account")], + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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: + """Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: Create new account (required) + :type body: CreateAccountRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._signup_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _signup_serialize( + self, + body, + seon_fp, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if seon_fp is not None: + _header_params['seon-fp'] = seon_fp + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/signup', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_password( + self, + body: UpdatePasswordRequest, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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, + ) -> LoginReply: + """Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: UpdatePasswordRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_password_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_password_with_http_info( + self, + body: UpdatePasswordRequest, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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[LoginReply]: + """Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: UpdatePasswordRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_password_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_password_without_preload_content( + self, + body: UpdatePasswordRequest, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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: + """Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: UpdatePasswordRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_password_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_password_serialize( + self, + body, + seon_fp, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if seon_fp is not None: + _header_params['seon-fp'] = seon_fp + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/update_password', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_user( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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, + ) -> UserReply: + """Update User + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_user_with_http_info( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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[UserReply]: + """Update User + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_user_without_preload_content( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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: + """Update User + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_user_serialize( + self, + user, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if user is not None: + _body_params = user + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/account/profile', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_user2( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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, + ) -> UserReply: + """Update User + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user2_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_user2_with_http_info( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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[UserReply]: + """Update User + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user2_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_user2_without_preload_content( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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: + """Update User + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user2_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_user2_serialize( + self, + user, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if user is not None: + _body_params = user + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v1/account/profile', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_user_settings( + self, + body: UpdateUserSettingsRequest, + _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, + ) -> UpdateUserSettingsReply: + """update_user_settings + + + :param body: (required) + :type body: UpdateUserSettingsRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_settings_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateUserSettingsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_user_settings_with_http_info( + self, + body: UpdateUserSettingsRequest, + _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[UpdateUserSettingsReply]: + """update_user_settings + + + :param body: (required) + :type body: UpdateUserSettingsRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_settings_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateUserSettingsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_user_settings_without_preload_content( + self, + body: UpdateUserSettingsRequest, + _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: + """update_user_settings + + + :param body: (required) + :type body: UpdateUserSettingsRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_settings_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateUserSettingsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_user_settings_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v1/account/settings', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_user_v2( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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, + ) -> UserReply: + """Update User V2 + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_v2_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_user_v2_with_http_info( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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[UserReply]: + """Update User V2 + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_v2_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_user_v2_without_preload_content( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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: + """Update User V2 + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_v2_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_user_v2_serialize( + self, + user, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if user is not None: + _body_params = user + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v2/account/profile', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_user_v22( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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, + ) -> UserReply: + """Update User V2 + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_v22_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_user_v22_with_http_info( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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[UserReply]: + """Update User V2 + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_v22_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_user_v22_without_preload_content( + self, + user: UpdateUserRequestUserUpdateBody, + update_mask: 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: + """Update User V2 + + + :param user: (required) + :type user: UpdateUserRequestUserUpdateBody + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_user_v22_serialize( + user=user, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_user_v22_serialize( + self, + user, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if user is not None: + _body_params = user + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v2/account/profile', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def validate( + self, + id: StrictStr, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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, + ) -> LoginReply: + """Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: (required) + :type id: str + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._validate_serialize( + id=id, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def validate_with_http_info( + self, + id: StrictStr, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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[LoginReply]: + """Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: (required) + :type id: str + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._validate_serialize( + id=id, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def validate_without_preload_content( + self, + id: StrictStr, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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: + """Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param id: (required) + :type id: str + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._validate_serialize( + id=id, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _validate_serialize( + self, + id, + seon_fp, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + if seon_fp is not None: + _header_params['seon-fp'] = seon_fp + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/validate/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/projects_api.py b/koyeb/api_async/api/projects_api.py new file mode 100644 index 00000000..5082683e --- /dev/null +++ b/koyeb/api_async/api/projects_api.py @@ -0,0 +1,1799 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Any, Dict, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.create_project import CreateProject +from koyeb.api_async.models.create_project_reply import CreateProjectReply +from koyeb.api_async.models.get_project_reply import GetProjectReply +from koyeb.api_async.models.list_projects_reply import ListProjectsReply +from koyeb.api_async.models.project import Project +from koyeb.api_async.models.update_project_reply import UpdateProjectReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class ProjectsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_project( + self, + project: CreateProject, + _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, + ) -> CreateProjectReply: + """Create project + + + :param project: (required) + :type project: CreateProject + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_project_serialize( + project=project, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_project_with_http_info( + self, + project: CreateProject, + _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[CreateProjectReply]: + """Create project + + + :param project: (required) + :type project: CreateProject + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_project_serialize( + project=project, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_project_without_preload_content( + self, + project: CreateProject, + _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 project + + + :param project: (required) + :type project: CreateProject + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_project_serialize( + project=project, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_project_serialize( + self, + project, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if project is not None: + _body_params = project + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/projects', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_project( + self, + 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, + ) -> object: + """Delete project + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_project_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_project_with_http_info( + self, + 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[object]: + """Delete project + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_project_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_project_without_preload_content( + self, + 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 project + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_project_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_project_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/projects/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_project( + self, + 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, + ) -> GetProjectReply: + """Get project + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_project_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_project_with_http_info( + self, + 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[GetProjectReply]: + """Get project + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_project_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_project_without_preload_content( + self, + 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 project + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_project_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_project_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/projects/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_projects( + self, + 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, + name: Annotated[Optional[StrictStr], Field(description="(Optional) Filter by project name")] = 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, + ) -> ListProjectsReply: + """List projects + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param name: (Optional) Filter by project name + :type name: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_projects_serialize( + limit=limit, + offset=offset, + name=name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListProjectsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_projects_with_http_info( + self, + 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, + name: Annotated[Optional[StrictStr], Field(description="(Optional) Filter by project name")] = 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[ListProjectsReply]: + """List projects + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param name: (Optional) Filter by project name + :type name: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_projects_serialize( + limit=limit, + offset=offset, + name=name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListProjectsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_projects_without_preload_content( + self, + 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, + name: Annotated[Optional[StrictStr], Field(description="(Optional) Filter by project name")] = 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 projects + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param name: (Optional) Filter by project name + :type name: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_projects_serialize( + limit=limit, + offset=offset, + name=name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListProjectsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_projects_serialize( + self, + limit, + offset, + name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if name is not None: + + _query_params.append(('name', name)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/projects', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_project( + self, + id: StrictStr, + project: Project, + update_mask: 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, + ) -> UpdateProjectReply: + """Update project + + + :param id: (required) + :type id: str + :param project: (required) + :type project: Project + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_project_serialize( + id=id, + project=project, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_project_with_http_info( + self, + id: StrictStr, + project: Project, + update_mask: 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[UpdateProjectReply]: + """Update project + + + :param id: (required) + :type id: str + :param project: (required) + :type project: Project + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_project_serialize( + id=id, + project=project, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_project_without_preload_content( + self, + id: StrictStr, + project: Project, + update_mask: 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: + """Update project + + + :param id: (required) + :type id: str + :param project: (required) + :type project: Project + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_project_serialize( + id=id, + project=project, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_project_serialize( + self, + id, + project, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if project is not None: + _body_params = project + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/projects/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_project2( + self, + id: StrictStr, + project: Project, + update_mask: 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, + ) -> UpdateProjectReply: + """Update project + + + :param id: (required) + :type id: str + :param project: (required) + :type project: Project + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_project2_serialize( + id=id, + project=project, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_project2_with_http_info( + self, + id: StrictStr, + project: Project, + update_mask: 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[UpdateProjectReply]: + """Update project + + + :param id: (required) + :type id: str + :param project: (required) + :type project: Project + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_project2_serialize( + id=id, + project=project, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_project2_without_preload_content( + self, + id: StrictStr, + project: Project, + update_mask: 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: + """Update project + + + :param id: (required) + :type id: str + :param project: (required) + :type project: Project + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_project2_serialize( + id=id, + project=project, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateProjectReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_project2_serialize( + self, + id, + project, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if project is not None: + _body_params = project + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v1/projects/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/provisioning_api.py b/koyeb/api_async/api/provisioning_api.py new file mode 100644 index 00000000..7d5301bf --- /dev/null +++ b/koyeb/api_async/api/provisioning_api.py @@ -0,0 +1,1017 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import StrictStr +from typing import Any, Dict +from koyeb.api_async.models.create_stage_attempt_request import CreateStageAttemptRequest +from koyeb.api_async.models.declare_stage_progress_request import DeclareStageProgressRequest +from koyeb.api_async.models.declare_step_progress_request import DeclareStepProgressRequest + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class ProvisioningApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_stage_attempt( + self, + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: CreateStageAttemptRequest, + _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, + ) -> object: + """Create an attempt for a stage + + + :param deployment_id: (required) + :type deployment_id: str + :param stage: (required) + :type stage: str + :param attempt: (required) + :type attempt: str + :param body: (required) + :type body: CreateStageAttemptRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_stage_attempt_serialize( + deployment_id=deployment_id, + stage=stage, + attempt=attempt, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_stage_attempt_with_http_info( + self, + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: CreateStageAttemptRequest, + _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[object]: + """Create an attempt for a stage + + + :param deployment_id: (required) + :type deployment_id: str + :param stage: (required) + :type stage: str + :param attempt: (required) + :type attempt: str + :param body: (required) + :type body: CreateStageAttemptRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_stage_attempt_serialize( + deployment_id=deployment_id, + stage=stage, + attempt=attempt, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_stage_attempt_without_preload_content( + self, + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: CreateStageAttemptRequest, + _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 an attempt for a stage + + + :param deployment_id: (required) + :type deployment_id: str + :param stage: (required) + :type stage: str + :param attempt: (required) + :type attempt: str + :param body: (required) + :type body: CreateStageAttemptRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_stage_attempt_serialize( + deployment_id=deployment_id, + stage=stage, + attempt=attempt, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_stage_attempt_serialize( + self, + deployment_id, + stage, + attempt, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if deployment_id is not None: + _path_params['deployment_id'] = deployment_id + if stage is not None: + _path_params['stage'] = stage + if attempt is not None: + _path_params['attempt'] = attempt + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/provisioning/{deployment_id}/status/{stage}/{attempt}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def declare_stage_progress( + self, + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: DeclareStageProgressRequest, + _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, + ) -> object: + """Declare stage progress + + + :param deployment_id: (required) + :type deployment_id: str + :param stage: (required) + :type stage: str + :param attempt: (required) + :type attempt: str + :param body: (required) + :type body: DeclareStageProgressRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._declare_stage_progress_serialize( + deployment_id=deployment_id, + stage=stage, + attempt=attempt, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def declare_stage_progress_with_http_info( + self, + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: DeclareStageProgressRequest, + _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[object]: + """Declare stage progress + + + :param deployment_id: (required) + :type deployment_id: str + :param stage: (required) + :type stage: str + :param attempt: (required) + :type attempt: str + :param body: (required) + :type body: DeclareStageProgressRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._declare_stage_progress_serialize( + deployment_id=deployment_id, + stage=stage, + attempt=attempt, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def declare_stage_progress_without_preload_content( + self, + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + body: DeclareStageProgressRequest, + _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: + """Declare stage progress + + + :param deployment_id: (required) + :type deployment_id: str + :param stage: (required) + :type stage: str + :param attempt: (required) + :type attempt: str + :param body: (required) + :type body: DeclareStageProgressRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._declare_stage_progress_serialize( + deployment_id=deployment_id, + stage=stage, + attempt=attempt, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _declare_stage_progress_serialize( + self, + deployment_id, + stage, + attempt, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if deployment_id is not None: + _path_params['deployment_id'] = deployment_id + if stage is not None: + _path_params['stage'] = stage + if attempt is not None: + _path_params['attempt'] = attempt + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v1/provisioning/{deployment_id}/status/{stage}/{attempt}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def declare_step_progress( + self, + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + step: StrictStr, + body: DeclareStepProgressRequest, + _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, + ) -> object: + """Declare step progress + + + :param deployment_id: (required) + :type deployment_id: str + :param stage: (required) + :type stage: str + :param attempt: (required) + :type attempt: str + :param step: (required) + :type step: str + :param body: (required) + :type body: DeclareStepProgressRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._declare_step_progress_serialize( + deployment_id=deployment_id, + stage=stage, + attempt=attempt, + step=step, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def declare_step_progress_with_http_info( + self, + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + step: StrictStr, + body: DeclareStepProgressRequest, + _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[object]: + """Declare step progress + + + :param deployment_id: (required) + :type deployment_id: str + :param stage: (required) + :type stage: str + :param attempt: (required) + :type attempt: str + :param step: (required) + :type step: str + :param body: (required) + :type body: DeclareStepProgressRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._declare_step_progress_serialize( + deployment_id=deployment_id, + stage=stage, + attempt=attempt, + step=step, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def declare_step_progress_without_preload_content( + self, + deployment_id: StrictStr, + stage: StrictStr, + attempt: StrictStr, + step: StrictStr, + body: DeclareStepProgressRequest, + _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: + """Declare step progress + + + :param deployment_id: (required) + :type deployment_id: str + :param stage: (required) + :type stage: str + :param attempt: (required) + :type attempt: str + :param step: (required) + :type step: str + :param body: (required) + :type body: DeclareStepProgressRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._declare_step_progress_serialize( + deployment_id=deployment_id, + stage=stage, + attempt=attempt, + step=step, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _declare_step_progress_serialize( + self, + deployment_id, + stage, + attempt, + step, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if deployment_id is not None: + _path_params['deployment_id'] = deployment_id + if stage is not None: + _path_params['stage'] = stage + if attempt is not None: + _path_params['attempt'] = attempt + if step is not None: + _path_params['step'] = step + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v1/provisioning/{deployment_id}/status/{stage}/{attempt}/{step}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/quotas_api.py b/koyeb/api_async/api/quotas_api.py new file mode 100644 index 00000000..2653e17f --- /dev/null +++ b/koyeb/api_async/api/quotas_api.py @@ -0,0 +1,312 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from koyeb.api_async.models.review_organization_capacity_reply import ReviewOrganizationCapacityReply +from koyeb.api_async.models.review_organization_capacity_request import ReviewOrganizationCapacityRequest + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class QuotasApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def review_organization_capacity( + self, + body: ReviewOrganizationCapacityRequest, + _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, + ) -> ReviewOrganizationCapacityReply: + """DEPRECATED: Review Organization Capacity + + + :param body: (required) + :type body: ReviewOrganizationCapacityRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._review_organization_capacity_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReviewOrganizationCapacityReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def review_organization_capacity_with_http_info( + self, + body: ReviewOrganizationCapacityRequest, + _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[ReviewOrganizationCapacityReply]: + """DEPRECATED: Review Organization Capacity + + + :param body: (required) + :type body: ReviewOrganizationCapacityRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._review_organization_capacity_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReviewOrganizationCapacityReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def review_organization_capacity_without_preload_content( + self, + body: ReviewOrganizationCapacityRequest, + _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: + """DEPRECATED: Review Organization Capacity + + + :param body: (required) + :type body: ReviewOrganizationCapacityRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._review_organization_capacity_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ReviewOrganizationCapacityReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _review_organization_capacity_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/quotas/capacity', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/regional_deployments_api.py b/koyeb/api_async/api/regional_deployments_api.py new file mode 100644 index 00000000..4f979162 --- /dev/null +++ b/koyeb/api_async/api/regional_deployments_api.py @@ -0,0 +1,981 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.get_regional_deployment_reply import GetRegionalDeploymentReply +from koyeb.api_async.models.list_regional_deployment_events_reply import ListRegionalDeploymentEventsReply +from koyeb.api_async.models.list_regional_deployments_reply import ListRegionalDeploymentsReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class RegionalDeploymentsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def get_regional_deployment( + self, + id: Annotated[StrictStr, Field(description="The id of the regional deployment")], + _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, + ) -> GetRegionalDeploymentReply: + """Get Regional Deployment + + Experimental: use at your own risk + + :param id: The id of the regional deployment (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_regional_deployment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRegionalDeploymentReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_regional_deployment_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the regional deployment")], + _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[GetRegionalDeploymentReply]: + """Get Regional Deployment + + Experimental: use at your own risk + + :param id: The id of the regional deployment (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_regional_deployment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRegionalDeploymentReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_regional_deployment_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the regional deployment")], + _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 Regional Deployment + + Experimental: use at your own risk + + :param id: The id of the regional deployment (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_regional_deployment_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRegionalDeploymentReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_regional_deployment_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/regional_deployments/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_regional_deployment_events( + self, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on regional deployment id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on regional deployment 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, + ) -> ListRegionalDeploymentEventsReply: + """List Regional Deployment events + + + :param regional_deployment_id: (Optional) Filter on regional deployment id + :type regional_deployment_id: str + :param types: (Optional) Filter on regional deployment event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_regional_deployment_events_serialize( + regional_deployment_id=regional_deployment_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListRegionalDeploymentEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_regional_deployment_events_with_http_info( + self, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on regional deployment id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on regional deployment 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[ListRegionalDeploymentEventsReply]: + """List Regional Deployment events + + + :param regional_deployment_id: (Optional) Filter on regional deployment id + :type regional_deployment_id: str + :param types: (Optional) Filter on regional deployment event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_regional_deployment_events_serialize( + regional_deployment_id=regional_deployment_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListRegionalDeploymentEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_regional_deployment_events_without_preload_content( + self, + regional_deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on regional deployment id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on regional deployment 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 Regional Deployment events + + + :param regional_deployment_id: (Optional) Filter on regional deployment id + :type regional_deployment_id: str + :param types: (Optional) Filter on regional deployment event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_regional_deployment_events_serialize( + regional_deployment_id=regional_deployment_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListRegionalDeploymentEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_regional_deployment_events_serialize( + self, + regional_deployment_id, + types, + limit, + offset, + order, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'types': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if regional_deployment_id is not None: + + _query_params.append(('regional_deployment_id', regional_deployment_id)) + + if types is not None: + + _query_params.append(('types', types)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/regional_deployment_events', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_regional_deployments( + self, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on deployment id")] = 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, + _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, + ) -> ListRegionalDeploymentsReply: + """List Regional Deployments + + Experimental: use at your own risk + + :param deployment_id: (Optional) Filter on deployment id + :type deployment_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_regional_deployments_serialize( + deployment_id=deployment_id, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListRegionalDeploymentsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_regional_deployments_with_http_info( + self, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on deployment id")] = 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, + _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[ListRegionalDeploymentsReply]: + """List Regional Deployments + + Experimental: use at your own risk + + :param deployment_id: (Optional) Filter on deployment id + :type deployment_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_regional_deployments_serialize( + deployment_id=deployment_id, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListRegionalDeploymentsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_regional_deployments_without_preload_content( + self, + deployment_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on deployment id")] = 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, + _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 Regional Deployments + + Experimental: use at your own risk + + :param deployment_id: (Optional) Filter on deployment id + :type deployment_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_regional_deployments_serialize( + deployment_id=deployment_id, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListRegionalDeploymentsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_regional_deployments_serialize( + self, + deployment_id, + limit, + offset, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if deployment_id is not None: + + _query_params.append(('deployment_id', deployment_id)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/regional_deployments', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/repositories_api.py b/koyeb/api_async/api/repositories_api.py new file mode 100644 index 00000000..0e6fe535 --- /dev/null +++ b/koyeb/api_async/api/repositories_api.py @@ -0,0 +1,973 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Any, Dict, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.kgitproxy_list_branches_reply import KgitproxyListBranchesReply +from koyeb.api_async.models.kgitproxy_list_repositories_reply import KgitproxyListRepositoriesReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class RepositoriesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def list_branches( + self, + repository_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on one repository.")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter.")] = 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, + _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, + ) -> KgitproxyListBranchesReply: + """List Branches + + + :param repository_id: (Optional) Filter on one repository. + :type repository_id: str + :param name: (Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter. + :type name: str + :param limit: (Optional) The number of items to return. + :type limit: str + :param offset: (Optional) The offset in the list of item to return. + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_branches_serialize( + repository_id=repository_id, + name=name, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KgitproxyListBranchesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_branches_with_http_info( + self, + repository_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on one repository.")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter.")] = 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, + _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[KgitproxyListBranchesReply]: + """List Branches + + + :param repository_id: (Optional) Filter on one repository. + :type repository_id: str + :param name: (Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter. + :type name: str + :param limit: (Optional) The number of items to return. + :type limit: str + :param offset: (Optional) The offset in the list of item to return. + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_branches_serialize( + repository_id=repository_id, + name=name, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KgitproxyListBranchesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_branches_without_preload_content( + self, + repository_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on one repository.")] = None, + name: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter.")] = 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, + _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 Branches + + + :param repository_id: (Optional) Filter on one repository. + :type repository_id: str + :param name: (Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter. + :type name: str + :param limit: (Optional) The number of items to return. + :type limit: str + :param offset: (Optional) The offset in the list of item to return. + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_branches_serialize( + repository_id=repository_id, + name=name, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KgitproxyListBranchesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_branches_serialize( + self, + repository_id, + name, + limit, + offset, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if repository_id is not None: + + _query_params.append(('repository_id', repository_id)) + + if name is not None: + + _query_params.append(('name', name)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/git/branches', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_repositories( + self, + name: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on repository name using a fuzzy search.")] = None, + name_search_op: Annotated[Optional[StrictStr], Field(description="(Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default.")] = 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, + _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, + ) -> KgitproxyListRepositoriesReply: + """List Repositories + + + :param name: (Optional) Filter on repository name using a fuzzy search. + :type name: str + :param name_search_op: (Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default. + :type name_search_op: str + :param limit: (Optional) The number of items to return. + :type limit: str + :param offset: (Optional) The offset in the list of item to return. + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_repositories_serialize( + name=name, + name_search_op=name_search_op, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KgitproxyListRepositoriesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_repositories_with_http_info( + self, + name: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on repository name using a fuzzy search.")] = None, + name_search_op: Annotated[Optional[StrictStr], Field(description="(Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default.")] = 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, + _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[KgitproxyListRepositoriesReply]: + """List Repositories + + + :param name: (Optional) Filter on repository name using a fuzzy search. + :type name: str + :param name_search_op: (Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default. + :type name_search_op: str + :param limit: (Optional) The number of items to return. + :type limit: str + :param offset: (Optional) The offset in the list of item to return. + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_repositories_serialize( + name=name, + name_search_op=name_search_op, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KgitproxyListRepositoriesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_repositories_without_preload_content( + self, + name: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on repository name using a fuzzy search.")] = None, + name_search_op: Annotated[Optional[StrictStr], Field(description="(Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default.")] = 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, + _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 Repositories + + + :param name: (Optional) Filter on repository name using a fuzzy search. + :type name: str + :param name_search_op: (Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default. + :type name_search_op: str + :param limit: (Optional) The number of items to return. + :type limit: str + :param offset: (Optional) The offset in the list of item to return. + :type offset: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_repositories_serialize( + name=name, + name_search_op=name_search_op, + limit=limit, + offset=offset, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KgitproxyListRepositoriesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_repositories_serialize( + self, + name, + name_search_op, + limit, + offset, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if name is not None: + + _query_params.append(('name', name)) + + if name_search_op is not None: + + _query_params.append(('name_search_op', name_search_op)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/git/repositories', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def resync_organization( + self, + organization_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, + ) -> object: + """Resync Organization + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resync_organization_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def resync_organization_with_http_info( + self, + organization_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[object]: + """Resync Organization + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resync_organization_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def resync_organization_without_preload_content( + self, + organization_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: + """Resync Organization + + + :param organization_id: (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resync_organization_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _resync_organization_serialize( + self, + organization_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if organization_id is not None: + _path_params['organization_id'] = organization_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/git/sync/organization/{organization_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/search_api.py b/koyeb/api_async/api/search_api.py new file mode 100644 index 00000000..c1e4450c --- /dev/null +++ b/koyeb/api_async/api/search_api.py @@ -0,0 +1,316 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from koyeb.api_async.models.ksearch_search_reply import KsearchSearchReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class SearchApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def search( + self, + query: Annotated[Optional[StrictStr], Field(description="(Optional) Search query")] = 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, + ) -> KsearchSearchReply: + """Search + + + :param query: (Optional) Search query + :type query: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_serialize( + query=query, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KsearchSearchReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def search_with_http_info( + self, + query: Annotated[Optional[StrictStr], Field(description="(Optional) Search query")] = 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[KsearchSearchReply]: + """Search + + + :param query: (Optional) Search query + :type query: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_serialize( + query=query, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KsearchSearchReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def search_without_preload_content( + self, + query: Annotated[Optional[StrictStr], Field(description="(Optional) Search query")] = 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: + """Search + + + :param query: (Optional) Search query + :type query: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_serialize( + query=query, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KsearchSearchReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_serialize( + self, + query, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if query is not None: + + _query_params.append(('query', query)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/search', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/secrets_api.py b/koyeb/api_async/api/secrets_api.py new file mode 100644 index 00000000..844da529 --- /dev/null +++ b/koyeb/api_async/api/secrets_api.py @@ -0,0 +1,2126 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr, field_validator +from typing import Any, Dict, List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.create_secret import CreateSecret +from koyeb.api_async.models.create_secret_reply import CreateSecretReply +from koyeb.api_async.models.get_secret_reply import GetSecretReply +from koyeb.api_async.models.list_secrets_reply import ListSecretsReply +from koyeb.api_async.models.reveal_secret_reply import RevealSecretReply +from koyeb.api_async.models.secret import Secret +from koyeb.api_async.models.update_secret_reply import UpdateSecretReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class SecretsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_secret( + self, + secret: CreateSecret, + _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, + ) -> CreateSecretReply: + """Create Secret + + + :param secret: (required) + :type secret: CreateSecret + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_secret_serialize( + secret=secret, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_secret_with_http_info( + self, + secret: CreateSecret, + _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[CreateSecretReply]: + """Create Secret + + + :param secret: (required) + :type secret: CreateSecret + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_secret_serialize( + secret=secret, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_secret_without_preload_content( + self, + secret: CreateSecret, + _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 Secret + + + :param secret: (required) + :type secret: CreateSecret + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_secret_serialize( + secret=secret, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_secret_serialize( + self, + secret, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if secret is not None: + _body_params = secret + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/secrets', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_secret( + self, + 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, + ) -> object: + """Delete Secret + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_secret_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_secret_with_http_info( + self, + 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[object]: + """Delete Secret + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_secret_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_secret_without_preload_content( + self, + 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 Secret + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_secret_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_secret_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/secrets/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_secret( + self, + 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, + ) -> GetSecretReply: + """Get Secret + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_secret_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_secret_with_http_info( + self, + 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[GetSecretReply]: + """Get Secret + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_secret_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_secret_without_preload_content( + self, + 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 Secret + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_secret_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_secret_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/secrets/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_secrets( + self, + name: Optional[StrictStr] = None, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="Filter by secret types")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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, + ) -> ListSecretsReply: + """List Secrets + + + :param name: + :type name: str + :param limit: + :type limit: str + :param offset: + :type offset: str + :param types: Filter by secret types + :type types: List[str] + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_secrets_serialize( + name=name, + limit=limit, + offset=offset, + types=types, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListSecretsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_secrets_with_http_info( + self, + name: Optional[StrictStr] = None, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="Filter by secret types")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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[ListSecretsReply]: + """List Secrets + + + :param name: + :type name: str + :param limit: + :type limit: str + :param offset: + :type offset: str + :param types: Filter by secret types + :type types: List[str] + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_secrets_serialize( + name=name, + limit=limit, + offset=offset, + types=types, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListSecretsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_secrets_without_preload_content( + self, + name: Optional[StrictStr] = None, + limit: Optional[StrictStr] = None, + offset: Optional[StrictStr] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="Filter by secret types")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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 Secrets + + + :param name: + :type name: str + :param limit: + :type limit: str + :param offset: + :type offset: str + :param types: Filter by secret types + :type types: List[str] + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_secrets_serialize( + name=name, + limit=limit, + offset=offset, + types=types, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListSecretsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_secrets_serialize( + self, + name, + limit, + offset, + types, + project_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'types': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if name is not None: + + _query_params.append(('name', name)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if types is not None: + + _query_params.append(('types', types)) + + if project_id is not None: + + _query_params.append(('project_id', project_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/secrets', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def reveal_secret( + self, + id: StrictStr, + body: Dict[str, Any], + _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, + ) -> RevealSecretReply: + """Reveal Secret + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reveal_secret_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RevealSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def reveal_secret_with_http_info( + self, + id: StrictStr, + body: Dict[str, Any], + _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[RevealSecretReply]: + """Reveal Secret + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reveal_secret_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RevealSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def reveal_secret_without_preload_content( + self, + id: StrictStr, + body: Dict[str, Any], + _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: + """Reveal Secret + + + :param id: (required) + :type id: str + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reveal_secret_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RevealSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _reveal_secret_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/secrets/{id}/reveal', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_secret( + self, + id: StrictStr, + secret: Secret, + update_mask: 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, + ) -> UpdateSecretReply: + """Update Secret + + + :param id: (required) + :type id: str + :param secret: (required) + :type secret: Secret + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_secret_serialize( + id=id, + secret=secret, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_secret_with_http_info( + self, + id: StrictStr, + secret: Secret, + update_mask: 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[UpdateSecretReply]: + """Update Secret + + + :param id: (required) + :type id: str + :param secret: (required) + :type secret: Secret + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_secret_serialize( + id=id, + secret=secret, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_secret_without_preload_content( + self, + id: StrictStr, + secret: Secret, + update_mask: 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: + """Update Secret + + + :param id: (required) + :type id: str + :param secret: (required) + :type secret: Secret + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_secret_serialize( + id=id, + secret=secret, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_secret_serialize( + self, + id, + secret, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if secret is not None: + _body_params = secret + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/secrets/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_secret2( + self, + id: StrictStr, + secret: Secret, + update_mask: 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, + ) -> UpdateSecretReply: + """Update Secret + + + :param id: (required) + :type id: str + :param secret: (required) + :type secret: Secret + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_secret2_serialize( + id=id, + secret=secret, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_secret2_with_http_info( + self, + id: StrictStr, + secret: Secret, + update_mask: 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[UpdateSecretReply]: + """Update Secret + + + :param id: (required) + :type id: str + :param secret: (required) + :type secret: Secret + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_secret2_serialize( + id=id, + secret=secret, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_secret2_without_preload_content( + self, + id: StrictStr, + secret: Secret, + update_mask: 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: + """Update Secret + + + :param id: (required) + :type id: str + :param secret: (required) + :type secret: Secret + :param update_mask: + :type update_mask: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_secret2_serialize( + id=id, + secret=secret, + update_mask=update_mask, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateSecretReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_secret2_serialize( + self, + id, + secret, + update_mask, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + # process the header parameters + # process the form parameters + # process the body parameter + if secret is not None: + _body_params = secret + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v1/secrets/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/services_api.py b/koyeb/api_async/api/services_api.py new file mode 100644 index 00000000..f03f5f0f --- /dev/null +++ b/koyeb/api_async/api/services_api.py @@ -0,0 +1,4309 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Any, Dict, List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.autocomplete_reply import AutocompleteReply +from koyeb.api_async.models.autocomplete_request import AutocompleteRequest +from koyeb.api_async.models.create_service import CreateService +from koyeb.api_async.models.create_service_reply import CreateServiceReply +from koyeb.api_async.models.get_service_reply import GetServiceReply +from koyeb.api_async.models.get_service_scaling_reply import GetServiceScalingReply +from koyeb.api_async.models.list_service_events_reply import ListServiceEventsReply +from koyeb.api_async.models.list_services_reply import ListServicesReply +from koyeb.api_async.models.redeploy_reply import RedeployReply +from koyeb.api_async.models.redeploy_request_info import RedeployRequestInfo +from koyeb.api_async.models.update_service import UpdateService +from koyeb.api_async.models.update_service_reply import UpdateServiceReply +from koyeb.api_async.models.update_service_scaling_request import UpdateServiceScalingRequest + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class ServicesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def autocomplete( + self, + body: AutocompleteRequest, + _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, + ) -> AutocompleteReply: + """Autocomplete definition + + Generate autocomplete definition for a service + + :param body: (required) + :type body: AutocompleteRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._autocomplete_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AutocompleteReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def autocomplete_with_http_info( + self, + body: AutocompleteRequest, + _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[AutocompleteReply]: + """Autocomplete definition + + Generate autocomplete definition for a service + + :param body: (required) + :type body: AutocompleteRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._autocomplete_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AutocompleteReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def autocomplete_without_preload_content( + self, + body: AutocompleteRequest, + _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: + """Autocomplete definition + + Generate autocomplete definition for a service + + :param body: (required) + :type body: AutocompleteRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._autocomplete_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AutocompleteReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _autocomplete_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/services-autocomplete', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def create_service( + self, + service: CreateService, + dry_run: Annotated[Optional[StrictBool], Field(description="If set only run validation")] = 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, + ) -> CreateServiceReply: + """Create Service + + + :param service: (required) + :type service: CreateService + :param dry_run: If set only run validation + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_service_serialize( + service=service, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_service_with_http_info( + self, + service: CreateService, + dry_run: Annotated[Optional[StrictBool], Field(description="If set only run validation")] = 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[CreateServiceReply]: + """Create Service + + + :param service: (required) + :type service: CreateService + :param dry_run: If set only run validation + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_service_serialize( + service=service, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_service_without_preload_content( + self, + service: CreateService, + dry_run: Annotated[Optional[StrictBool], Field(description="If set only run validation")] = 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: + """Create Service + + + :param service: (required) + :type service: CreateService + :param dry_run: If set only run validation + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_service_serialize( + service=service, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_service_serialize( + self, + service, + dry_run, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if dry_run is not None: + + _query_params.append(('dry_run', dry_run)) + + # process the header parameters + # process the form parameters + # process the body parameter + if service is not None: + _body_params = service + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/services', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_service( + self, + id: Annotated[StrictStr, Field(description="The id of the entity to delete")], + _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, + ) -> object: + """Delete Service + + Service deletion is allowed for all status. + + :param id: The id of the entity to delete (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_service_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_service_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the entity to delete")], + _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[object]: + """Delete Service + + Service deletion is allowed for all status. + + :param id: The id of the entity to delete (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_service_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_service_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the entity to delete")], + _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 Service + + Service deletion is allowed for all status. + + :param id: The id of the entity to delete (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_service_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_service_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/services/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_service_scaling( + self, + id: Annotated[StrictStr, Field(description="The id of the service")], + _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, + ) -> object: + """Delete Service Scaling + + Deletes the manual scaling configuration for a service, reverting to the scaling defined in the deployment definition. + + :param id: The id of the service (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_service_scaling_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_service_scaling_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the service")], + _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[object]: + """Delete Service Scaling + + Deletes the manual scaling configuration for a service, reverting to the scaling defined in the deployment definition. + + :param id: The id of the service (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_service_scaling_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_service_scaling_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the service")], + _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 Service Scaling + + Deletes the manual scaling configuration for a service, reverting to the scaling defined in the deployment definition. + + :param id: The id of the service (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_service_scaling_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_service_scaling_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/services/{id}/scale', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_service( + self, + id: Annotated[StrictStr, Field(description="The id of the Service")], + _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, + ) -> GetServiceReply: + """Get Service + + + :param id: The id of the Service (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_service_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_service_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the Service")], + _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[GetServiceReply]: + """Get Service + + + :param id: The id of the Service (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_service_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_service_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the Service")], + _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 Service + + + :param id: The id of the Service (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_service_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_service_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/services/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_service_scaling( + self, + id: Annotated[StrictStr, Field(description="The id of the service")], + _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, + ) -> GetServiceScalingReply: + """Get Service Scaling + + Returns the current scaling configuration for a service + + :param id: The id of the service (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_service_scaling_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetServiceScalingReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_service_scaling_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the service")], + _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[GetServiceScalingReply]: + """Get Service Scaling + + Returns the current scaling configuration for a service + + :param id: The id of the service (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_service_scaling_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetServiceScalingReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_service_scaling_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the service")], + _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 Service Scaling + + Returns the current scaling configuration for a service + + :param id: The id of the service (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_service_scaling_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetServiceScalingReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_service_scaling_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/services/{id}/scale', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_service_events( + self, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on service id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on service 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, + ) -> ListServiceEventsReply: + """List Service events + + + :param service_id: (Optional) Filter on service id + :type service_id: str + :param types: (Optional) Filter on service event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_service_events_serialize( + service_id=service_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListServiceEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_service_events_with_http_info( + self, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on service id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on service 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[ListServiceEventsReply]: + """List Service events + + + :param service_id: (Optional) Filter on service id + :type service_id: str + :param types: (Optional) Filter on service event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_service_events_serialize( + service_id=service_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListServiceEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_service_events_without_preload_content( + self, + service_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter on service id")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on service 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 Service events + + + :param service_id: (Optional) Filter on service id + :type service_id: str + :param types: (Optional) Filter on service event types + :type types: List[str] + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_service_events_serialize( + service_id=service_id, + types=types, + limit=limit, + offset=offset, + order=order, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListServiceEventsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_service_events_serialize( + self, + service_id, + types, + limit, + offset, + order, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'types': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if service_id is not None: + + _query_params.append(('service_id', service_id)) + + if types is not None: + + _query_params.append(('types', types)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/service_events', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_services( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) The id of the app")] = 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, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on service types")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on service statuses")] = None, + regions: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on regions")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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, + ) -> ListServicesReply: + """List Services + + + :param app_id: (Optional) The id of the app + :type app_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param name: (Optional) A filter for name + :type name: str + :param types: (Optional) Filter on service types + :type types: List[str] + :param statuses: (Optional) Filter on service statuses + :type statuses: List[str] + :param regions: (Optional) Filter on regions + :type regions: List[str] + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_services_serialize( + app_id=app_id, + limit=limit, + offset=offset, + name=name, + types=types, + statuses=statuses, + regions=regions, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListServicesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_services_with_http_info( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) The id of the app")] = 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, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on service types")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on service statuses")] = None, + regions: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on regions")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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[ListServicesReply]: + """List Services + + + :param app_id: (Optional) The id of the app + :type app_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param name: (Optional) A filter for name + :type name: str + :param types: (Optional) Filter on service types + :type types: List[str] + :param statuses: (Optional) Filter on service statuses + :type statuses: List[str] + :param regions: (Optional) Filter on regions + :type regions: List[str] + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_services_serialize( + app_id=app_id, + limit=limit, + offset=offset, + name=name, + types=types, + statuses=statuses, + regions=regions, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListServicesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_services_without_preload_content( + self, + app_id: Annotated[Optional[StrictStr], Field(description="(Optional) The id of the app")] = 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, + name: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for name")] = None, + types: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on service types")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on service statuses")] = None, + regions: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter on regions")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the project ID")] = 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 Services + + + :param app_id: (Optional) The id of the app + :type app_id: str + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param name: (Optional) A filter for name + :type name: str + :param types: (Optional) Filter on service types + :type types: List[str] + :param statuses: (Optional) Filter on service statuses + :type statuses: List[str] + :param regions: (Optional) Filter on regions + :type regions: List[str] + :param project_id: (Optional) A filter for the project ID + :type project_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_services_serialize( + app_id=app_id, + limit=limit, + offset=offset, + name=name, + types=types, + statuses=statuses, + regions=regions, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListServicesReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_services_serialize( + self, + app_id, + limit, + offset, + name, + types, + statuses, + regions, + project_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'types': 'multi', + 'statuses': 'multi', + 'regions': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if app_id is not None: + + _query_params.append(('app_id', app_id)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if name is not None: + + _query_params.append(('name', name)) + + if types is not None: + + _query_params.append(('types', types)) + + if statuses is not None: + + _query_params.append(('statuses', statuses)) + + if regions is not None: + + _query_params.append(('regions', regions)) + + if project_id is not None: + + _query_params.append(('project_id', project_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/services', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def pause_service( + self, + id: Annotated[StrictStr, Field(description="The id of the service to pause.")], + _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, + ) -> object: + """Pause Service + + Service pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + + :param id: The id of the service to pause. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._pause_service_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def pause_service_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the service to pause.")], + _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[object]: + """Pause Service + + Service pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + + :param id: The id of the service to pause. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._pause_service_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def pause_service_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the service to pause.")], + _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: + """Pause Service + + Service pause action is allowed for the following status: - starting - healthy - degraded - unhealthy - resuming + + :param id: The id of the service to pause. (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._pause_service_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _pause_service_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/services/{id}/pause', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def re_deploy( + self, + id: StrictStr, + info: RedeployRequestInfo, + _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, + ) -> RedeployReply: + """ReDeploy Service + + + :param id: (required) + :type id: str + :param info: (required) + :type info: RedeployRequestInfo + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._re_deploy_serialize( + id=id, + info=info, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RedeployReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def re_deploy_with_http_info( + self, + id: StrictStr, + info: RedeployRequestInfo, + _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[RedeployReply]: + """ReDeploy Service + + + :param id: (required) + :type id: str + :param info: (required) + :type info: RedeployRequestInfo + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._re_deploy_serialize( + id=id, + info=info, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RedeployReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def re_deploy_without_preload_content( + self, + id: StrictStr, + info: RedeployRequestInfo, + _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: + """ReDeploy Service + + + :param id: (required) + :type id: str + :param info: (required) + :type info: RedeployRequestInfo + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._re_deploy_serialize( + id=id, + info=info, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RedeployReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _re_deploy_serialize( + self, + id, + info, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if info is not None: + _body_params = info + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/services/{id}/redeploy', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def resume_service( + self, + id: Annotated[StrictStr, Field(description="The id of the service to pause.")], + skip_build: Annotated[Optional[StrictBool], Field(description="If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened.")] = None, + use_cache: Optional[StrictBool] = 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, + ) -> object: + """Resume Service + + Service resume action is allowed for the following status: - paused + + :param id: The id of the service to pause. (required) + :type id: str + :param skip_build: If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened. + :type skip_build: bool + :param use_cache: + :type use_cache: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resume_service_serialize( + id=id, + skip_build=skip_build, + use_cache=use_cache, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def resume_service_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the service to pause.")], + skip_build: Annotated[Optional[StrictBool], Field(description="If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened.")] = None, + use_cache: Optional[StrictBool] = 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[object]: + """Resume Service + + Service resume action is allowed for the following status: - paused + + :param id: The id of the service to pause. (required) + :type id: str + :param skip_build: If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened. + :type skip_build: bool + :param use_cache: + :type use_cache: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resume_service_serialize( + id=id, + skip_build=skip_build, + use_cache=use_cache, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def resume_service_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the service to pause.")], + skip_build: Annotated[Optional[StrictBool], Field(description="If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened.")] = None, + use_cache: Optional[StrictBool] = 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: + """Resume Service + + Service resume action is allowed for the following status: - paused + + :param id: The id of the service to pause. (required) + :type id: str + :param skip_build: If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened. + :type skip_build: bool + :param use_cache: + :type use_cache: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resume_service_serialize( + id=id, + skip_build=skip_build, + use_cache=use_cache, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _resume_service_serialize( + self, + id, + skip_build, + use_cache, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if skip_build is not None: + + _query_params.append(('skip_build', skip_build)) + + if use_cache is not None: + + _query_params.append(('use_cache', use_cache)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/services/{id}/resume', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_service( + self, + id: Annotated[StrictStr, Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[Optional[StrictBool], Field(description="If set, run validation and check that the service exists")] = 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, + ) -> UpdateServiceReply: + """Update Service + + + :param id: The id of the entity to update (required) + :type id: str + :param service: (required) + :type service: UpdateService + :param update_mask: + :type update_mask: str + :param dry_run: If set, run validation and check that the service exists + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_service_serialize( + id=id, + service=service, + update_mask=update_mask, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_service_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[Optional[StrictBool], Field(description="If set, run validation and check that the service exists")] = 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[UpdateServiceReply]: + """Update Service + + + :param id: The id of the entity to update (required) + :type id: str + :param service: (required) + :type service: UpdateService + :param update_mask: + :type update_mask: str + :param dry_run: If set, run validation and check that the service exists + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_service_serialize( + id=id, + service=service, + update_mask=update_mask, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_service_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[Optional[StrictBool], Field(description="If set, run validation and check that the service exists")] = 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: + """Update Service + + + :param id: The id of the entity to update (required) + :type id: str + :param service: (required) + :type service: UpdateService + :param update_mask: + :type update_mask: str + :param dry_run: If set, run validation and check that the service exists + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_service_serialize( + id=id, + service=service, + update_mask=update_mask, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_service_serialize( + self, + id, + service, + update_mask, + dry_run, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + if dry_run is not None: + + _query_params.append(('dry_run', dry_run)) + + # process the header parameters + # process the form parameters + # process the body parameter + if service is not None: + _body_params = service + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/services/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_service2( + self, + id: Annotated[StrictStr, Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[Optional[StrictBool], Field(description="If set, run validation and check that the service exists")] = 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, + ) -> UpdateServiceReply: + """Update Service + + + :param id: The id of the entity to update (required) + :type id: str + :param service: (required) + :type service: UpdateService + :param update_mask: + :type update_mask: str + :param dry_run: If set, run validation and check that the service exists + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_service2_serialize( + id=id, + service=service, + update_mask=update_mask, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_service2_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[Optional[StrictBool], Field(description="If set, run validation and check that the service exists")] = 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[UpdateServiceReply]: + """Update Service + + + :param id: The id of the entity to update (required) + :type id: str + :param service: (required) + :type service: UpdateService + :param update_mask: + :type update_mask: str + :param dry_run: If set, run validation and check that the service exists + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_service2_serialize( + id=id, + service=service, + update_mask=update_mask, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_service2_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the entity to update")], + service: UpdateService, + update_mask: Optional[StrictStr] = None, + dry_run: Annotated[Optional[StrictBool], Field(description="If set, run validation and check that the service exists")] = 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: + """Update Service + + + :param id: The id of the entity to update (required) + :type id: str + :param service: (required) + :type service: UpdateService + :param update_mask: + :type update_mask: str + :param dry_run: If set, run validation and check that the service exists + :type dry_run: bool + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_service2_serialize( + id=id, + service=service, + update_mask=update_mask, + dry_run=dry_run, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateServiceReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_service2_serialize( + self, + id, + service, + update_mask, + dry_run, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if update_mask is not None: + + _query_params.append(('update_mask', update_mask)) + + if dry_run is not None: + + _query_params.append(('dry_run', dry_run)) + + # process the header parameters + # process the form parameters + # process the body parameter + if service is not None: + _body_params = service + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/v1/services/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_service_scaling( + self, + id: Annotated[StrictStr, Field(description="The id of the service to scale")], + body: UpdateServiceScalingRequest, + _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, + ) -> object: + """Update Service Scaling + + Stores or updates the scaling configuration for a service to use manual scaling + + :param id: The id of the service to scale (required) + :type id: str + :param body: (required) + :type body: UpdateServiceScalingRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_service_scaling_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_service_scaling_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the service to scale")], + body: UpdateServiceScalingRequest, + _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[object]: + """Update Service Scaling + + Stores or updates the scaling configuration for a service to use manual scaling + + :param id: The id of the service to scale (required) + :type id: str + :param body: (required) + :type body: UpdateServiceScalingRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_service_scaling_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_service_scaling_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the service to scale")], + body: UpdateServiceScalingRequest, + _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: + """Update Service Scaling + + Stores or updates the scaling configuration for a service to use manual scaling + + :param id: The id of the service to scale (required) + :type id: str + :param body: (required) + :type body: UpdateServiceScalingRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_service_scaling_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_service_scaling_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/services/{id}/scale', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/sessions_api.py b/koyeb/api_async/api/sessions_api.py new file mode 100644 index 00000000..1df7fa1a --- /dev/null +++ b/koyeb/api_async/api/sessions_api.py @@ -0,0 +1,1116 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Any, Dict, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.models.login_request import LoginRequest + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class SessionsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def login( + self, + body: LoginRequest, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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, + ) -> LoginReply: + """Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: LoginRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._login_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def login_with_http_info( + self, + body: LoginRequest, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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[LoginReply]: + """Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: LoginRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._login_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def login_without_preload_content( + self, + body: LoginRequest, + seon_fp: Annotated[Optional[StrictStr], Field(description="Seon Fingerprint")] = 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: + """Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param body: (required) + :type body: LoginRequest + :param seon_fp: Seon Fingerprint + :type seon_fp: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._login_serialize( + body=body, + seon_fp=seon_fp, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _login_serialize( + self, + body, + seon_fp, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if seon_fp is not None: + _header_params['seon-fp'] = seon_fp + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/login', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def logout( + self, + _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, + ) -> object: + """Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._logout_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def logout_with_http_info( + self, + _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[object]: + """Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._logout_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def logout_without_preload_content( + self, + _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: + """Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._logout_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _logout_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/account/logout', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def new_session( + self, + _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, + ) -> LoginReply: + """New session + + Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use \"Switch organization\". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._new_session_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def new_session_with_http_info( + self, + _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[LoginReply]: + """New session + + Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use \"Switch organization\". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._new_session_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def new_session_without_preload_content( + self, + _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: + """New session + + Creates a new session without an organization for current user. NOTE: If you want a session linked to another organization, please use \"Switch organization\". DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._new_session_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _new_session_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/account/session', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def refresh_token( + self, + _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, + ) -> LoginReply: + """Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._refresh_token_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def refresh_token_with_http_info( + self, + _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[LoginReply]: + """Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._refresh_token_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def refresh_token_without_preload_content( + self, + _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: + """Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._refresh_token_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LoginReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _refresh_token_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/v1/account/refresh', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/snapshots_api.py b/koyeb/api_async/api/snapshots_api.py new file mode 100644 index 00000000..50be5200 --- /dev/null +++ b/koyeb/api_async/api/snapshots_api.py @@ -0,0 +1,1510 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr, field_validator +from typing import List, Optional +from typing_extensions import Annotated +from koyeb.api_async.models.create_snapshot_reply import CreateSnapshotReply +from koyeb.api_async.models.create_snapshot_request import CreateSnapshotRequest +from koyeb.api_async.models.delete_snapshot_reply import DeleteSnapshotReply +from koyeb.api_async.models.get_snapshot_reply import GetSnapshotReply +from koyeb.api_async.models.list_snapshots_reply import ListSnapshotsReply +from koyeb.api_async.models.update_snapshot_reply import UpdateSnapshotReply +from koyeb.api_async.models.update_snapshot_request import UpdateSnapshotRequest + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class SnapshotsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create_snapshot( + self, + body: CreateSnapshotRequest, + _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, + ) -> CreateSnapshotReply: + """Create a Snapshot + + + :param body: (required) + :type body: CreateSnapshotRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_snapshot_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_snapshot_with_http_info( + self, + body: CreateSnapshotRequest, + _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[CreateSnapshotReply]: + """Create a Snapshot + + + :param body: (required) + :type body: CreateSnapshotRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_snapshot_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_snapshot_without_preload_content( + self, + body: CreateSnapshotRequest, + _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 a Snapshot + + + :param body: (required) + :type body: CreateSnapshotRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_snapshot_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CreateSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_snapshot_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/snapshots', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_snapshot( + self, + 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, + ) -> DeleteSnapshotReply: + """Delete a Snapshot + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_snapshot_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_snapshot_with_http_info( + self, + 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[DeleteSnapshotReply]: + """Delete a Snapshot + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_snapshot_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_snapshot_without_preload_content( + self, + 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 a Snapshot + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_snapshot_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_snapshot_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/snapshots/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_snapshot( + self, + 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, + ) -> GetSnapshotReply: + """Get a Snapshot + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_snapshot_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_snapshot_with_http_info( + self, + 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[GetSnapshotReply]: + """Get a Snapshot + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_snapshot_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_snapshot_without_preload_content( + self, + 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 a Snapshot + + + :param id: (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_snapshot_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_snapshot_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/snapshots/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_snapshots( + self, + 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, + organization_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter by organization_id")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted")] = None, + region: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the region")] = 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, + ) -> ListSnapshotsReply: + """List all Snapshots + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param organization_id: (Optional) Filter by organization_id + :type organization_id: str + :param statuses: (Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted + :type statuses: List[str] + :param region: (Optional) A filter for the region + :type region: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_snapshots_serialize( + limit=limit, + offset=offset, + organization_id=organization_id, + statuses=statuses, + region=region, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListSnapshotsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_snapshots_with_http_info( + self, + 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, + organization_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter by organization_id")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted")] = None, + region: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the region")] = 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[ListSnapshotsReply]: + """List all Snapshots + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param organization_id: (Optional) Filter by organization_id + :type organization_id: str + :param statuses: (Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted + :type statuses: List[str] + :param region: (Optional) A filter for the region + :type region: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_snapshots_serialize( + limit=limit, + offset=offset, + organization_id=organization_id, + statuses=statuses, + region=region, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListSnapshotsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_snapshots_without_preload_content( + self, + 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, + organization_id: Annotated[Optional[StrictStr], Field(description="(Optional) Filter by organization_id")] = None, + statuses: Annotated[Optional[List[StrictStr]], Field(description="(Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted")] = None, + region: Annotated[Optional[StrictStr], Field(description="(Optional) A filter for the region")] = 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 all Snapshots + + + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param organization_id: (Optional) Filter by organization_id + :type organization_id: str + :param statuses: (Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted + :type statuses: List[str] + :param region: (Optional) A filter for the region + :type region: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_snapshots_serialize( + limit=limit, + offset=offset, + organization_id=organization_id, + statuses=statuses, + region=region, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ListSnapshotsReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_snapshots_serialize( + self, + limit, + offset, + organization_id, + statuses, + region, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'statuses': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if organization_id is not None: + + _query_params.append(('organization_id', organization_id)) + + if statuses is not None: + + _query_params.append(('statuses', statuses)) + + if region is not None: + + _query_params.append(('region', region)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/snapshots', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update_snapshot( + self, + id: Annotated[StrictStr, Field(description="The id of the snapshot")], + body: UpdateSnapshotRequest, + _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, + ) -> UpdateSnapshotReply: + """Update a Snapshot + + + :param id: The id of the snapshot (required) + :type id: str + :param body: (required) + :type body: UpdateSnapshotRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_snapshot_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_snapshot_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the snapshot")], + body: UpdateSnapshotRequest, + _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[UpdateSnapshotReply]: + """Update a Snapshot + + + :param id: The id of the snapshot (required) + :type id: str + :param body: (required) + :type body: UpdateSnapshotRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_snapshot_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_snapshot_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the snapshot")], + body: UpdateSnapshotRequest, + _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: + """Update a Snapshot + + + :param id: The id of the snapshot (required) + :type id: str + :param body: (required) + :type body: UpdateSnapshotRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_snapshot_serialize( + id=id, + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UpdateSnapshotReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_snapshot_serialize( + self, + id, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/snapshots/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/sso_api.py b/koyeb/api_async/api/sso_api.py new file mode 100644 index 00000000..1f865563 --- /dev/null +++ b/koyeb/api_async/api/sso_api.py @@ -0,0 +1,590 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from typing import Any, Dict +from koyeb.api_async.models.canny_auth_reply import CannyAuthReply +from koyeb.api_async.models.discourse_auth_reply import DiscourseAuthReply +from koyeb.api_async.models.discourse_auth_request import DiscourseAuthRequest + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class SsoApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def canny_auth( + self, + body: Dict[str, Any], + _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, + ) -> CannyAuthReply: + """canny_auth + + + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._canny_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CannyAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def canny_auth_with_http_info( + self, + body: Dict[str, Any], + _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[CannyAuthReply]: + """canny_auth + + + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._canny_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CannyAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def canny_auth_without_preload_content( + self, + body: Dict[str, Any], + _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: + """canny_auth + + + :param body: (required) + :type body: object + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._canny_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CannyAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _canny_auth_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/sso/canny', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def discourse_auth( + self, + body: DiscourseAuthRequest, + _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, + ) -> DiscourseAuthReply: + """discourse_auth + + + :param body: (required) + :type body: DiscourseAuthRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._discourse_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DiscourseAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def discourse_auth_with_http_info( + self, + body: DiscourseAuthRequest, + _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[DiscourseAuthReply]: + """discourse_auth + + + :param body: (required) + :type body: DiscourseAuthRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._discourse_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DiscourseAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def discourse_auth_without_preload_content( + self, + body: DiscourseAuthRequest, + _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: + """discourse_auth + + + :param body: (required) + :type body: DiscourseAuthRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._discourse_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DiscourseAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _discourse_auth_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/sso/discourse', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/subscriptions_api.py b/koyeb/api_async/api/subscriptions_api.py new file mode 100644 index 00000000..d8d0122a --- /dev/null +++ b/koyeb/api_async/api/subscriptions_api.py @@ -0,0 +1,313 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing_extensions import Annotated +from koyeb.api_async.models.get_subscription_reply import GetSubscriptionReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class SubscriptionsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def get_subscription( + self, + id: Annotated[StrictStr, Field(description="The id of the instance")], + _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, + ) -> GetSubscriptionReply: + """Get Subscription + + + :param id: The id of the instance (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_subscription_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSubscriptionReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_subscription_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the instance")], + _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[GetSubscriptionReply]: + """Get Subscription + + + :param id: The id of the instance (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_subscription_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSubscriptionReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_subscription_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the instance")], + _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 Subscription + + + :param id: The id of the instance (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_subscription_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetSubscriptionReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_subscription_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/subscriptions/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/summary_api.py b/koyeb/api_async/api/summary_api.py new file mode 100644 index 00000000..66e4c597 --- /dev/null +++ b/koyeb/api_async/api/summary_api.py @@ -0,0 +1,313 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing_extensions import Annotated +from koyeb.api_async.models.get_organization_summary_reply import GetOrganizationSummaryReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class SummaryApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def get_organization_summary( + self, + organization_id: Annotated[StrictStr, Field(description="Organization ID")], + _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, + ) -> GetOrganizationSummaryReply: + """Get organization usage summary + + + :param organization_id: Organization ID (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_summary_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationSummaryReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_organization_summary_with_http_info( + self, + organization_id: Annotated[StrictStr, Field(description="Organization ID")], + _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[GetOrganizationSummaryReply]: + """Get organization usage summary + + + :param organization_id: Organization ID (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_summary_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationSummaryReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_organization_summary_without_preload_content( + self, + organization_id: Annotated[StrictStr, Field(description="Organization ID")], + _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 organization usage summary + + + :param organization_id: Organization ID (required) + :type organization_id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_summary_serialize( + organization_id=organization_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationSummaryReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_organization_summary_serialize( + self, + organization_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if organization_id is not None: + _path_params['organization_id'] = organization_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/organizations/{organization_id}/summary', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/test_api.py b/koyeb/api_async/api/test_api.py new file mode 100644 index 00000000..1652b9c7 --- /dev/null +++ b/koyeb/api_async/api/test_api.py @@ -0,0 +1,574 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from typing import Any, Dict +from koyeb.api_async.models.ktest_test_auth_reply import KtestTestAuthReply +from koyeb.api_async.models.ktest_test_auth_request import KtestTestAuthRequest + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class TestApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def test_anon( + self, + _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, + ) -> object: + """Test anonymous call + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_anon_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def test_anon_with_http_info( + self, + _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[object]: + """Test anonymous call + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_anon_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def test_anon_without_preload_content( + self, + _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: + """Test anonymous call + + + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_anon_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "object", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _test_anon_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/test/anon', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def test_auth( + self, + body: KtestTestAuthRequest, + _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, + ) -> KtestTestAuthReply: + """Test authenticated call + + + :param body: (required) + :type body: KtestTestAuthRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KtestTestAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def test_auth_with_http_info( + self, + body: KtestTestAuthRequest, + _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[KtestTestAuthReply]: + """Test authenticated call + + + :param body: (required) + :type body: KtestTestAuthRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KtestTestAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def test_auth_without_preload_content( + self, + body: KtestTestAuthRequest, + _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: + """Test authenticated call + + + :param body: (required) + :type body: KtestTestAuthRequest + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._test_auth_serialize( + body=body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "KtestTestAuthReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _test_auth_serialize( + self, + body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if body is not None: + _body_params = body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/v1/test/auth', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/usages_api.py b/koyeb/api_async/api/usages_api.py new file mode 100644 index 00000000..6d9dc023 --- /dev/null +++ b/koyeb/api_async/api/usages_api.py @@ -0,0 +1,696 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from datetime import datetime +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from koyeb.api_async.models.get_organization_usage_details_reply import GetOrganizationUsageDetailsReply +from koyeb.api_async.models.get_organization_usage_reply import GetOrganizationUsageReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class UsagesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def get_organization_usage( + self, + starting_time: Annotated[Optional[datetime], Field(description="The starting time of the period to get data from")] = None, + ending_time: Annotated[Optional[datetime], Field(description="The ending time of the period to get data from")] = 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, + ) -> GetOrganizationUsageReply: + """Get organization usage + + + :param starting_time: The starting time of the period to get data from + :type starting_time: datetime + :param ending_time: The ending time of the period to get data from + :type ending_time: datetime + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_usage_serialize( + starting_time=starting_time, + ending_time=ending_time, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationUsageReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_organization_usage_with_http_info( + self, + starting_time: Annotated[Optional[datetime], Field(description="The starting time of the period to get data from")] = None, + ending_time: Annotated[Optional[datetime], Field(description="The ending time of the period to get data from")] = 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[GetOrganizationUsageReply]: + """Get organization usage + + + :param starting_time: The starting time of the period to get data from + :type starting_time: datetime + :param ending_time: The ending time of the period to get data from + :type ending_time: datetime + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_usage_serialize( + starting_time=starting_time, + ending_time=ending_time, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationUsageReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_organization_usage_without_preload_content( + self, + starting_time: Annotated[Optional[datetime], Field(description="The starting time of the period to get data from")] = None, + ending_time: Annotated[Optional[datetime], Field(description="The ending time of the period to get data from")] = 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: + """Get organization usage + + + :param starting_time: The starting time of the period to get data from + :type starting_time: datetime + :param ending_time: The ending time of the period to get data from + :type ending_time: datetime + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_usage_serialize( + starting_time=starting_time, + ending_time=ending_time, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationUsageReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_organization_usage_serialize( + self, + starting_time, + ending_time, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if starting_time is not None: + if isinstance(starting_time, datetime): + _query_params.append( + ( + 'starting_time', + starting_time.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('starting_time', starting_time)) + + if ending_time is not None: + if isinstance(ending_time, datetime): + _query_params.append( + ( + 'ending_time', + ending_time.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('ending_time', ending_time)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/usages', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_organization_usage_details( + self, + starting_time: Annotated[Optional[datetime], Field(description="The starting time of the period to get data from")] = None, + ending_time: Annotated[Optional[datetime], Field(description="The ending time of the period to get data from")] = 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, + accept: Annotated[Optional[StrictStr], Field(description="If defined with the value 'text/csv', a csv file is returned")] = 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, + ) -> GetOrganizationUsageDetailsReply: + """Get organization usage details + + + :param starting_time: The starting time of the period to get data from + :type starting_time: datetime + :param ending_time: The ending time of the period to get data from + :type ending_time: datetime + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param accept: If defined with the value 'text/csv', a csv file is returned + :type accept: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_usage_details_serialize( + starting_time=starting_time, + ending_time=ending_time, + limit=limit, + offset=offset, + order=order, + accept=accept, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationUsageDetailsReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_organization_usage_details_with_http_info( + self, + starting_time: Annotated[Optional[datetime], Field(description="The starting time of the period to get data from")] = None, + ending_time: Annotated[Optional[datetime], Field(description="The ending time of the period to get data from")] = 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, + accept: Annotated[Optional[StrictStr], Field(description="If defined with the value 'text/csv', a csv file is returned")] = 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[GetOrganizationUsageDetailsReply]: + """Get organization usage details + + + :param starting_time: The starting time of the period to get data from + :type starting_time: datetime + :param ending_time: The ending time of the period to get data from + :type ending_time: datetime + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param accept: If defined with the value 'text/csv', a csv file is returned + :type accept: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_usage_details_serialize( + starting_time=starting_time, + ending_time=ending_time, + limit=limit, + offset=offset, + order=order, + accept=accept, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationUsageDetailsReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_organization_usage_details_without_preload_content( + self, + starting_time: Annotated[Optional[datetime], Field(description="The starting time of the period to get data from")] = None, + ending_time: Annotated[Optional[datetime], Field(description="The ending time of the period to get data from")] = 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, + accept: Annotated[Optional[StrictStr], Field(description="If defined with the value 'text/csv', a csv file is returned")] = 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: + """Get organization usage details + + + :param starting_time: The starting time of the period to get data from + :type starting_time: datetime + :param ending_time: The ending time of the period to get data from + :type ending_time: datetime + :param limit: (Optional) The number of items to return + :type limit: str + :param offset: (Optional) The offset in the list of item to return + :type offset: str + :param order: (Optional) Sorts the list in the ascending or the descending order + :type order: str + :param accept: If defined with the value 'text/csv', a csv file is returned + :type accept: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_organization_usage_details_serialize( + starting_time=starting_time, + ending_time=ending_time, + limit=limit, + offset=offset, + order=order, + accept=accept, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetOrganizationUsageDetailsReply", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_organization_usage_details_serialize( + self, + starting_time, + ending_time, + limit, + offset, + order, + accept, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if starting_time is not None: + if isinstance(starting_time, datetime): + _query_params.append( + ( + 'starting_time', + starting_time.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('starting_time', starting_time)) + + if ending_time is not None: + if isinstance(ending_time, datetime): + _query_params.append( + ( + 'ending_time', + ending_time.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('ending_time', ending_time)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if order is not None: + + _query_params.append(('order', order)) + + # process the header parameters + if accept is not None: + _header_params['Accept'] = accept + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/v1/usages/details', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api/users_api.py b/koyeb/api_async/api/users_api.py new file mode 100644 index 00000000..8d80c5d2 --- /dev/null +++ b/koyeb/api_async/api/users_api.py @@ -0,0 +1,589 @@ +""" + 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. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing_extensions import Annotated +from koyeb.api_async.models.delete_user_reply import DeleteUserReply + +from koyeb.api_async.api_client import ApiClient, RequestSerialized +from koyeb.api_async.api_response import ApiResponse +from koyeb.api_async.rest import RESTResponseType + + +class UsersApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def delete_user( + self, + id: Annotated[StrictStr, Field(description="The id of the user")], + _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, + ) -> DeleteUserReply: + """Delete user + + + :param id: The id of the user (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteUserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_user_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the user")], + _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[DeleteUserReply]: + """Delete user + + + :param id: The id of the user (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteUserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_user_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the user")], + _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 user + + + :param id: The id of the user (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteUserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_user_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v1/users/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete_user_v2( + self, + id: Annotated[StrictStr, Field(description="The id of the user")], + _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, + ) -> DeleteUserReply: + """V2 Delete user + + + :param id: The id of the user (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_v2_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteUserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_user_v2_with_http_info( + self, + id: Annotated[StrictStr, Field(description="The id of the user")], + _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[DeleteUserReply]: + """V2 Delete user + + + :param id: The id of the user (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_v2_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteUserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_user_v2_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="The id of the user")], + _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: + """V2 Delete user + + + :param id: The id of the user (required) + :type id: str + :param _request_timeout: 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. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_v2_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "DeleteUserReply", + '400': "ErrorWithFields", + '401': "Error", + '403': "Error", + '404': "Error", + '500': "Error", + '503': "Error", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_user_v2_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + '*/*' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'Bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/v2/users/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/koyeb/api_async/api_client.py b/koyeb/api_async/api_client.py new file mode 100644 index 00000000..74342e3a --- /dev/null +++ b/koyeb/api_async/api_client.py @@ -0,0 +1,807 @@ +""" + 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. +""" # noqa: E501 + + + +import datetime +from dateutil.parser import parse +from enum import Enum +import decimal +import json +import mimetypes +import os +import re +import tempfile +import uuid + +from urllib.parse import quote +from typing import Tuple, Optional, List, Dict, Union +from pydantic import SecretStr + +from koyeb.api_async.configuration import Configuration +from koyeb.api_async.api_response import ApiResponse, T as ApiResponseT +import koyeb.api_async.models +from koyeb.api_async import rest +from koyeb.api_async.exceptions import ( + ApiValueError, + ApiException, + BadRequestException, + UnauthorizedException, + ForbiddenException, + NotFoundException, + ServiceException +) + +RequestSerialized = Tuple[str, str, Dict[str, str], Optional[str], List[str]] + +class ApiClient: + """Generic API client for OpenAPI client library builds. + + OpenAPI generic API client. This client handles the client- + server communication, and is invariant across implementations. Specifics of + the methods and models for each application are generated from the OpenAPI + templates. + + :param configuration: .Configuration object for this client + :param header_name: a header to pass when making calls to the API. + :param header_value: a header value to pass when making calls to + the API. + :param cookie: a cookie to include in the header when making calls + to the API + """ + + PRIMITIVE_TYPES = (float, bool, bytes, str, int) + NATIVE_TYPES_MAPPING = { + 'int': int, + 'long': int, # TODO remove as only py3 is supported? + 'float': float, + 'str': str, + 'bool': bool, + 'date': datetime.date, + 'datetime': datetime.datetime, + 'decimal': decimal.Decimal, + 'UUID': uuid.UUID, + 'object': object, + } + _pool = None + + def __init__( + self, + configuration=None, + header_name=None, + header_value=None, + cookie=None + ) -> None: + # use default configuration if none is provided + if configuration is None: + configuration = Configuration.get_default() + self.configuration = configuration + + self.rest_client = rest.RESTClientObject(configuration) + self.default_headers = {} + if header_name is not None: + self.default_headers[header_name] = header_value + self.cookie = cookie + # Set default User-Agent. + self.user_agent = 'OpenAPI-Generator/1.4.8/python' + self.client_side_validation = configuration.client_side_validation + + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc_value, traceback): + await self.close() + + async def close(self): + await self.rest_client.close() + + @property + def user_agent(self): + """User agent for this API client""" + return self.default_headers['User-Agent'] + + @user_agent.setter + def user_agent(self, value): + self.default_headers['User-Agent'] = value + + def set_default_header(self, header_name, header_value): + self.default_headers[header_name] = header_value + + + _default = None + + @classmethod + def get_default(cls): + """Return new instance of ApiClient. + + This method returns newly created, based on default constructor, + object of ApiClient class or returns a copy of default + ApiClient. + + :return: The ApiClient object. + """ + if cls._default is None: + cls._default = ApiClient() + return cls._default + + @classmethod + def set_default(cls, default): + """Set default instance of ApiClient. + + It stores default ApiClient. + + :param default: object of ApiClient. + """ + cls._default = default + + def param_serialize( + self, + method, + resource_path, + path_params=None, + query_params=None, + header_params=None, + body=None, + post_params=None, + files=None, auth_settings=None, + collection_formats=None, + _host=None, + _request_auth=None + ) -> RequestSerialized: + + """Builds the HTTP request params needed by the request. + :param method: Method to call. + :param resource_path: Path to method endpoint. + :param path_params: Path parameters in the url. + :param query_params: Query parameters in the url. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param auth_settings list: Auth Settings names for the request. + :param files dict: key -> filename, value -> filepath, + for `multipart/form-data`. + :param collection_formats: dict of collection formats for path, query, + header, and post parameters. + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + :return: tuple of form (path, http_method, query_params, header_params, + body, post_params, files) + """ + + config = self.configuration + + # header parameters + header_params = header_params or {} + header_params.update(self.default_headers) + if self.cookie: + header_params['Cookie'] = self.cookie + if header_params: + header_params = self.sanitize_for_serialization(header_params) + header_params = dict( + self.parameters_to_tuples(header_params,collection_formats) + ) + + # path parameters + if path_params: + path_params = self.sanitize_for_serialization(path_params) + path_params = self.parameters_to_tuples( + path_params, + collection_formats + ) + for k, v in path_params: + # specified safe chars, encode everything + resource_path = resource_path.replace( + '{%s}' % k, + quote(str(v), safe=config.safe_chars_for_path_param) + ) + + # post parameters + if post_params or files: + post_params = post_params if post_params else [] + post_params = self.sanitize_for_serialization(post_params) + post_params = self.parameters_to_tuples( + post_params, + collection_formats + ) + if files: + post_params.extend(self.files_parameters(files)) + + # auth setting + self.update_params_for_auth( + header_params, + query_params, + auth_settings, + resource_path, + method, + body, + request_auth=_request_auth + ) + + # body + if body: + body = self.sanitize_for_serialization(body) + + # request url + if _host is None or self.configuration.ignore_operation_servers: + url = self.configuration.host + resource_path + else: + # use server/host defined in path or operation instead + url = _host + resource_path + + # query parameters + if query_params: + query_params = self.sanitize_for_serialization(query_params) + url_query = self.parameters_to_url_query( + query_params, + collection_formats + ) + url += "?" + url_query + + return method, url, header_params, body, post_params + + + async def call_api( + self, + method, + url, + header_params=None, + body=None, + post_params=None, + _request_timeout=None + ) -> rest.RESTResponse: + """Makes the HTTP request (synchronous) + :param method: Method to call. + :param url: Path to method endpoint. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param _request_timeout: timeout setting for this request. + :return: RESTResponse + """ + + try: + # perform request and return response + response_data = await self.rest_client.request( + method, url, + headers=header_params, + body=body, post_params=post_params, + _request_timeout=_request_timeout + ) + + except ApiException as e: + raise e + + return response_data + + def response_deserialize( + self, + response_data: rest.RESTResponse, + response_types_map: Optional[Dict[str, ApiResponseT]]=None + ) -> ApiResponse[ApiResponseT]: + """Deserializes response into an object. + :param response_data: RESTResponse object to be deserialized. + :param response_types_map: dict of response types. + :return: ApiResponse + """ + + msg = "RESTResponse.read() must be called before passing it to response_deserialize()" + assert response_data.data is not None, msg + + response_type = response_types_map.get(str(response_data.status), None) + if not response_type and isinstance(response_data.status, int) and 100 <= response_data.status <= 599: + # if not found, look for '1XX', '2XX', etc. + response_type = response_types_map.get(str(response_data.status)[0] + "XX", None) + + # deserialize response data + response_text = None + return_data = None + try: + if response_type in ("bytearray", "bytes"): + return_data = response_data.data + elif response_type == "file": + return_data = self.__deserialize_file(response_data) + elif response_type is not None: + match = None + content_type = response_data.headers.get('content-type') + if content_type is not None: + match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type) + encoding = match.group(1) if match else "utf-8" + response_text = response_data.data.decode(encoding) + return_data = self.deserialize(response_text, response_type, content_type) + finally: + if not 200 <= response_data.status <= 299: + raise ApiException.from_response( + http_resp=response_data, + body=response_text, + data=return_data, + ) + + return ApiResponse( + status_code = response_data.status, + data = return_data, + headers = response_data.headers, + raw_data = response_data.data + ) + + def sanitize_for_serialization(self, obj): + """Builds a JSON POST object. + + If obj is None, return None. + If obj is SecretStr, return obj.get_secret_value() + If obj is str, int, long, float, bool, return directly. + If obj is datetime.datetime, datetime.date + convert to string in iso8601 format. + If obj is decimal.Decimal return string representation. + If obj is list, sanitize each element in the list. + If obj is dict, return the dict. + If obj is OpenAPI model, return the properties dict. + + :param obj: The data to serialize. + :return: The serialized form of data. + """ + if obj is None: + return None + elif isinstance(obj, Enum): + return obj.value + elif isinstance(obj, SecretStr): + return obj.get_secret_value() + elif isinstance(obj, self.PRIMITIVE_TYPES): + return obj + elif isinstance(obj, uuid.UUID): + return str(obj) + elif isinstance(obj, list): + return [ + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ] + elif isinstance(obj, tuple): + return tuple( + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ) + elif isinstance(obj, (datetime.datetime, datetime.date)): + return obj.isoformat() + elif isinstance(obj, decimal.Decimal): + return str(obj) + elif isinstance(obj, dict): + return { + key: self.sanitize_for_serialization(val) + for key, val in obj.items() + } + + # Convert model obj to dict except + # attributes `openapi_types`, `attribute_map` + # and attributes which value is not None. + # Convert attribute name to json key in + # model definition for request. + if hasattr(obj, 'to_dict') and callable(getattr(obj, 'to_dict')): + obj_dict = obj.to_dict() + else: + obj_dict = obj.__dict__ + + return self.sanitize_for_serialization(obj_dict) + + + def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]): + """Deserializes response into an object. + + :param response: RESTResponse object to be deserialized. + :param response_type: class literal for + deserialized object, or string of class name. + :param content_type: content type of response. + + :return: deserialized object. + """ + + # fetch data from response object + if content_type is None: + try: + data = json.loads(response_text) + except ValueError: + data = response_text + elif re.match(r'^application/(json|[\w!#$&.+\-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE): + if response_text == "": + data = "" + else: + data = json.loads(response_text) + elif re.match(r'^text\/[a-z.+-]+\s*(;|$)', content_type, re.IGNORECASE): + data = response_text + else: + raise ApiException( + status=0, + reason="Unsupported content type: {0}".format(content_type) + ) + + return self.__deserialize(data, response_type) + + def __deserialize(self, data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if isinstance(klass, str): + if klass.startswith('List['): + m = re.match(r'List\[(.*)]', klass) + assert m is not None, "Malformed List type definition" + sub_kls = m.group(1) + return [self.__deserialize(sub_data, sub_kls) + for sub_data in data] + + if klass.startswith('Dict['): + m = re.match(r'Dict\[([^,]*), (.*)]', klass) + assert m is not None, "Malformed Dict type definition" + sub_kls = m.group(2) + return {k: self.__deserialize(v, sub_kls) + for k, v in data.items()} + + # convert str to class + if klass in self.NATIVE_TYPES_MAPPING: + klass = self.NATIVE_TYPES_MAPPING[klass] + else: + klass = getattr(koyeb.api_async.models, klass) + + if klass in self.PRIMITIVE_TYPES: + return self.__deserialize_primitive(data, klass) + elif klass is object: + return self.__deserialize_object(data) + elif klass is datetime.date: + return self.__deserialize_date(data) + elif klass is datetime.datetime: + return self.__deserialize_datetime(data) + elif klass is decimal.Decimal: + return decimal.Decimal(data) + elif klass is uuid.UUID: + return uuid.UUID(data) + elif issubclass(klass, Enum): + return self.__deserialize_enum(data, klass) + else: + return self.__deserialize_model(data, klass) + + def parameters_to_tuples(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: Parameters as list of tuples, collections formatted + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, value) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(str(value) for value in v))) + else: + new_params.append((k, v)) + return new_params + + def parameters_to_url_query(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: URL query string (e.g. a=Hello%20World&b=123) + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if isinstance(v, bool): + v = str(v).lower() + if isinstance(v, (int, float)): + v = str(v) + if isinstance(v, dict): + v = json.dumps(v) + + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, quote(str(value))) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(quote(str(value)) for value in v)) + ) + else: + new_params.append((k, quote(str(v)))) + + return "&".join(["=".join(map(str, item)) for item in new_params]) + + def files_parameters( + self, + files: Dict[str, Union[str, bytes, List[str], List[bytes], Tuple[str, bytes]]], + ): + """Builds form parameters. + + :param files: File parameters. + :return: Form parameters with files. + """ + params = [] + for k, v in files.items(): + if isinstance(v, str): + with open(v, 'rb') as f: + filename = os.path.basename(f.name) + filedata = f.read() + elif isinstance(v, bytes): + filename = k + filedata = v + elif isinstance(v, tuple): + filename, filedata = v + elif isinstance(v, list): + for file_param in v: + params.extend(self.files_parameters({k: file_param})) + continue + else: + raise ValueError("Unsupported file value") + mimetype = ( + mimetypes.guess_type(filename)[0] + or 'application/octet-stream' + ) + params.append( + tuple([k, tuple([filename, filedata, mimetype])]) + ) + return params + + def select_header_accept(self, accepts: List[str]) -> Optional[str]: + """Returns `Accept` based on an array of accepts provided. + + :param accepts: List of headers. + :return: Accept (e.g. application/json). + """ + if not accepts: + return None + + for accept in accepts: + if re.search('json', accept, re.IGNORECASE): + return accept + + return accepts[0] + + def select_header_content_type(self, content_types): + """Returns `Content-Type` based on an array of content_types provided. + + :param content_types: List of content-types. + :return: Content-Type (e.g. application/json). + """ + if not content_types: + return None + + for content_type in content_types: + if re.search('json', content_type, re.IGNORECASE): + return content_type + + return content_types[0] + + def update_params_for_auth( + self, + headers, + queries, + auth_settings, + resource_path, + method, + body, + request_auth=None + ) -> None: + """Updates header and query params based on authentication setting. + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :param auth_settings: Authentication setting identifiers list. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param request_auth: if set, the provided settings will + override the token in the configuration. + """ + if not auth_settings: + return + + if request_auth: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + request_auth + ) + else: + for auth in auth_settings: + auth_setting = self.configuration.auth_settings().get(auth) + if auth_setting: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + auth_setting + ) + + def _apply_auth_params( + self, + headers, + queries, + resource_path, + method, + body, + auth_setting + ) -> None: + """Updates the request parameters based on a single auth_setting + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param auth_setting: auth settings for the endpoint + """ + if auth_setting['in'] == 'cookie': + headers['Cookie'] = auth_setting['value'] + elif auth_setting['in'] == 'header': + if auth_setting['type'] != 'http-signature': + headers[auth_setting['key']] = auth_setting['value'] + elif auth_setting['in'] == 'query': + queries.append((auth_setting['key'], auth_setting['value'])) + else: + raise ApiValueError( + 'Authentication token must be in `query` or `header`' + ) + + def __deserialize_file(self, response): + """Deserializes body to file + + Saves response body into a file in a temporary folder, + using the filename from the `Content-Disposition` header if provided. + + handle file downloading + save response body into a tmp file and return the instance + + :param response: RESTResponse. + :return: file path. + """ + fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path) + os.close(fd) + os.remove(path) + + content_disposition = response.headers.get("Content-Disposition") + if content_disposition: + m = re.search( + r'filename=[\'"]?([^\'"\s]+)[\'"]?', + content_disposition + ) + assert m is not None, "Unexpected 'content-disposition' header value" + filename = os.path.basename(m.group(1)) # Strip any directory traversal + if filename in ("", ".", ".."): # fall back to tmp filename + filename = os.path.basename(path) + path = os.path.join(os.path.dirname(path), filename) + + with open(path, "wb") as f: + f.write(response.data) + + return path + + def __deserialize_primitive(self, data, klass): + """Deserializes string to primitive type. + + :param data: str. + :param klass: class literal. + + :return: int, long, float, str, bool. + """ + try: + return klass(data) + except UnicodeEncodeError: + return str(data) + except TypeError: + return data + + def __deserialize_object(self, value): + """Return an original value. + + :return: object. + """ + return value + + def __deserialize_date(self, string): + """Deserializes string to date. + + :param string: str. + :return: date. + """ + try: + return parse(string).date() + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason="Failed to parse `{0}` as date object".format(string) + ) + + def __deserialize_datetime(self, string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :return: datetime. + """ + try: + return parse(string) + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as datetime object" + .format(string) + ) + ) + + def __deserialize_enum(self, data, klass): + """Deserializes primitive type to enum. + + :param data: primitive type. + :param klass: class literal. + :return: enum value. + """ + try: + return klass(data) + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as `{1}`" + .format(data, klass) + ) + ) + + def __deserialize_model(self, data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :param klass: class literal. + :return: model object. + """ + + return klass.from_dict(data) diff --git a/koyeb/api_async/api_response.py b/koyeb/api_async/api_response.py new file mode 100644 index 00000000..9bc7c11f --- /dev/null +++ b/koyeb/api_async/api_response.py @@ -0,0 +1,21 @@ +"""API response object.""" + +from __future__ import annotations +from typing import Optional, Generic, Mapping, TypeVar +from pydantic import Field, StrictInt, StrictBytes, BaseModel + +T = TypeVar("T") + +class ApiResponse(BaseModel, Generic[T]): + """ + API response object + """ + + status_code: StrictInt = Field(description="HTTP status code") + headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") + data: T = Field(description="Deserialized data given the data type") + raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") + + model_config = { + "arbitrary_types_allowed": True + } diff --git a/koyeb/api_async/configuration.py b/koyeb/api_async/configuration.py new file mode 100644 index 00000000..e329da8d --- /dev/null +++ b/koyeb/api_async/configuration.py @@ -0,0 +1,624 @@ +""" + 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. +""" # noqa: E501 + + +import base64 +import copy +import http.client as httplib +import logging +from logging import FileHandler +import sys +from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict, Union +from typing_extensions import NotRequired, Self + + + +JSON_SCHEMA_VALIDATION_KEYWORDS = { + 'multipleOf', 'maximum', 'exclusiveMaximum', + 'minimum', 'exclusiveMinimum', 'maxLength', + 'minLength', 'pattern', 'maxItems', 'minItems' +} + +ServerVariablesT = Dict[str, str] + +GenericAuthSetting = TypedDict( + "GenericAuthSetting", + { + "type": str, + "in": str, + "key": str, + "value": str, + }, +) + + +OAuth2AuthSetting = TypedDict( + "OAuth2AuthSetting", + { + "type": Literal["oauth2"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +APIKeyAuthSetting = TypedDict( + "APIKeyAuthSetting", + { + "type": Literal["api_key"], + "in": str, + "key": str, + "value": Optional[str], + }, +) + + +BasicAuthSetting = TypedDict( + "BasicAuthSetting", + { + "type": Literal["basic"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": Optional[str], + }, +) + + +BearerFormatAuthSetting = TypedDict( + "BearerFormatAuthSetting", + { + "type": Literal["bearer"], + "in": Literal["header"], + "format": Literal["JWT"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +BearerAuthSetting = TypedDict( + "BearerAuthSetting", + { + "type": Literal["bearer"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": str, + }, +) + + +HTTPSignatureAuthSetting = TypedDict( + "HTTPSignatureAuthSetting", + { + "type": Literal["http-signature"], + "in": Literal["header"], + "key": Literal["Authorization"], + "value": None, + }, +) + + +AuthSettings = TypedDict( + "AuthSettings", + { + "Bearer": APIKeyAuthSetting, + }, + total=False, +) + + +class HostSettingVariable(TypedDict): + description: str + default_value: str + enum_values: List[str] + + +class HostSetting(TypedDict): + url: str + description: str + variables: NotRequired[Dict[str, HostSettingVariable]] + + +class Configuration: + """This class contains various settings of the API client. + + :param host: Base url. + :param ignore_operation_servers + Boolean to ignore operation servers for the API client. + Config will use `host` as the base url regardless of the operation servers. + :param api_key: Dict to store API key(s). + Each entry in the dict specifies an API key. + The dict key is the name of the security scheme in the OAS specification. + The dict value is the API key secret. + :param api_key_prefix: Dict to store API prefix (e.g. Bearer). + The dict key is the name of the security scheme in the OAS specification. + The dict value is an API key prefix when generating the auth data. + :param username: Username for HTTP basic authentication. + :param password: Password for HTTP basic authentication. + :param access_token: Access token. + :param server_index: Index to servers configuration. + :param server_variables: Mapping with string values to replace variables in + templated server configuration. The validation of enums is performed for + variables with defined enum values before. + :param server_operation_index: Mapping from operation ID to an index to server + configuration. + :param server_operation_variables: Mapping from operation ID to a mapping with + string values to replace variables in templated server configuration. + The validation of enums is performed for variables with defined enum + values before. + :param verify_ssl: bool - Set this to false to skip verifying SSL certificate + when calling API from https server. + :param ssl_ca_cert: str - the path to a file of concatenated CA certificates + in PEM format. + :param retries: int - Retry configuration. + :param ca_cert_data: verify the peer using concatenated CA certificate data + in PEM (str) or DER (bytes) format. + :param cert_file: the path to a client certificate file, for mTLS. + :param key_file: the path to a client key file, for mTLS. + :param assert_hostname: Set this to True/False to enable/disable SSL hostname verification. + :param tls_server_name: SSL/TLS Server Name Indication (SNI). Set this to the SNI value expected by the server. + :param connection_pool_maxsize: Connection pool max size. None in the constructor is coerced to 100 for async and cpu_count * 5 for sync. + :param proxy: Proxy URL. + :param proxy_headers: Proxy headers. + :param safe_chars_for_path_param: Safe characters for path parameter encoding. + :param client_side_validation: Enable client-side validation. Default True. + :param socket_options: Options to pass down to the underlying urllib3 socket. + :param datetime_format: Datetime format string for serialization. + :param date_format: Date format string for serialization. + + :Example: + + API Key Authentication Example. + Given the following security scheme in the OpenAPI specification: + components: + securitySchemes: + cookieAuth: # name for the security scheme + type: apiKey + in: cookie + name: JSESSIONID # cookie name + + You can programmatically set the cookie: + +conf = koyeb.api_async.Configuration( + api_key={'cookieAuth': 'abc123'} + api_key_prefix={'cookieAuth': 'JSESSIONID'} +) + + The following cookie will be added to the HTTP request: + Cookie: JSESSIONID abc123 + """ + + _default: ClassVar[Optional[Self]] = None + + def __init__( + self, + host: Optional[str]=None, + api_key: Optional[Dict[str, str]]=None, + api_key_prefix: Optional[Dict[str, str]]=None, + username: Optional[str]=None, + password: Optional[str]=None, + access_token: Optional[str]=None, + server_index: Optional[int]=None, + server_variables: Optional[ServerVariablesT]=None, + server_operation_index: Optional[Dict[int, int]]=None, + server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None, + ignore_operation_servers: bool=False, + ssl_ca_cert: Optional[str]=None, + retries: Optional[int] = None, + ca_cert_data: Optional[Union[str, bytes]] = None, + cert_file: Optional[str]=None, + key_file: Optional[str]=None, + verify_ssl: bool=True, + assert_hostname: Optional[bool]=None, + tls_server_name: Optional[str]=None, + connection_pool_maxsize: Optional[int]=None, + proxy: Optional[str]=None, + proxy_headers: Optional[Any]=None, + safe_chars_for_path_param: str='', + client_side_validation: bool=True, + socket_options: Optional[Any]=None, + datetime_format: str="%Y-%m-%dT%H:%M:%S.%f%z", + date_format: str="%Y-%m-%d", + *, + debug: Optional[bool] = None, + ) -> None: + """Constructor + """ + self._base_path = "https://app.koyeb.com" if host is None else host + """Default Base url + """ + self.server_index = 0 if server_index is None and host is None else server_index + self.server_operation_index = server_operation_index or {} + """Default server index + """ + self.server_variables = server_variables or {} + self.server_operation_variables = server_operation_variables or {} + """Default server variables + """ + self.ignore_operation_servers = ignore_operation_servers + """Ignore operation servers + """ + self.temp_folder_path = None + """Temp file folder for downloading files + """ + # Authentication Settings + self.api_key = {} + if api_key: + self.api_key = api_key + """dict to store API key(s) + """ + self.api_key_prefix = {} + if api_key_prefix: + self.api_key_prefix = api_key_prefix + """dict to store API prefix (e.g. Bearer) + """ + self.refresh_api_key_hook = None + """function hook to refresh API key if expired + """ + self.username = username + """Username for HTTP basic authentication + """ + self.password = password + """Password for HTTP basic authentication + """ + self.access_token = access_token + """Access token + """ + self.logger = {} + """Logging Settings + """ + self.logger["package_logger"] = logging.getLogger("koyeb.api_async") + self.logger_format = '%(asctime)s %(levelname)s %(message)s' + """Log format + """ + self.logger_stream_handler = None + """Log stream handler + """ + self.logger_file_handler: Optional[FileHandler] = None + """Log file handler + """ + self.logger_file = None + """Debug file location + """ + if debug is not None: + self.debug = debug + else: + self.__debug = False + """Debug switch + """ + + self.verify_ssl = verify_ssl + """SSL/TLS verification + Set this to false to skip verifying SSL certificate when calling API + from https server. + """ + self.ssl_ca_cert = ssl_ca_cert + """Set this to customize the certificate file to verify the peer. + """ + self.ca_cert_data = ca_cert_data + """Set this to verify the peer using PEM (str) or DER (bytes) + certificate data. + """ + self.cert_file = cert_file + """client certificate file + """ + self.key_file = key_file + """client key file + """ + self.assert_hostname = assert_hostname + """Set this to True/False to enable/disable SSL hostname verification. + """ + self.tls_server_name = tls_server_name + """SSL/TLS Server Name Indication (SNI) + Set this to the SNI value expected by the server. + """ + + self.connection_pool_maxsize = connection_pool_maxsize if connection_pool_maxsize is not None else 100 + """This value is passed to the aiohttp to limit simultaneous connections. + None in the constructor is coerced to default 100. + """ + + self.proxy = proxy + """Proxy URL + """ + self.proxy_headers = proxy_headers + """Proxy headers + """ + self.safe_chars_for_path_param = safe_chars_for_path_param + """Safe chars for path_param + """ + self.retries = retries + """Retry configuration + """ + # Enable client side validation + self.client_side_validation = client_side_validation + + self.socket_options = socket_options + """Options to pass down to the underlying urllib3 socket + """ + + self.datetime_format = datetime_format + """datetime format + """ + + self.date_format = date_format + """date format + """ + + def __deepcopy__(self, memo: Dict[int, Any]) -> Self: + cls = self.__class__ + result = cls.__new__(cls) + memo[id(self)] = result + for k, v in self.__dict__.items(): + if k not in ('logger', 'logger_file_handler'): + setattr(result, k, copy.deepcopy(v, memo)) + # shallow copy of loggers + result.logger = copy.copy(self.logger) + # use setter to re-create the file handler (excluded from __dict__ copy) + result.logger_file = self.logger_file + + return result + + def __setattr__(self, name: str, value: Any) -> None: + object.__setattr__(self, name, value) + + @classmethod + def set_default(cls, default: Optional[Self]) -> None: + """Set default instance of configuration. + + It stores default configuration, which can be + returned by get_default_copy method. + + :param default: object of Configuration + """ + cls._default = default + + @classmethod + def get_default_copy(cls) -> Self: + """Deprecated. Please use `get_default` instead. + + Deprecated. Please use `get_default` instead. + + :return: The configuration object. + """ + return cls.get_default() + + @classmethod + def get_default(cls) -> Self: + """Return the default configuration. + + This method returns newly created, based on default constructor, + object of Configuration class or returns a copy of default + configuration. + + :return: The configuration object. + """ + if cls._default is None: + cls._default = cls() + return cls._default + + @property + def logger_file(self) -> Optional[str]: + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + return self.__logger_file + + @logger_file.setter + def logger_file(self, value: Optional[str]) -> None: + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + self.__logger_file = value + if self.__logger_file: + # If set logging file, + # then add file handler and remove stream handler. + self.logger_file_handler = logging.FileHandler(self.__logger_file) + self.logger_file_handler.setFormatter(self.logger_formatter) + for _, logger in self.logger.items(): + logger.addHandler(self.logger_file_handler) + + @property + def debug(self) -> bool: + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value: bool) -> None: + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + self.__debug = value + if self.__debug: + # if debug status is True, turn on debug logging + for _, logger in self.logger.items(): + logger.setLevel(logging.DEBUG) + # turn on httplib debug + httplib.HTTPConnection.debuglevel = 1 + else: + # if debug status is False, turn off debug logging, + # setting log level to default `logging.WARNING` + for _, logger in self.logger.items(): + logger.setLevel(logging.WARNING) + # turn off httplib debug + httplib.HTTPConnection.debuglevel = 0 + + @property + def logger_format(self) -> str: + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + return self.__logger_format + + @logger_format.setter + def logger_format(self, value: str) -> None: + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + self.__logger_format = value + self.logger_formatter = logging.Formatter(self.__logger_format) + + def get_api_key_with_prefix(self, identifier: str, alias: Optional[str]=None) -> Optional[str]: + """Gets API key (with prefix if set). + + :param identifier: The identifier of apiKey. + :param alias: The alternative identifier of apiKey. + :return: The token for api key authentication. + """ + if self.refresh_api_key_hook is not None: + self.refresh_api_key_hook(self) + key = self.api_key.get(identifier, self.api_key.get(alias) if alias is not None else None) + if key: + prefix = self.api_key_prefix.get(identifier) + if prefix: + return "%s %s" % (prefix, key) + else: + return key + + return None + + def get_basic_auth_token(self) -> Optional[str]: + """Gets HTTP basic authentication header (string). + + :return: The token for basic HTTP authentication. + """ + username = "" + if self.username is not None: + username = self.username + password = "" + if self.password is not None: + password = self.password + + return "Basic " + base64.b64encode( + (username + ":" + password).encode('utf-8') + ).decode('utf-8') + + def auth_settings(self)-> AuthSettings: + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + auth: AuthSettings = {} + if 'Bearer' in self.api_key: + auth['Bearer'] = { + 'type': 'api_key', + 'in': 'header', + 'key': 'Authorization', + 'value': self.get_api_key_with_prefix( + 'Bearer', + ), + } + return auth + + def to_debug_report(self) -> str: + """Gets the essential information for debugging. + + :return: The report for debugging. + """ + return "Python SDK Debug Report:\n"\ + "OS: {env}\n"\ + "Python Version: {pyversion}\n"\ + "Version of the API: 1.0.0\n"\ + "SDK Package Version: 1.4.8".\ + format(env=sys.platform, pyversion=sys.version) + + def get_host_settings(self) -> List[HostSetting]: + """Gets an array of host settings + + :return: An array of host settings + """ + return [ + { + 'url': "https://app.koyeb.com", + 'description': "No description provided", + } + ] + + def get_host_from_settings( + self, + index: Optional[int], + variables: Optional[ServerVariablesT]=None, + servers: Optional[List[HostSetting]]=None, + ) -> str: + """Gets host URL based on the index and variables + :param index: array index of the host settings + :param variables: hash of variable and the corresponding value + :param servers: an array of host settings or None + :return: URL based on host settings + """ + if index is None: + return self._base_path + + variables = {} if variables is None else variables + servers = self.get_host_settings() if servers is None else servers + + try: + server = servers[index] + except IndexError: + raise ValueError( + "Invalid index {0} when selecting the host settings. " + "Must be less than {1}".format(index, len(servers))) + + url = server['url'] + + # go through variables and replace placeholders + for variable_name, variable in server.get('variables', {}).items(): + used_value = variables.get( + variable_name, variable['default_value']) + + if 'enum_values' in variable \ + and variable['enum_values'] \ + and used_value not in variable['enum_values']: + raise ValueError( + "The variable `{0}` in the host URL has invalid value " + "{1}. Must be {2}.".format( + variable_name, variables[variable_name], + variable['enum_values'])) + + url = url.replace("{" + variable_name + "}", used_value) + + return url + + @property + def host(self) -> str: + """Return generated host.""" + return self.get_host_from_settings(self.server_index, variables=self.server_variables) + + @host.setter + def host(self, value: str) -> None: + """Fix base path.""" + self._base_path = value + self.server_index = None diff --git a/koyeb/api_async/docs/AcceptOrganizationInvitationReply.md b/koyeb/api_async/docs/AcceptOrganizationInvitationReply.md new file mode 100644 index 00000000..721a1271 --- /dev/null +++ b/koyeb/api_async/docs/AcceptOrganizationInvitationReply.md @@ -0,0 +1,29 @@ +# AcceptOrganizationInvitationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**invitation** | [**OrganizationInvitation**](OrganizationInvitation.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.accept_organization_invitation_reply import AcceptOrganizationInvitationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of AcceptOrganizationInvitationReply from a JSON string +accept_organization_invitation_reply_instance = AcceptOrganizationInvitationReply.from_json(json) +# print the JSON string representation of the object +print(AcceptOrganizationInvitationReply.to_json()) + +# convert the object into a dict +accept_organization_invitation_reply_dict = accept_organization_invitation_reply_instance.to_dict() +# create an instance of AcceptOrganizationInvitationReply from a dict +accept_organization_invitation_reply_from_dict = AcceptOrganizationInvitationReply.from_dict(accept_organization_invitation_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Action.md b/koyeb/api_async/docs/Action.md new file mode 100644 index 00000000..da964b8e --- /dev/null +++ b/koyeb/api_async/docs/Action.md @@ -0,0 +1,14 @@ +# Action + + +## Enum + +* `SIGNIN` (value: `'signin'`) + +* `SIGNUP` (value: `'signup'`) + +* `REGISTER` (value: `'register'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Activity.md b/koyeb/api_async/docs/Activity.md new file mode 100644 index 00000000..c80e09a8 --- /dev/null +++ b/koyeb/api_async/docs/Activity.md @@ -0,0 +1,34 @@ +# Activity + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**actor** | [**Object**](Object.md) | | [optional] +**object** | [**Object**](Object.md) | | [optional] +**verb** | **str** | | [optional] +**metadata** | **object** | | [optional] +**created_at** | **datetime** | | [optional] + +## Example + +```python +from koyeb.api_async.models.activity import Activity + +# TODO update the JSON string below +json = "{}" +# create an instance of Activity from a JSON string +activity_instance = Activity.from_json(json) +# print the JSON string representation of the object +print(Activity.to_json()) + +# convert the object into a dict +activity_dict = activity_instance.to_dict() +# create an instance of Activity from a dict +activity_from_dict = Activity.from_dict(activity_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ActivityApi.md b/koyeb/api_async/docs/ActivityApi.md new file mode 100644 index 00000000..1a0b90d3 --- /dev/null +++ b/koyeb/api_async/docs/ActivityApi.md @@ -0,0 +1,276 @@ +# koyeb.api_async.ActivityApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_account_activities**](ActivityApi.md#get_account_activities) | **GET** /v1/account/activities | +[**list_activities**](ActivityApi.md#list_activities) | **GET** /v1/activities | List Activities +[**list_notifications**](ActivityApi.md#list_notifications) | **GET** /v1/notifications | List Notifications + + +# **get_account_activities** +> ActivityList get_account_activities(limit=limit, offset=offset) + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.activity_list import ActivityList +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ActivityApi(api_client) + limit = 'limit_example' # str | (optional) + offset = 'offset_example' # str | (optional) + + try: + api_response = await api_instance.get_account_activities(limit=limit, offset=offset) + print("The response of ActivityApi->get_account_activities:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ActivityApi->get_account_activities: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| | [optional] + **offset** | **str**| | [optional] + +### Return type + +[**ActivityList**](ActivityList.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_activities** +> ActivityList list_activities(limit=limit, offset=offset, types=types) + +List Activities + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.activity_list import ActivityList +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ActivityApi(api_client) + limit = 'limit_example' # str | (optional) + offset = 'offset_example' # str | (optional) + types = ['types_example'] # List[str] | (Optional) Filter on object type (optional) + + try: + # List Activities + api_response = await api_instance.list_activities(limit=limit, offset=offset, types=types) + print("The response of ActivityApi->list_activities:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ActivityApi->list_activities: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| | [optional] + **offset** | **str**| | [optional] + **types** | [**List[str]**](str.md)| (Optional) Filter on object type | [optional] + +### Return type + +[**ActivityList**](ActivityList.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_notifications** +> NotificationList list_notifications(limit=limit, offset=offset, mark_read=mark_read, mark_seen=mark_seen, unread=unread, unseen=unseen) + +List Notifications + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.notification_list import NotificationList +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ActivityApi(api_client) + limit = 'limit_example' # str | (optional) + offset = 'offset_example' # str | (optional) + mark_read = 'mark_read_example' # str | (optional) + mark_seen = 'mark_seen_example' # str | (optional) + unread = 'unread_example' # str | (optional) + unseen = 'unseen_example' # str | (optional) + + try: + # List Notifications + api_response = await api_instance.list_notifications(limit=limit, offset=offset, mark_read=mark_read, mark_seen=mark_seen, unread=unread, unseen=unseen) + print("The response of ActivityApi->list_notifications:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ActivityApi->list_notifications: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| | [optional] + **offset** | **str**| | [optional] + **mark_read** | **str**| | [optional] + **mark_seen** | **str**| | [optional] + **unread** | **str**| | [optional] + **unseen** | **str**| | [optional] + +### Return type + +[**NotificationList**](NotificationList.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/ActivityList.md b/koyeb/api_async/docs/ActivityList.md new file mode 100644 index 00000000..ae585404 --- /dev/null +++ b/koyeb/api_async/docs/ActivityList.md @@ -0,0 +1,32 @@ +# ActivityList + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**activities** | [**List[Activity]**](Activity.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.activity_list import ActivityList + +# TODO update the JSON string below +json = "{}" +# create an instance of ActivityList from a JSON string +activity_list_instance = ActivityList.from_json(json) +# print the JSON string representation of the object +print(ActivityList.to_json()) + +# convert the object into a dict +activity_list_dict = activity_list_instance.to_dict() +# create an instance of ActivityList from a dict +activity_list_from_dict = ActivityList.from_dict(activity_list_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/App.md b/koyeb/api_async/docs/App.md new file mode 100644 index 00000000..7ae15ba0 --- /dev/null +++ b/koyeb/api_async/docs/App.md @@ -0,0 +1,43 @@ +# App + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**started_at** | **datetime** | | [optional] +**succeeded_at** | **datetime** | | [optional] +**paused_at** | **datetime** | | [optional] +**resumed_at** | **datetime** | | [optional] +**terminated_at** | **datetime** | | [optional] +**status** | [**AppStatus**](AppStatus.md) | | [optional] [default to AppStatus.STARTING] +**messages** | **List[str]** | | [optional] +**version** | **str** | | [optional] +**domains** | [**List[Domain]**](Domain.md) | | [optional] +**life_cycle** | [**AppLifeCycle**](AppLifeCycle.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.app import App + +# TODO update the JSON string below +json = "{}" +# create an instance of App from a JSON string +app_instance = App.from_json(json) +# print the JSON string representation of the object +print(App.to_json()) + +# convert the object into a dict +app_dict = app_instance.to_dict() +# create an instance of App from a dict +app_from_dict = App.from_dict(app_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/AppEvent.md b/koyeb/api_async/docs/AppEvent.md new file mode 100644 index 00000000..0b3fe676 --- /dev/null +++ b/koyeb/api_async/docs/AppEvent.md @@ -0,0 +1,35 @@ +# AppEvent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**when** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**type** | **str** | | [optional] +**message** | **str** | | [optional] +**metadata** | **object** | | [optional] + +## Example + +```python +from koyeb.api_async.models.app_event import AppEvent + +# TODO update the JSON string below +json = "{}" +# create an instance of AppEvent from a JSON string +app_event_instance = AppEvent.from_json(json) +# print the JSON string representation of the object +print(AppEvent.to_json()) + +# convert the object into a dict +app_event_dict = app_event_instance.to_dict() +# create an instance of AppEvent from a dict +app_event_from_dict = AppEvent.from_dict(app_event_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/AppLifeCycle.md b/koyeb/api_async/docs/AppLifeCycle.md new file mode 100644 index 00000000..d93df67d --- /dev/null +++ b/koyeb/api_async/docs/AppLifeCycle.md @@ -0,0 +1,29 @@ +# AppLifeCycle + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**delete_when_empty** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.app_life_cycle import AppLifeCycle + +# TODO update the JSON string below +json = "{}" +# create an instance of AppLifeCycle from a JSON string +app_life_cycle_instance = AppLifeCycle.from_json(json) +# print the JSON string representation of the object +print(AppLifeCycle.to_json()) + +# convert the object into a dict +app_life_cycle_dict = app_life_cycle_instance.to_dict() +# create an instance of AppLifeCycle from a dict +app_life_cycle_from_dict = AppLifeCycle.from_dict(app_life_cycle_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/AppListItem.md b/koyeb/api_async/docs/AppListItem.md new file mode 100644 index 00000000..5b3241ac --- /dev/null +++ b/koyeb/api_async/docs/AppListItem.md @@ -0,0 +1,36 @@ +# AppListItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**updated_at** | **datetime** | | [optional] +**created_at** | **datetime** | | [optional] +**domains** | [**List[Domain]**](Domain.md) | | [optional] +**status** | [**AppStatus**](AppStatus.md) | | [optional] [default to AppStatus.STARTING] +**messages** | **List[str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.app_list_item import AppListItem + +# TODO update the JSON string below +json = "{}" +# create an instance of AppListItem from a JSON string +app_list_item_instance = AppListItem.from_json(json) +# print the JSON string representation of the object +print(AppListItem.to_json()) + +# convert the object into a dict +app_list_item_dict = app_list_item_instance.to_dict() +# create an instance of AppListItem from a dict +app_list_item_from_dict = AppListItem.from_dict(app_list_item_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/AppStatus.md b/koyeb/api_async/docs/AppStatus.md new file mode 100644 index 00000000..565c80b8 --- /dev/null +++ b/koyeb/api_async/docs/AppStatus.md @@ -0,0 +1,26 @@ +# AppStatus + + +## Enum + +* `STARTING` (value: `'STARTING'`) + +* `HEALTHY` (value: `'HEALTHY'`) + +* `DEGRADED` (value: `'DEGRADED'`) + +* `UNHEALTHY` (value: `'UNHEALTHY'`) + +* `DELETING` (value: `'DELETING'`) + +* `DELETED` (value: `'DELETED'`) + +* `PAUSING` (value: `'PAUSING'`) + +* `PAUSED` (value: `'PAUSED'`) + +* `RESUMING` (value: `'RESUMING'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/AppUsage.md b/koyeb/api_async/docs/AppUsage.md new file mode 100644 index 00000000..5ad3e622 --- /dev/null +++ b/koyeb/api_async/docs/AppUsage.md @@ -0,0 +1,32 @@ +# AppUsage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app_id** | **str** | | [optional] +**app_name** | **str** | | [optional] +**services** | [**List[ServiceUsage]**](ServiceUsage.md) | | [optional] +**databases** | [**List[DatabaseUsage]**](DatabaseUsage.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.app_usage import AppUsage + +# TODO update the JSON string below +json = "{}" +# create an instance of AppUsage from a JSON string +app_usage_instance = AppUsage.from_json(json) +# print the JSON string representation of the object +print(AppUsage.to_json()) + +# convert the object into a dict +app_usage_dict = app_usage_instance.to_dict() +# create an instance of AppUsage from a dict +app_usage_from_dict = AppUsage.from_dict(app_usage_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/AppsApi.md b/koyeb/api_async/docs/AppsApi.md new file mode 100644 index 00000000..dafbf681 --- /dev/null +++ b/koyeb/api_async/docs/AppsApi.md @@ -0,0 +1,807 @@ +# koyeb.api_async.AppsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_app**](AppsApi.md#create_app) | **POST** /v1/apps | Create App +[**delete_app**](AppsApi.md#delete_app) | **DELETE** /v1/apps/{id} | Delete App +[**get_app**](AppsApi.md#get_app) | **GET** /v1/apps/{id} | Get App +[**list_app_events**](AppsApi.md#list_app_events) | **GET** /v1/app_events | List App events +[**list_apps**](AppsApi.md#list_apps) | **GET** /v1/apps | List App +[**pause_app**](AppsApi.md#pause_app) | **POST** /v1/apps/{id}/pause | Pause App +[**resume_app**](AppsApi.md#resume_app) | **POST** /v1/apps/{id}/resume | Resume App +[**update_app**](AppsApi.md#update_app) | **PUT** /v1/apps/{id} | Update App +[**update_app2**](AppsApi.md#update_app2) | **PATCH** /v1/apps/{id} | Update App + + +# **create_app** +> CreateAppReply create_app(app) + +Create App + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_app import CreateApp +from koyeb.api_async.models.create_app_reply import CreateAppReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.AppsApi(api_client) + app = koyeb.api_async.CreateApp() # CreateApp | + + try: + # Create App + api_response = await api_instance.create_app(app) + print("The response of AppsApi->create_app:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppsApi->create_app: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **app** | [**CreateApp**](CreateApp.md)| | + +### Return type + +[**CreateAppReply**](CreateAppReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_app** +> object delete_app(id) + +Delete App + +App deletion is allowed for all status. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.AppsApi(api_client) + id = 'id_example' # str | The id of the App to delete + + try: + # Delete App + api_response = await api_instance.delete_app(id) + print("The response of AppsApi->delete_app:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppsApi->delete_app: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the App to delete | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_app** +> GetAppReply get_app(id) + +Get App + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_app_reply import GetAppReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.AppsApi(api_client) + id = 'id_example' # str | The id of the App + + try: + # Get App + api_response = await api_instance.get_app(id) + print("The response of AppsApi->get_app:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppsApi->get_app: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the App | + +### Return type + +[**GetAppReply**](GetAppReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_app_events** +> ListAppEventsReply list_app_events(app_id=app_id, types=types, limit=limit, offset=offset, order=order) + +List App events + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_app_events_reply import ListAppEventsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.AppsApi(api_client) + app_id = 'app_id_example' # str | (Optional) Filter on app id (optional) + types = ['types_example'] # List[str] | (Optional) Filter on app event types (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + order = 'order_example' # str | (Optional) Sorts the list in the ascending or the descending order (optional) + + try: + # List App events + api_response = await api_instance.list_app_events(app_id=app_id, types=types, limit=limit, offset=offset, order=order) + print("The response of AppsApi->list_app_events:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppsApi->list_app_events: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **app_id** | **str**| (Optional) Filter on app id | [optional] + **types** | [**List[str]**](str.md)| (Optional) Filter on app event types | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **order** | **str**| (Optional) Sorts the list in the ascending or the descending order | [optional] + +### Return type + +[**ListAppEventsReply**](ListAppEventsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_apps** +> ListAppsReply list_apps(limit=limit, offset=offset, name=name, project_id=project_id) + +List App + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_apps_reply import ListAppsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.AppsApi(api_client) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + name = 'name_example' # str | (Optional) A filter for name (optional) + project_id = 'project_id_example' # str | (Optional) A filter for the project ID (optional) + + try: + # List App + api_response = await api_instance.list_apps(limit=limit, offset=offset, name=name, project_id=project_id) + print("The response of AppsApi->list_apps:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppsApi->list_apps: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **name** | **str**| (Optional) A filter for name | [optional] + **project_id** | **str**| (Optional) A filter for the project ID | [optional] + +### Return type + +[**ListAppsReply**](ListAppsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **pause_app** +> object pause_app(id) + +Pause App + +App pause action is allowed for the following status: + - starting + - healthy + - degraded + - unhealthy + - resuming + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.AppsApi(api_client) + id = 'id_example' # str | The id of the app to pause. + + try: + # Pause App + api_response = await api_instance.pause_app(id) + print("The response of AppsApi->pause_app:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppsApi->pause_app: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the app to pause. | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **resume_app** +> object resume_app(id) + +Resume App + +App resume action is allowed for the following status: + - paused + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.AppsApi(api_client) + id = 'id_example' # str | The id of the app to resume. + + try: + # Resume App + api_response = await api_instance.resume_app(id) + print("The response of AppsApi->resume_app:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppsApi->resume_app: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the app to resume. | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_app** +> UpdateAppReply update_app(id, app, update_mask=update_mask) + +Update App + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_app import UpdateApp +from koyeb.api_async.models.update_app_reply import UpdateAppReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.AppsApi(api_client) + id = 'id_example' # str | The id of the app to update. + app = koyeb.api_async.UpdateApp() # UpdateApp | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update App + api_response = await api_instance.update_app(id, app, update_mask=update_mask) + print("The response of AppsApi->update_app:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppsApi->update_app: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the app to update. | + **app** | [**UpdateApp**](UpdateApp.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UpdateAppReply**](UpdateAppReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_app2** +> UpdateAppReply update_app2(id, app, update_mask=update_mask) + +Update App + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_app import UpdateApp +from koyeb.api_async.models.update_app_reply import UpdateAppReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.AppsApi(api_client) + id = 'id_example' # str | The id of the app to update. + app = koyeb.api_async.UpdateApp() # UpdateApp | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update App + api_response = await api_instance.update_app2(id, app, update_mask=update_mask) + print("The response of AppsApi->update_app2:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AppsApi->update_app2: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the app to update. | + **app** | [**UpdateApp**](UpdateApp.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UpdateAppReply**](UpdateAppReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/AppsSummary.md b/koyeb/api_async/docs/AppsSummary.md new file mode 100644 index 00000000..87aae15e --- /dev/null +++ b/koyeb/api_async/docs/AppsSummary.md @@ -0,0 +1,30 @@ +# AppsSummary + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total** | **str** | | [optional] +**by_status** | **Dict[str, str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.apps_summary import AppsSummary + +# TODO update the JSON string below +json = "{}" +# create an instance of AppsSummary from a JSON string +apps_summary_instance = AppsSummary.from_json(json) +# print the JSON string representation of the object +print(AppsSummary.to_json()) + +# convert the object into a dict +apps_summary_dict = apps_summary_instance.to_dict() +# create an instance of AppsSummary from a dict +apps_summary_from_dict = AppsSummary.from_dict(apps_summary_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Archive.md b/koyeb/api_async/docs/Archive.md new file mode 100644 index 00000000..f4b65a3d --- /dev/null +++ b/koyeb/api_async/docs/Archive.md @@ -0,0 +1,34 @@ +# Archive + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | The archive id, that can be referenced when creating or updating a service. | [optional] +**organization_id** | **str** | Organization owning the archive. | [optional] +**upload_url** | **str** | The URL where to upload the archive. This URL is signed and can only be used to upload the archive until `valid_until`. | [optional] +**size** | **str** | The provisioned space for the archive. | [optional] +**created_at** | **datetime** | Date of creation of the archive. | [optional] +**deleted_at** | **datetime** | This field is automatically set by Koyeb when the archive is garbage collected. | [optional] + +## Example + +```python +from koyeb.api_async.models.archive import Archive + +# TODO update the JSON string below +json = "{}" +# create an instance of Archive from a JSON string +archive_instance = Archive.from_json(json) +# print the JSON string representation of the object +print(Archive.to_json()) + +# convert the object into a dict +archive_dict = archive_instance.to_dict() +# create an instance of Archive from a dict +archive_from_dict = Archive.from_dict(archive_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ArchiveDeploymentMetadata.md b/koyeb/api_async/docs/ArchiveDeploymentMetadata.md new file mode 100644 index 00000000..3ebb6ec4 --- /dev/null +++ b/koyeb/api_async/docs/ArchiveDeploymentMetadata.md @@ -0,0 +1,29 @@ +# ArchiveDeploymentMetadata + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**last_provisioned_deployment_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.archive_deployment_metadata import ArchiveDeploymentMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of ArchiveDeploymentMetadata from a JSON string +archive_deployment_metadata_instance = ArchiveDeploymentMetadata.from_json(json) +# print the JSON string representation of the object +print(ArchiveDeploymentMetadata.to_json()) + +# convert the object into a dict +archive_deployment_metadata_dict = archive_deployment_metadata_instance.to_dict() +# create an instance of ArchiveDeploymentMetadata from a dict +archive_deployment_metadata_from_dict = ArchiveDeploymentMetadata.from_dict(archive_deployment_metadata_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ArchiveSource.md b/koyeb/api_async/docs/ArchiveSource.md new file mode 100644 index 00000000..5b334093 --- /dev/null +++ b/koyeb/api_async/docs/ArchiveSource.md @@ -0,0 +1,31 @@ +# ArchiveSource + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**buildpack** | [**BuildpackBuilder**](BuildpackBuilder.md) | | [optional] +**docker** | [**DockerBuilder**](DockerBuilder.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.archive_source import ArchiveSource + +# TODO update the JSON string below +json = "{}" +# create an instance of ArchiveSource from a JSON string +archive_source_instance = ArchiveSource.from_json(json) +# print the JSON string representation of the object +print(ArchiveSource.to_json()) + +# convert the object into a dict +archive_source_dict = archive_source_instance.to_dict() +# create an instance of ArchiveSource from a dict +archive_source_from_dict = ArchiveSource.from_dict(archive_source_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ArchivesApi.md b/koyeb/api_async/docs/ArchivesApi.md new file mode 100644 index 00000000..bcf7c6ed --- /dev/null +++ b/koyeb/api_async/docs/ArchivesApi.md @@ -0,0 +1,96 @@ +# koyeb.api_async.ArchivesApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_archive**](ArchivesApi.md#create_archive) | **POST** /v1/archives | Create Archive + + +# **create_archive** +> CreateArchiveReply create_archive(archive) + +Create Archive + +Create a signed URL to upload an archive. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_archive import CreateArchive +from koyeb.api_async.models.create_archive_reply import CreateArchiveReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ArchivesApi(api_client) + archive = koyeb.api_async.CreateArchive() # CreateArchive | + + try: + # Create Archive + api_response = await api_instance.create_archive(archive) + print("The response of ArchivesApi->create_archive:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ArchivesApi->create_archive: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **archive** | [**CreateArchive**](CreateArchive.md)| | + +### Return type + +[**CreateArchiveReply**](CreateArchiveReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/AutoRelease.md b/koyeb/api_async/docs/AutoRelease.md new file mode 100644 index 00000000..d5006052 --- /dev/null +++ b/koyeb/api_async/docs/AutoRelease.md @@ -0,0 +1,29 @@ +# AutoRelease + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**groups** | [**List[AutoReleaseGroup]**](AutoReleaseGroup.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.auto_release import AutoRelease + +# TODO update the JSON string below +json = "{}" +# create an instance of AutoRelease from a JSON string +auto_release_instance = AutoRelease.from_json(json) +# print the JSON string representation of the object +print(AutoRelease.to_json()) + +# convert the object into a dict +auto_release_dict = auto_release_instance.to_dict() +# create an instance of AutoRelease from a dict +auto_release_from_dict = AutoRelease.from_dict(auto_release_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/AutoReleaseGroup.md b/koyeb/api_async/docs/AutoReleaseGroup.md new file mode 100644 index 00000000..1c68c7a7 --- /dev/null +++ b/koyeb/api_async/docs/AutoReleaseGroup.md @@ -0,0 +1,32 @@ +# AutoReleaseGroup + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**repository** | **str** | | [optional] +**git_ref** | **str** | | [optional] +**latest_sha** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.auto_release_group import AutoReleaseGroup + +# TODO update the JSON string below +json = "{}" +# create an instance of AutoReleaseGroup from a JSON string +auto_release_group_instance = AutoReleaseGroup.from_json(json) +# print the JSON string representation of the object +print(AutoReleaseGroup.to_json()) + +# convert the object into a dict +auto_release_group_dict = auto_release_group_instance.to_dict() +# create an instance of AutoReleaseGroup from a dict +auto_release_group_from_dict = AutoReleaseGroup.from_dict(auto_release_group_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/AutocompleteReply.md b/koyeb/api_async/docs/AutocompleteReply.md new file mode 100644 index 00000000..6dd3fe9c --- /dev/null +++ b/koyeb/api_async/docs/AutocompleteReply.md @@ -0,0 +1,31 @@ +# AutocompleteReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**secrets** | **List[str]** | | [optional] +**user_env** | **List[str]** | | [optional] +**system_env** | **List[str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.autocomplete_reply import AutocompleteReply + +# TODO update the JSON string below +json = "{}" +# create an instance of AutocompleteReply from a JSON string +autocomplete_reply_instance = AutocompleteReply.from_json(json) +# print the JSON string representation of the object +print(AutocompleteReply.to_json()) + +# convert the object into a dict +autocomplete_reply_dict = autocomplete_reply_instance.to_dict() +# create an instance of AutocompleteReply from a dict +autocomplete_reply_from_dict = AutocompleteReply.from_dict(autocomplete_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/AutocompleteRequest.md b/koyeb/api_async/docs/AutocompleteRequest.md new file mode 100644 index 00000000..fd8fe01f --- /dev/null +++ b/koyeb/api_async/docs/AutocompleteRequest.md @@ -0,0 +1,29 @@ +# AutocompleteRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**definition** | [**DeploymentDefinition**](DeploymentDefinition.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.autocomplete_request import AutocompleteRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of AutocompleteRequest from a JSON string +autocomplete_request_instance = AutocompleteRequest.from_json(json) +# print the JSON string representation of the object +print(AutocompleteRequest.to_json()) + +# convert the object into a dict +autocomplete_request_dict = autocomplete_request_instance.to_dict() +# create an instance of AutocompleteRequest from a dict +autocomplete_request_from_dict = AutocompleteRequest.from_dict(autocomplete_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/AvailabilityLevel.md b/koyeb/api_async/docs/AvailabilityLevel.md new file mode 100644 index 00000000..c0192039 --- /dev/null +++ b/koyeb/api_async/docs/AvailabilityLevel.md @@ -0,0 +1,16 @@ +# AvailabilityLevel + + +## Enum + +* `UNKNOWN` (value: `'UNKNOWN'`) + +* `LOW` (value: `'LOW'`) + +* `MEDIUM` (value: `'MEDIUM'`) + +* `HIGH` (value: `'HIGH'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/AzureContainerRegistryConfiguration.md b/koyeb/api_async/docs/AzureContainerRegistryConfiguration.md new file mode 100644 index 00000000..097362a7 --- /dev/null +++ b/koyeb/api_async/docs/AzureContainerRegistryConfiguration.md @@ -0,0 +1,31 @@ +# AzureContainerRegistryConfiguration + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**registry_name** | **str** | | [optional] +**username** | **str** | | [optional] +**password** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.azure_container_registry_configuration import AzureContainerRegistryConfiguration + +# TODO update the JSON string below +json = "{}" +# create an instance of AzureContainerRegistryConfiguration from a JSON string +azure_container_registry_configuration_instance = AzureContainerRegistryConfiguration.from_json(json) +# print the JSON string representation of the object +print(AzureContainerRegistryConfiguration.to_json()) + +# convert the object into a dict +azure_container_registry_configuration_dict = azure_container_registry_configuration_instance.to_dict() +# create an instance of AzureContainerRegistryConfiguration from a dict +azure_container_registry_configuration_from_dict = AzureContainerRegistryConfiguration.from_dict(azure_container_registry_configuration_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/BasicAuthPolicy.md b/koyeb/api_async/docs/BasicAuthPolicy.md new file mode 100644 index 00000000..4db5139a --- /dev/null +++ b/koyeb/api_async/docs/BasicAuthPolicy.md @@ -0,0 +1,30 @@ +# BasicAuthPolicy + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | **str** | | [optional] +**password** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.basic_auth_policy import BasicAuthPolicy + +# TODO update the JSON string below +json = "{}" +# create an instance of BasicAuthPolicy from a JSON string +basic_auth_policy_instance = BasicAuthPolicy.from_json(json) +# print the JSON string representation of the object +print(BasicAuthPolicy.to_json()) + +# convert the object into a dict +basic_auth_policy_dict = basic_auth_policy_instance.to_dict() +# create an instance of BasicAuthPolicy from a dict +basic_auth_policy_from_dict = BasicAuthPolicy.from_dict(basic_auth_policy_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/BillingApi.md b/koyeb/api_async/docs/BillingApi.md new file mode 100644 index 00000000..6ac75958 --- /dev/null +++ b/koyeb/api_async/docs/BillingApi.md @@ -0,0 +1,256 @@ +# koyeb.api_async.BillingApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**has_unpaid_invoices**](BillingApi.md#has_unpaid_invoices) | **GET** /v1/billing/has_unpaid_invoices | Experimental: Has unpaid invoices +[**manage**](BillingApi.md#manage) | **GET** /v1/billing/manage | +[**next_invoice**](BillingApi.md#next_invoice) | **GET** /v1/billing/next_invoice | Experimental: Fetch next invoice + + +# **has_unpaid_invoices** +> HasUnpaidInvoicesReply has_unpaid_invoices() + +Experimental: Has unpaid invoices + +WARNING: Please don't use the following method. +Koyeb doesn't guarantee backwards compatible breaking change and reserve +the right to completely drop it without notice. USE AT YOUR OWN RISK. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.has_unpaid_invoices_reply import HasUnpaidInvoicesReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.BillingApi(api_client) + + try: + # Experimental: Has unpaid invoices + api_response = await api_instance.has_unpaid_invoices() + print("The response of BillingApi->has_unpaid_invoices:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling BillingApi->has_unpaid_invoices: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**HasUnpaidInvoicesReply**](HasUnpaidInvoicesReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **manage** +> ManageReply manage() + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.manage_reply import ManageReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.BillingApi(api_client) + + try: + api_response = await api_instance.manage() + print("The response of BillingApi->manage:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling BillingApi->manage: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ManageReply**](ManageReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **next_invoice** +> NextInvoiceReply next_invoice() + +Experimental: Fetch next invoice + +WARNING: Please don't use the following method. +Koyeb doesn't guarantee backwards compatible breaking change and reserve +the right to completely drop it without notice. USE AT YOUR OWN RISK. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.next_invoice_reply import NextInvoiceReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.BillingApi(api_client) + + try: + # Experimental: Fetch next invoice + api_response = await api_instance.next_invoice() + print("The response of BillingApi->next_invoice:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling BillingApi->next_invoice: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**NextInvoiceReply**](NextInvoiceReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/Budget.md b/koyeb/api_async/docs/Budget.md new file mode 100644 index 00000000..652b2a90 --- /dev/null +++ b/koyeb/api_async/docs/Budget.md @@ -0,0 +1,30 @@ +# Budget + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount** | **str** | | [optional] +**thresholds** | **List[str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.budget import Budget + +# TODO update the JSON string below +json = "{}" +# create an instance of Budget from a JSON string +budget_instance = Budget.from_json(json) +# print the JSON string representation of the object +print(Budget.to_json()) + +# convert the object into a dict +budget_dict = budget_instance.to_dict() +# create an instance of Budget from a dict +budget_from_dict = Budget.from_dict(budget_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/BuildpackBuilder.md b/koyeb/api_async/docs/BuildpackBuilder.md new file mode 100644 index 00000000..5ad8aec4 --- /dev/null +++ b/koyeb/api_async/docs/BuildpackBuilder.md @@ -0,0 +1,31 @@ +# BuildpackBuilder + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**build_command** | **str** | | [optional] +**run_command** | **str** | | [optional] +**privileged** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.buildpack_builder import BuildpackBuilder + +# TODO update the JSON string below +json = "{}" +# create an instance of BuildpackBuilder from a JSON string +buildpack_builder_instance = BuildpackBuilder.from_json(json) +# print the JSON string representation of the object +print(BuildpackBuilder.to_json()) + +# convert the object into a dict +buildpack_builder_dict = buildpack_builder_instance.to_dict() +# create an instance of BuildpackBuilder from a dict +buildpack_builder_from_dict = BuildpackBuilder.from_dict(buildpack_builder_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CannyAuthReply.md b/koyeb/api_async/docs/CannyAuthReply.md new file mode 100644 index 00000000..b8a4da73 --- /dev/null +++ b/koyeb/api_async/docs/CannyAuthReply.md @@ -0,0 +1,29 @@ +# CannyAuthReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**token** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.canny_auth_reply import CannyAuthReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CannyAuthReply from a JSON string +canny_auth_reply_instance = CannyAuthReply.from_json(json) +# print the JSON string representation of the object +print(CannyAuthReply.to_json()) + +# convert the object into a dict +canny_auth_reply_dict = canny_auth_reply_instance.to_dict() +# create an instance of CannyAuthReply from a dict +canny_auth_reply_from_dict = CannyAuthReply.from_dict(canny_auth_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CatalogDatacentersApi.md b/koyeb/api_async/docs/CatalogDatacentersApi.md new file mode 100644 index 00000000..af95fe8d --- /dev/null +++ b/koyeb/api_async/docs/CatalogDatacentersApi.md @@ -0,0 +1,83 @@ +# koyeb.api_async.CatalogDatacentersApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**list_datacenters**](CatalogDatacentersApi.md#list_datacenters) | **GET** /v1/catalog/datacenters | List datacenters + + +# **list_datacenters** +> ListDatacentersReply list_datacenters() + +List datacenters + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_datacenters_reply import ListDatacentersReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CatalogDatacentersApi(api_client) + + try: + # List datacenters + api_response = await api_instance.list_datacenters() + print("The response of CatalogDatacentersApi->list_datacenters:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CatalogDatacentersApi->list_datacenters: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ListDatacentersReply**](ListDatacentersReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/CatalogGPUDetails.md b/koyeb/api_async/docs/CatalogGPUDetails.md new file mode 100644 index 00000000..7686f029 --- /dev/null +++ b/koyeb/api_async/docs/CatalogGPUDetails.md @@ -0,0 +1,32 @@ +# CatalogGPUDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**count** | **int** | | [optional] +**brand** | **str** | | [optional] +**memory** | **str** | | [optional] +**name** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.catalog_gpu_details import CatalogGPUDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of CatalogGPUDetails from a JSON string +catalog_gpu_details_instance = CatalogGPUDetails.from_json(json) +# print the JSON string representation of the object +print(CatalogGPUDetails.to_json()) + +# convert the object into a dict +catalog_gpu_details_dict = catalog_gpu_details_instance.to_dict() +# create an instance of CatalogGPUDetails from a dict +catalog_gpu_details_from_dict = CatalogGPUDetails.from_dict(catalog_gpu_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CatalogInstance.md b/koyeb/api_async/docs/CatalogInstance.md new file mode 100644 index 00000000..f0d5abb8 --- /dev/null +++ b/koyeb/api_async/docs/CatalogInstance.md @@ -0,0 +1,47 @@ +# CatalogInstance + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**description** | **str** | | [optional] +**vcpu** | **int** | The number of cpus. Deprecated. Use vcpu_shares instead. | [optional] +**memory** | **str** | | [optional] +**disk** | **str** | | [optional] +**price_per_second** | **str** | | [optional] +**price_hourly** | **str** | | [optional] +**price_monthly** | **str** | | [optional] +**regions** | **List[str]** | | [optional] +**status** | **str** | | [optional] +**require_plan** | **List[str]** | | [optional] +**vcpu_shares** | **float** | The number of vcpu shares reserved for the instance. | [optional] +**display_name** | **str** | | [optional] +**aliases** | **List[str]** | | [optional] +**type** | **str** | | [optional] +**gpu** | [**CatalogGPUDetails**](CatalogGPUDetails.md) | | [optional] +**service_types** | **List[str]** | | [optional] +**volumes_enabled** | **bool** | | [optional] +**light_sleep_enabled** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.catalog_instance import CatalogInstance + +# TODO update the JSON string below +json = "{}" +# create an instance of CatalogInstance from a JSON string +catalog_instance_instance = CatalogInstance.from_json(json) +# print the JSON string representation of the object +print(CatalogInstance.to_json()) + +# convert the object into a dict +catalog_instance_dict = catalog_instance_instance.to_dict() +# create an instance of CatalogInstance from a dict +catalog_instance_from_dict = CatalogInstance.from_dict(catalog_instance_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CatalogInstanceListItem.md b/koyeb/api_async/docs/CatalogInstanceListItem.md new file mode 100644 index 00000000..e085f07d --- /dev/null +++ b/koyeb/api_async/docs/CatalogInstanceListItem.md @@ -0,0 +1,47 @@ +# CatalogInstanceListItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**description** | **str** | | [optional] +**vcpu** | **int** | The number of cpus. Deprecated. Use vcpu_shares instead. | [optional] +**memory** | **str** | | [optional] +**disk** | **str** | | [optional] +**price_per_second** | **str** | | [optional] +**price_hourly** | **str** | | [optional] +**price_monthly** | **str** | | [optional] +**regions** | **List[str]** | | [optional] +**status** | **str** | | [optional] +**require_plan** | **List[str]** | | [optional] +**vcpu_shares** | **float** | The number of vcpu shares reserved for the instance. | [optional] +**display_name** | **str** | | [optional] +**aliases** | **List[str]** | | [optional] +**type** | **str** | | [optional] +**gpu** | [**CatalogGPUDetails**](CatalogGPUDetails.md) | | [optional] +**service_types** | **List[str]** | | [optional] +**volumes_enabled** | **bool** | | [optional] +**light_sleep_enabled** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.catalog_instance_list_item import CatalogInstanceListItem + +# TODO update the JSON string below +json = "{}" +# create an instance of CatalogInstanceListItem from a JSON string +catalog_instance_list_item_instance = CatalogInstanceListItem.from_json(json) +# print the JSON string representation of the object +print(CatalogInstanceListItem.to_json()) + +# convert the object into a dict +catalog_instance_list_item_dict = catalog_instance_list_item_instance.to_dict() +# create an instance of CatalogInstanceListItem from a dict +catalog_instance_list_item_from_dict = CatalogInstanceListItem.from_dict(catalog_instance_list_item_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CatalogInstanceUsageApi.md b/koyeb/api_async/docs/CatalogInstanceUsageApi.md new file mode 100644 index 00000000..4e7d7d9f --- /dev/null +++ b/koyeb/api_async/docs/CatalogInstanceUsageApi.md @@ -0,0 +1,84 @@ +# koyeb.api_async.CatalogInstanceUsageApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**list_usage**](CatalogInstanceUsageApi.md#list_usage) | **GET** /v1/catalog/usage | + + +# **list_usage** +> ListUsageReply list_usage(region=region) + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_usage_reply import ListUsageReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CatalogInstanceUsageApi(api_client) + region = 'region_example' # str | (optional) + + try: + api_response = await api_instance.list_usage(region=region) + print("The response of CatalogInstanceUsageApi->list_usage:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CatalogInstanceUsageApi->list_usage: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **region** | **str**| | [optional] + +### Return type + +[**ListUsageReply**](ListUsageReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/CatalogInstancesApi.md b/koyeb/api_async/docs/CatalogInstancesApi.md new file mode 100644 index 00000000..eb5c3d91 --- /dev/null +++ b/koyeb/api_async/docs/CatalogInstancesApi.md @@ -0,0 +1,170 @@ +# koyeb.api_async.CatalogInstancesApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_catalog_instance**](CatalogInstancesApi.md#get_catalog_instance) | **GET** /v1/catalog/instances/{id} | Get Instance +[**list_catalog_instances**](CatalogInstancesApi.md#list_catalog_instances) | **GET** /v1/catalog/instances | List Instances + + +# **get_catalog_instance** +> GetCatalogInstanceReply get_catalog_instance(id) + +Get Instance + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_catalog_instance_reply import GetCatalogInstanceReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CatalogInstancesApi(api_client) + id = 'id_example' # str | The name of the instance + + try: + # Get Instance + api_response = await api_instance.get_catalog_instance(id) + print("The response of CatalogInstancesApi->get_catalog_instance:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CatalogInstancesApi->get_catalog_instance: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The name of the instance | + +### Return type + +[**GetCatalogInstanceReply**](GetCatalogInstanceReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_catalog_instances** +> ListCatalogInstancesReply list_catalog_instances(limit=limit, offset=offset, id=id) + +List Instances + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_catalog_instances_reply import ListCatalogInstancesReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CatalogInstancesApi(api_client) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + id = 'id_example' # str | (Optional) A filter for instances (optional) + + try: + # List Instances + api_response = await api_instance.list_catalog_instances(limit=limit, offset=offset, id=id) + print("The response of CatalogInstancesApi->list_catalog_instances:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CatalogInstancesApi->list_catalog_instances: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **id** | **str**| (Optional) A filter for instances | [optional] + +### Return type + +[**ListCatalogInstancesReply**](ListCatalogInstancesReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/CatalogRegionsApi.md b/koyeb/api_async/docs/CatalogRegionsApi.md new file mode 100644 index 00000000..d4e5f523 --- /dev/null +++ b/koyeb/api_async/docs/CatalogRegionsApi.md @@ -0,0 +1,170 @@ +# koyeb.api_async.CatalogRegionsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_region**](CatalogRegionsApi.md#get_region) | **GET** /v1/catalog/regions/{id} | Get Region +[**list_regions**](CatalogRegionsApi.md#list_regions) | **GET** /v1/catalog/regions | List Region + + +# **get_region** +> GetRegionReply get_region(id) + +Get Region + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_region_reply import GetRegionReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CatalogRegionsApi(api_client) + id = 'id_example' # str | The name of the region + + try: + # Get Region + api_response = await api_instance.get_region(id) + print("The response of CatalogRegionsApi->get_region:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CatalogRegionsApi->get_region: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The name of the region | + +### Return type + +[**GetRegionReply**](GetRegionReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_regions** +> ListRegionsReply list_regions(limit=limit, offset=offset, id=id) + +List Region + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_regions_reply import ListRegionsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CatalogRegionsApi(api_client) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + id = 'id_example' # str | (Optional) A filter for regions (optional) + + try: + # List Region + api_response = await api_instance.list_regions(limit=limit, offset=offset, id=id) + print("The response of CatalogRegionsApi->list_regions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CatalogRegionsApi->list_regions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **id** | **str**| (Optional) A filter for regions | [optional] + +### Return type + +[**ListRegionsReply**](ListRegionsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/CatalogUsage.md b/koyeb/api_async/docs/CatalogUsage.md new file mode 100644 index 00000000..ce23c053 --- /dev/null +++ b/koyeb/api_async/docs/CatalogUsage.md @@ -0,0 +1,29 @@ +# CatalogUsage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**instances** | [**Dict[str, InstanceAvailability]**](InstanceAvailability.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.catalog_usage import CatalogUsage + +# TODO update the JSON string below +json = "{}" +# create an instance of CatalogUsage from a JSON string +catalog_usage_instance = CatalogUsage.from_json(json) +# print the JSON string representation of the object +print(CatalogUsage.to_json()) + +# convert the object into a dict +catalog_usage_dict = catalog_usage_instance.to_dict() +# create an instance of CatalogUsage from a dict +catalog_usage_from_dict = CatalogUsage.from_dict(catalog_usage_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CheckCouponReply.md b/koyeb/api_async/docs/CheckCouponReply.md new file mode 100644 index 00000000..d28d377c --- /dev/null +++ b/koyeb/api_async/docs/CheckCouponReply.md @@ -0,0 +1,32 @@ +# CheckCouponReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**percent_off** | **float** | | [optional] +**amount_off** | **str** | | [optional] +**currency** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.check_coupon_reply import CheckCouponReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CheckCouponReply from a JSON string +check_coupon_reply_instance = CheckCouponReply.from_json(json) +# print the JSON string representation of the object +print(CheckCouponReply.to_json()) + +# convert the object into a dict +check_coupon_reply_dict = check_coupon_reply_instance.to_dict() +# create an instance of CheckCouponReply from a dict +check_coupon_reply_from_dict = CheckCouponReply.from_dict(check_coupon_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ClearIdenfyVerificationResultRequest.md b/koyeb/api_async/docs/ClearIdenfyVerificationResultRequest.md new file mode 100644 index 00000000..0234701c --- /dev/null +++ b/koyeb/api_async/docs/ClearIdenfyVerificationResultRequest.md @@ -0,0 +1,30 @@ +# ClearIdenfyVerificationResultRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user_id** | **str** | | [optional] +**organization_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.clear_idenfy_verification_result_request import ClearIdenfyVerificationResultRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ClearIdenfyVerificationResultRequest from a JSON string +clear_idenfy_verification_result_request_instance = ClearIdenfyVerificationResultRequest.from_json(json) +# print the JSON string representation of the object +print(ClearIdenfyVerificationResultRequest.to_json()) + +# convert the object into a dict +clear_idenfy_verification_result_request_dict = clear_idenfy_verification_result_request_instance.to_dict() +# create an instance of ClearIdenfyVerificationResultRequest from a dict +clear_idenfy_verification_result_request_from_dict = ClearIdenfyVerificationResultRequest.from_dict(clear_idenfy_verification_result_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ComposeApi.md b/koyeb/api_async/docs/ComposeApi.md new file mode 100644 index 00000000..fde5ca42 --- /dev/null +++ b/koyeb/api_async/docs/ComposeApi.md @@ -0,0 +1,94 @@ +# koyeb.api_async.ComposeApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**compose**](ComposeApi.md#compose) | **POST** /v1/compose | Create resources from compose. + + +# **compose** +> ComposeReply compose(compose) + +Create resources from compose. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.compose_reply import ComposeReply +from koyeb.api_async.models.create_compose import CreateCompose +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ComposeApi(api_client) + compose = koyeb.api_async.CreateCompose() # CreateCompose | + + try: + # Create resources from compose. + api_response = await api_instance.compose(compose) + print("The response of ComposeApi->compose:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ComposeApi->compose: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **compose** | [**CreateCompose**](CreateCompose.md)| | + +### Return type + +[**ComposeReply**](ComposeReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/ComposeReply.md b/koyeb/api_async/docs/ComposeReply.md new file mode 100644 index 00000000..26f5d31f --- /dev/null +++ b/koyeb/api_async/docs/ComposeReply.md @@ -0,0 +1,30 @@ +# ComposeReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app** | [**App**](App.md) | | [optional] +**services** | [**List[Service]**](Service.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.compose_reply import ComposeReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ComposeReply from a JSON string +compose_reply_instance = ComposeReply.from_json(json) +# print the JSON string representation of the object +print(ComposeReply.to_json()) + +# convert the object into a dict +compose_reply_dict = compose_reply_instance.to_dict() +# create an instance of ComposeReply from a dict +compose_reply_from_dict = ComposeReply.from_dict(compose_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ConfigFile.md b/koyeb/api_async/docs/ConfigFile.md new file mode 100644 index 00000000..d3b2d345 --- /dev/null +++ b/koyeb/api_async/docs/ConfigFile.md @@ -0,0 +1,31 @@ +# ConfigFile + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**path** | **str** | | [optional] +**permissions** | **str** | | [optional] +**content** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.config_file import ConfigFile + +# TODO update the JSON string below +json = "{}" +# create an instance of ConfigFile from a JSON string +config_file_instance = ConfigFile.from_json(json) +# print the JSON string representation of the object +print(ConfigFile.to_json()) + +# convert the object into a dict +config_file_dict = config_file_instance.to_dict() +# create an instance of ConfigFile from a dict +config_file_from_dict = ConfigFile.from_dict(config_file_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ConfirmPaymentAuthorizationReply.md b/koyeb/api_async/docs/ConfirmPaymentAuthorizationReply.md new file mode 100644 index 00000000..ccd29eb7 --- /dev/null +++ b/koyeb/api_async/docs/ConfirmPaymentAuthorizationReply.md @@ -0,0 +1,29 @@ +# ConfirmPaymentAuthorizationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_method** | [**PaymentMethod**](PaymentMethod.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.confirm_payment_authorization_reply import ConfirmPaymentAuthorizationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ConfirmPaymentAuthorizationReply from a JSON string +confirm_payment_authorization_reply_instance = ConfirmPaymentAuthorizationReply.from_json(json) +# print the JSON string representation of the object +print(ConfirmPaymentAuthorizationReply.to_json()) + +# convert the object into a dict +confirm_payment_authorization_reply_dict = confirm_payment_authorization_reply_instance.to_dict() +# create an instance of ConfirmPaymentAuthorizationReply from a dict +confirm_payment_authorization_reply_from_dict = ConfirmPaymentAuthorizationReply.from_dict(confirm_payment_authorization_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CouponsApi.md b/koyeb/api_async/docs/CouponsApi.md new file mode 100644 index 00000000..02120b8d --- /dev/null +++ b/koyeb/api_async/docs/CouponsApi.md @@ -0,0 +1,182 @@ +# koyeb.api_async.CouponsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**check_coupon**](CouponsApi.md#check_coupon) | **GET** /v1/coupons/{code} | Check Coupon +[**redeem_coupon**](CouponsApi.md#redeem_coupon) | **POST** /v1/coupons | Redeem Coupon + + +# **check_coupon** +> CheckCouponReply check_coupon(code) + +Check Coupon + +This API allows to check if a given coupon is valid. It is heavily rate-limited. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.check_coupon_reply import CheckCouponReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CouponsApi(api_client) + code = 'code_example' # str | + + try: + # Check Coupon + api_response = await api_instance.check_coupon(code) + print("The response of CouponsApi->check_coupon:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CouponsApi->check_coupon: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **code** | **str**| | + +### Return type + +[**CheckCouponReply**](CheckCouponReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **redeem_coupon** +> object redeem_coupon(body) + +Redeem Coupon + +This API allows to redeem a coupon. Pass the code you received in the body. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.redeem_coupon_request import RedeemCouponRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CouponsApi(api_client) + body = koyeb.api_async.RedeemCouponRequest() # RedeemCouponRequest | + + try: + # Redeem Coupon + api_response = await api_instance.redeem_coupon(body) + print("The response of CouponsApi->redeem_coupon:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CouponsApi->redeem_coupon: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**RedeemCouponRequest**](RedeemCouponRequest.md)| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/CreateAccessTokenReply.md b/koyeb/api_async/docs/CreateAccessTokenReply.md new file mode 100644 index 00000000..f0236f0b --- /dev/null +++ b/koyeb/api_async/docs/CreateAccessTokenReply.md @@ -0,0 +1,29 @@ +# CreateAccessTokenReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**token** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_access_token_reply import CreateAccessTokenReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateAccessTokenReply from a JSON string +create_access_token_reply_instance = CreateAccessTokenReply.from_json(json) +# print the JSON string representation of the object +print(CreateAccessTokenReply.to_json()) + +# convert the object into a dict +create_access_token_reply_dict = create_access_token_reply_instance.to_dict() +# create an instance of CreateAccessTokenReply from a dict +create_access_token_reply_from_dict = CreateAccessTokenReply.from_dict(create_access_token_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateAccessTokenRequest.md b/koyeb/api_async/docs/CreateAccessTokenRequest.md new file mode 100644 index 00000000..df892f5b --- /dev/null +++ b/koyeb/api_async/docs/CreateAccessTokenRequest.md @@ -0,0 +1,29 @@ +# CreateAccessTokenRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**validity** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_access_token_request import CreateAccessTokenRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateAccessTokenRequest from a JSON string +create_access_token_request_instance = CreateAccessTokenRequest.from_json(json) +# print the JSON string representation of the object +print(CreateAccessTokenRequest.to_json()) + +# convert the object into a dict +create_access_token_request_dict = create_access_token_request_instance.to_dict() +# create an instance of CreateAccessTokenRequest from a dict +create_access_token_request_from_dict = CreateAccessTokenRequest.from_dict(create_access_token_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateAccountRequest.md b/koyeb/api_async/docs/CreateAccountRequest.md new file mode 100644 index 00000000..651db1ce --- /dev/null +++ b/koyeb/api_async/docs/CreateAccountRequest.md @@ -0,0 +1,33 @@ +# CreateAccountRequest + +Create new account + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | **str** | | +**password** | **str** | | +**name** | **str** | | [optional] +**captcha** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_account_request import CreateAccountRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateAccountRequest from a JSON string +create_account_request_instance = CreateAccountRequest.from_json(json) +# print the JSON string representation of the object +print(CreateAccountRequest.to_json()) + +# convert the object into a dict +create_account_request_dict = create_account_request_instance.to_dict() +# create an instance of CreateAccountRequest from a dict +create_account_request_from_dict = CreateAccountRequest.from_dict(create_account_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateApp.md b/koyeb/api_async/docs/CreateApp.md new file mode 100644 index 00000000..6519fcdd --- /dev/null +++ b/koyeb/api_async/docs/CreateApp.md @@ -0,0 +1,31 @@ +# CreateApp + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**life_cycle** | [**AppLifeCycle**](AppLifeCycle.md) | | [optional] +**project_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_app import CreateApp + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateApp from a JSON string +create_app_instance = CreateApp.from_json(json) +# print the JSON string representation of the object +print(CreateApp.to_json()) + +# convert the object into a dict +create_app_dict = create_app_instance.to_dict() +# create an instance of CreateApp from a dict +create_app_from_dict = CreateApp.from_dict(create_app_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateAppReply.md b/koyeb/api_async/docs/CreateAppReply.md new file mode 100644 index 00000000..d90e870c --- /dev/null +++ b/koyeb/api_async/docs/CreateAppReply.md @@ -0,0 +1,29 @@ +# CreateAppReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app** | [**App**](App.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_app_reply import CreateAppReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateAppReply from a JSON string +create_app_reply_instance = CreateAppReply.from_json(json) +# print the JSON string representation of the object +print(CreateAppReply.to_json()) + +# convert the object into a dict +create_app_reply_dict = create_app_reply_instance.to_dict() +# create an instance of CreateAppReply from a dict +create_app_reply_from_dict = CreateAppReply.from_dict(create_app_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateArchive.md b/koyeb/api_async/docs/CreateArchive.md new file mode 100644 index 00000000..d9430594 --- /dev/null +++ b/koyeb/api_async/docs/CreateArchive.md @@ -0,0 +1,30 @@ +# CreateArchive + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**size** | **str** | How much space to provision for the archive, in bytes. | [optional] +**project_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_archive import CreateArchive + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateArchive from a JSON string +create_archive_instance = CreateArchive.from_json(json) +# print the JSON string representation of the object +print(CreateArchive.to_json()) + +# convert the object into a dict +create_archive_dict = create_archive_instance.to_dict() +# create an instance of CreateArchive from a dict +create_archive_from_dict = CreateArchive.from_dict(create_archive_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateArchiveReply.md b/koyeb/api_async/docs/CreateArchiveReply.md new file mode 100644 index 00000000..ff4454fa --- /dev/null +++ b/koyeb/api_async/docs/CreateArchiveReply.md @@ -0,0 +1,29 @@ +# CreateArchiveReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**archive** | [**Archive**](Archive.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_archive_reply import CreateArchiveReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateArchiveReply from a JSON string +create_archive_reply_instance = CreateArchiveReply.from_json(json) +# print the JSON string representation of the object +print(CreateArchiveReply.to_json()) + +# convert the object into a dict +create_archive_reply_dict = create_archive_reply_instance.to_dict() +# create an instance of CreateArchiveReply from a dict +create_archive_reply_from_dict = CreateArchiveReply.from_dict(create_archive_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateBudgetReply.md b/koyeb/api_async/docs/CreateBudgetReply.md new file mode 100644 index 00000000..fc4d1681 --- /dev/null +++ b/koyeb/api_async/docs/CreateBudgetReply.md @@ -0,0 +1,29 @@ +# CreateBudgetReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**budget** | [**Budget**](Budget.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_budget_reply import CreateBudgetReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateBudgetReply from a JSON string +create_budget_reply_instance = CreateBudgetReply.from_json(json) +# print the JSON string representation of the object +print(CreateBudgetReply.to_json()) + +# convert the object into a dict +create_budget_reply_dict = create_budget_reply_instance.to_dict() +# create an instance of CreateBudgetReply from a dict +create_budget_reply_from_dict = CreateBudgetReply.from_dict(create_budget_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateCompose.md b/koyeb/api_async/docs/CreateCompose.md new file mode 100644 index 00000000..4c10af67 --- /dev/null +++ b/koyeb/api_async/docs/CreateCompose.md @@ -0,0 +1,30 @@ +# CreateCompose + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app** | [**CreateApp**](CreateApp.md) | | [optional] +**services** | [**List[CreateService]**](CreateService.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_compose import CreateCompose + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateCompose from a JSON string +create_compose_instance = CreateCompose.from_json(json) +# print the JSON string representation of the object +print(CreateCompose.to_json()) + +# convert the object into a dict +create_compose_dict = create_compose_instance.to_dict() +# create an instance of CreateCompose from a dict +create_compose_from_dict = CreateCompose.from_dict(create_compose_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateCredential.md b/koyeb/api_async/docs/CreateCredential.md new file mode 100644 index 00000000..18cae363 --- /dev/null +++ b/koyeb/api_async/docs/CreateCredential.md @@ -0,0 +1,32 @@ +# CreateCredential + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**description** | **str** | | [optional] +**type** | [**CredentialType**](CredentialType.md) | | [optional] [default to CredentialType.INVALID] +**organization_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_credential import CreateCredential + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateCredential from a JSON string +create_credential_instance = CreateCredential.from_json(json) +# print the JSON string representation of the object +print(CreateCredential.to_json()) + +# convert the object into a dict +create_credential_dict = create_credential_instance.to_dict() +# create an instance of CreateCredential from a dict +create_credential_from_dict = CreateCredential.from_dict(create_credential_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateCredentialReply.md b/koyeb/api_async/docs/CreateCredentialReply.md new file mode 100644 index 00000000..0183a229 --- /dev/null +++ b/koyeb/api_async/docs/CreateCredentialReply.md @@ -0,0 +1,29 @@ +# CreateCredentialReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**credential** | [**Credential**](Credential.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_credential_reply import CreateCredentialReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateCredentialReply from a JSON string +create_credential_reply_instance = CreateCredentialReply.from_json(json) +# print the JSON string representation of the object +print(CreateCredentialReply.to_json()) + +# convert the object into a dict +create_credential_reply_dict = create_credential_reply_instance.to_dict() +# create an instance of CreateCredentialReply from a dict +create_credential_reply_from_dict = CreateCredentialReply.from_dict(create_credential_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateDomain.md b/koyeb/api_async/docs/CreateDomain.md new file mode 100644 index 00000000..c34af0ea --- /dev/null +++ b/koyeb/api_async/docs/CreateDomain.md @@ -0,0 +1,34 @@ +# CreateDomain + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**type** | [**DomainType**](DomainType.md) | | [optional] [default to DomainType.AUTOASSIGNED] +**app_id** | **str** | | [optional] +**cloudflare** | **object** | | [optional] +**koyeb** | [**DomainLoadBalancerKoyeb**](DomainLoadBalancerKoyeb.md) | | [optional] +**project_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_domain import CreateDomain + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateDomain from a JSON string +create_domain_instance = CreateDomain.from_json(json) +# print the JSON string representation of the object +print(CreateDomain.to_json()) + +# convert the object into a dict +create_domain_dict = create_domain_instance.to_dict() +# create an instance of CreateDomain from a dict +create_domain_from_dict = CreateDomain.from_dict(create_domain_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateDomainReply.md b/koyeb/api_async/docs/CreateDomainReply.md new file mode 100644 index 00000000..9c2e694e --- /dev/null +++ b/koyeb/api_async/docs/CreateDomainReply.md @@ -0,0 +1,29 @@ +# CreateDomainReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**domain** | [**Domain**](Domain.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_domain_reply import CreateDomainReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateDomainReply from a JSON string +create_domain_reply_instance = CreateDomainReply.from_json(json) +# print the JSON string representation of the object +print(CreateDomainReply.to_json()) + +# convert the object into a dict +create_domain_reply_dict = create_domain_reply_instance.to_dict() +# create an instance of CreateDomainReply from a dict +create_domain_reply_from_dict = CreateDomainReply.from_dict(create_domain_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateOrganizationInvitationReply.md b/koyeb/api_async/docs/CreateOrganizationInvitationReply.md new file mode 100644 index 00000000..c76cd297 --- /dev/null +++ b/koyeb/api_async/docs/CreateOrganizationInvitationReply.md @@ -0,0 +1,29 @@ +# CreateOrganizationInvitationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**invitation** | [**OrganizationInvitation**](OrganizationInvitation.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_organization_invitation_reply import CreateOrganizationInvitationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateOrganizationInvitationReply from a JSON string +create_organization_invitation_reply_instance = CreateOrganizationInvitationReply.from_json(json) +# print the JSON string representation of the object +print(CreateOrganizationInvitationReply.to_json()) + +# convert the object into a dict +create_organization_invitation_reply_dict = create_organization_invitation_reply_instance.to_dict() +# create an instance of CreateOrganizationInvitationReply from a dict +create_organization_invitation_reply_from_dict = CreateOrganizationInvitationReply.from_dict(create_organization_invitation_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateOrganizationInvitationRequest.md b/koyeb/api_async/docs/CreateOrganizationInvitationRequest.md new file mode 100644 index 00000000..34457958 --- /dev/null +++ b/koyeb/api_async/docs/CreateOrganizationInvitationRequest.md @@ -0,0 +1,29 @@ +# CreateOrganizationInvitationRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_organization_invitation_request import CreateOrganizationInvitationRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateOrganizationInvitationRequest from a JSON string +create_organization_invitation_request_instance = CreateOrganizationInvitationRequest.from_json(json) +# print the JSON string representation of the object +print(CreateOrganizationInvitationRequest.to_json()) + +# convert the object into a dict +create_organization_invitation_request_dict = create_organization_invitation_request_instance.to_dict() +# create an instance of CreateOrganizationInvitationRequest from a dict +create_organization_invitation_request_from_dict = CreateOrganizationInvitationRequest.from_dict(create_organization_invitation_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateOrganizationReply.md b/koyeb/api_async/docs/CreateOrganizationReply.md new file mode 100644 index 00000000..31429a27 --- /dev/null +++ b/koyeb/api_async/docs/CreateOrganizationReply.md @@ -0,0 +1,29 @@ +# CreateOrganizationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | [**Organization**](Organization.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_organization_reply import CreateOrganizationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateOrganizationReply from a JSON string +create_organization_reply_instance = CreateOrganizationReply.from_json(json) +# print the JSON string representation of the object +print(CreateOrganizationReply.to_json()) + +# convert the object into a dict +create_organization_reply_dict = create_organization_reply_instance.to_dict() +# create an instance of CreateOrganizationReply from a dict +create_organization_reply_from_dict = CreateOrganizationReply.from_dict(create_organization_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateOrganizationRequest.md b/koyeb/api_async/docs/CreateOrganizationRequest.md new file mode 100644 index 00000000..47f006a3 --- /dev/null +++ b/koyeb/api_async/docs/CreateOrganizationRequest.md @@ -0,0 +1,29 @@ +# CreateOrganizationRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_organization_request import CreateOrganizationRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateOrganizationRequest from a JSON string +create_organization_request_instance = CreateOrganizationRequest.from_json(json) +# print the JSON string representation of the object +print(CreateOrganizationRequest.to_json()) + +# convert the object into a dict +create_organization_request_dict = create_organization_request_instance.to_dict() +# create an instance of CreateOrganizationRequest from a dict +create_organization_request_from_dict = CreateOrganizationRequest.from_dict(create_organization_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreatePaymentAuthorizationReply.md b/koyeb/api_async/docs/CreatePaymentAuthorizationReply.md new file mode 100644 index 00000000..e545310b --- /dev/null +++ b/koyeb/api_async/docs/CreatePaymentAuthorizationReply.md @@ -0,0 +1,29 @@ +# CreatePaymentAuthorizationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_method** | [**PaymentMethod**](PaymentMethod.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_payment_authorization_reply import CreatePaymentAuthorizationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreatePaymentAuthorizationReply from a JSON string +create_payment_authorization_reply_instance = CreatePaymentAuthorizationReply.from_json(json) +# print the JSON string representation of the object +print(CreatePaymentAuthorizationReply.to_json()) + +# convert the object into a dict +create_payment_authorization_reply_dict = create_payment_authorization_reply_instance.to_dict() +# create an instance of CreatePaymentAuthorizationReply from a dict +create_payment_authorization_reply_from_dict = CreatePaymentAuthorizationReply.from_dict(create_payment_authorization_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreatePersistentVolumeReply.md b/koyeb/api_async/docs/CreatePersistentVolumeReply.md new file mode 100644 index 00000000..02224b2e --- /dev/null +++ b/koyeb/api_async/docs/CreatePersistentVolumeReply.md @@ -0,0 +1,29 @@ +# CreatePersistentVolumeReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**volume** | [**PersistentVolume**](PersistentVolume.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_persistent_volume_reply import CreatePersistentVolumeReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreatePersistentVolumeReply from a JSON string +create_persistent_volume_reply_instance = CreatePersistentVolumeReply.from_json(json) +# print the JSON string representation of the object +print(CreatePersistentVolumeReply.to_json()) + +# convert the object into a dict +create_persistent_volume_reply_dict = create_persistent_volume_reply_instance.to_dict() +# create an instance of CreatePersistentVolumeReply from a dict +create_persistent_volume_reply_from_dict = CreatePersistentVolumeReply.from_dict(create_persistent_volume_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreatePersistentVolumeRequest.md b/koyeb/api_async/docs/CreatePersistentVolumeRequest.md new file mode 100644 index 00000000..76b9b83d --- /dev/null +++ b/koyeb/api_async/docs/CreatePersistentVolumeRequest.md @@ -0,0 +1,35 @@ +# CreatePersistentVolumeRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**volume_type** | [**PersistentVolumeBackingStore**](PersistentVolumeBackingStore.md) | | [optional] [default to PersistentVolumeBackingStore.PERSISTENT_VOLUME_BACKING_STORE_INVALID] +**name** | **str** | | [optional] +**region** | **str** | | [optional] +**read_only** | **bool** | | [optional] +**max_size** | **int** | | [optional] +**snapshot_id** | **str** | | [optional] +**project_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_persistent_volume_request import CreatePersistentVolumeRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CreatePersistentVolumeRequest from a JSON string +create_persistent_volume_request_instance = CreatePersistentVolumeRequest.from_json(json) +# print the JSON string representation of the object +print(CreatePersistentVolumeRequest.to_json()) + +# convert the object into a dict +create_persistent_volume_request_dict = create_persistent_volume_request_instance.to_dict() +# create an instance of CreatePersistentVolumeRequest from a dict +create_persistent_volume_request_from_dict = CreatePersistentVolumeRequest.from_dict(create_persistent_volume_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateProject.md b/koyeb/api_async/docs/CreateProject.md new file mode 100644 index 00000000..9fb67630 --- /dev/null +++ b/koyeb/api_async/docs/CreateProject.md @@ -0,0 +1,30 @@ +# CreateProject + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**description** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_project import CreateProject + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateProject from a JSON string +create_project_instance = CreateProject.from_json(json) +# print the JSON string representation of the object +print(CreateProject.to_json()) + +# convert the object into a dict +create_project_dict = create_project_instance.to_dict() +# create an instance of CreateProject from a dict +create_project_from_dict = CreateProject.from_dict(create_project_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateProjectReply.md b/koyeb/api_async/docs/CreateProjectReply.md new file mode 100644 index 00000000..a44f7646 --- /dev/null +++ b/koyeb/api_async/docs/CreateProjectReply.md @@ -0,0 +1,29 @@ +# CreateProjectReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**project** | [**Project**](Project.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_project_reply import CreateProjectReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateProjectReply from a JSON string +create_project_reply_instance = CreateProjectReply.from_json(json) +# print the JSON string representation of the object +print(CreateProjectReply.to_json()) + +# convert the object into a dict +create_project_reply_dict = create_project_reply_instance.to_dict() +# create an instance of CreateProjectReply from a dict +create_project_reply_from_dict = CreateProjectReply.from_dict(create_project_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateSecret.md b/koyeb/api_async/docs/CreateSecret.md new file mode 100644 index 00000000..ca4559f0 --- /dev/null +++ b/koyeb/api_async/docs/CreateSecret.md @@ -0,0 +1,39 @@ +# CreateSecret + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**type** | [**SecretType**](SecretType.md) | | [optional] [default to SecretType.SIMPLE] +**value** | **str** | | [optional] +**docker_hub_registry** | [**DockerHubRegistryConfiguration**](DockerHubRegistryConfiguration.md) | | [optional] +**private_registry** | [**PrivateRegistryConfiguration**](PrivateRegistryConfiguration.md) | | [optional] +**digital_ocean_registry** | [**DigitalOceanRegistryConfiguration**](DigitalOceanRegistryConfiguration.md) | | [optional] +**github_registry** | [**GitHubRegistryConfiguration**](GitHubRegistryConfiguration.md) | | [optional] +**gitlab_registry** | [**GitLabRegistryConfiguration**](GitLabRegistryConfiguration.md) | | [optional] +**gcp_container_registry** | [**GCPContainerRegistryConfiguration**](GCPContainerRegistryConfiguration.md) | | [optional] +**azure_container_registry** | [**AzureContainerRegistryConfiguration**](AzureContainerRegistryConfiguration.md) | | [optional] +**project_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_secret import CreateSecret + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateSecret from a JSON string +create_secret_instance = CreateSecret.from_json(json) +# print the JSON string representation of the object +print(CreateSecret.to_json()) + +# convert the object into a dict +create_secret_dict = create_secret_instance.to_dict() +# create an instance of CreateSecret from a dict +create_secret_from_dict = CreateSecret.from_dict(create_secret_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateSecretReply.md b/koyeb/api_async/docs/CreateSecretReply.md new file mode 100644 index 00000000..f1fde4da --- /dev/null +++ b/koyeb/api_async/docs/CreateSecretReply.md @@ -0,0 +1,29 @@ +# CreateSecretReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**secret** | [**Secret**](Secret.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_secret_reply import CreateSecretReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateSecretReply from a JSON string +create_secret_reply_instance = CreateSecretReply.from_json(json) +# print the JSON string representation of the object +print(CreateSecretReply.to_json()) + +# convert the object into a dict +create_secret_reply_dict = create_secret_reply_instance.to_dict() +# create an instance of CreateSecretReply from a dict +create_secret_reply_from_dict = CreateSecretReply.from_dict(create_secret_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateService.md b/koyeb/api_async/docs/CreateService.md new file mode 100644 index 00000000..63f1f302 --- /dev/null +++ b/koyeb/api_async/docs/CreateService.md @@ -0,0 +1,32 @@ +# CreateService + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app_id** | **str** | | [optional] +**definition** | [**DeploymentDefinition**](DeploymentDefinition.md) | | [optional] +**life_cycle** | [**ServiceLifeCycle**](ServiceLifeCycle.md) | | [optional] +**project_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_service import CreateService + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateService from a JSON string +create_service_instance = CreateService.from_json(json) +# print the JSON string representation of the object +print(CreateService.to_json()) + +# convert the object into a dict +create_service_dict = create_service_instance.to_dict() +# create an instance of CreateService from a dict +create_service_from_dict = CreateService.from_dict(create_service_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateServiceReply.md b/koyeb/api_async/docs/CreateServiceReply.md new file mode 100644 index 00000000..8554ab1d --- /dev/null +++ b/koyeb/api_async/docs/CreateServiceReply.md @@ -0,0 +1,29 @@ +# CreateServiceReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**service** | [**Service**](Service.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_service_reply import CreateServiceReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateServiceReply from a JSON string +create_service_reply_instance = CreateServiceReply.from_json(json) +# print the JSON string representation of the object +print(CreateServiceReply.to_json()) + +# convert the object into a dict +create_service_reply_dict = create_service_reply_instance.to_dict() +# create an instance of CreateServiceReply from a dict +create_service_reply_from_dict = CreateServiceReply.from_dict(create_service_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateSnapshotReply.md b/koyeb/api_async/docs/CreateSnapshotReply.md new file mode 100644 index 00000000..9cf70cb6 --- /dev/null +++ b/koyeb/api_async/docs/CreateSnapshotReply.md @@ -0,0 +1,29 @@ +# CreateSnapshotReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**snapshot** | [**Snapshot**](Snapshot.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_snapshot_reply import CreateSnapshotReply + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateSnapshotReply from a JSON string +create_snapshot_reply_instance = CreateSnapshotReply.from_json(json) +# print the JSON string representation of the object +print(CreateSnapshotReply.to_json()) + +# convert the object into a dict +create_snapshot_reply_dict = create_snapshot_reply_instance.to_dict() +# create an instance of CreateSnapshotReply from a dict +create_snapshot_reply_from_dict = CreateSnapshotReply.from_dict(create_snapshot_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateSnapshotRequest.md b/koyeb/api_async/docs/CreateSnapshotRequest.md new file mode 100644 index 00000000..a83a7a15 --- /dev/null +++ b/koyeb/api_async/docs/CreateSnapshotRequest.md @@ -0,0 +1,31 @@ +# CreateSnapshotRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**parent_volume_id** | **str** | | [optional] +**name** | **str** | | [optional] +**project_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_snapshot_request import CreateSnapshotRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateSnapshotRequest from a JSON string +create_snapshot_request_instance = CreateSnapshotRequest.from_json(json) +# print the JSON string representation of the object +print(CreateSnapshotRequest.to_json()) + +# convert the object into a dict +create_snapshot_request_dict = create_snapshot_request_instance.to_dict() +# create an instance of CreateSnapshotRequest from a dict +create_snapshot_request_from_dict = CreateSnapshotRequest.from_dict(create_snapshot_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CreateStageAttemptRequest.md b/koyeb/api_async/docs/CreateStageAttemptRequest.md new file mode 100644 index 00000000..1c7853d4 --- /dev/null +++ b/koyeb/api_async/docs/CreateStageAttemptRequest.md @@ -0,0 +1,33 @@ +# CreateStageAttemptRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**secret** | **str** | | [optional] +**status** | [**DeploymentProvisioningInfoStageStatus**](DeploymentProvisioningInfoStageStatus.md) | | [optional] [default to DeploymentProvisioningInfoStageStatus.UNKNOWN] +**started_at** | **datetime** | | [optional] +**messages** | **List[str]** | | [optional] +**steps** | **List[str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.create_stage_attempt_request import CreateStageAttemptRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CreateStageAttemptRequest from a JSON string +create_stage_attempt_request_instance = CreateStageAttemptRequest.from_json(json) +# print the JSON string representation of the object +print(CreateStageAttemptRequest.to_json()) + +# convert the object into a dict +create_stage_attempt_request_dict = create_stage_attempt_request_instance.to_dict() +# create an instance of CreateStageAttemptRequest from a dict +create_stage_attempt_request_from_dict = CreateStageAttemptRequest.from_dict(create_stage_attempt_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Credential.md b/koyeb/api_async/docs/Credential.md new file mode 100644 index 00000000..eb3139e8 --- /dev/null +++ b/koyeb/api_async/docs/Credential.md @@ -0,0 +1,38 @@ +# Credential + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**type** | [**CredentialType**](CredentialType.md) | | [optional] [default to CredentialType.INVALID] +**name** | **str** | | [optional] +**token** | **str** | | [optional] +**description** | **str** | | [optional] +**user_id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**updated_at** | **datetime** | | [optional] +**created_at** | **datetime** | | [optional] +**expires_at** | **datetime** | | [optional] + +## Example + +```python +from koyeb.api_async.models.credential import Credential + +# TODO update the JSON string below +json = "{}" +# create an instance of Credential from a JSON string +credential_instance = Credential.from_json(json) +# print the JSON string representation of the object +print(Credential.to_json()) + +# convert the object into a dict +credential_dict = credential_instance.to_dict() +# create an instance of Credential from a dict +credential_from_dict = Credential.from_dict(credential_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CredentialType.md b/koyeb/api_async/docs/CredentialType.md new file mode 100644 index 00000000..4b0f4594 --- /dev/null +++ b/koyeb/api_async/docs/CredentialType.md @@ -0,0 +1,14 @@ +# CredentialType + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `USER` (value: `'USER'`) + +* `ORGANIZATION` (value: `'ORGANIZATION'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/CredentialsApi.md b/koyeb/api_async/docs/CredentialsApi.md new file mode 100644 index 00000000..0e5168c9 --- /dev/null +++ b/koyeb/api_async/docs/CredentialsApi.md @@ -0,0 +1,538 @@ +# koyeb.api_async.CredentialsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_credential**](CredentialsApi.md#create_credential) | **POST** /v1/credentials | Create credential +[**delete_credential**](CredentialsApi.md#delete_credential) | **DELETE** /v1/credentials/{id} | Delete credential +[**get_credential**](CredentialsApi.md#get_credential) | **GET** /v1/credentials/{id} | Get credential +[**list_credentials**](CredentialsApi.md#list_credentials) | **GET** /v1/credentials | List credentials +[**update_credential**](CredentialsApi.md#update_credential) | **PUT** /v1/credentials/{id} | Update credential +[**update_credential2**](CredentialsApi.md#update_credential2) | **PATCH** /v1/credentials/{id} | Update credential + + +# **create_credential** +> CreateCredentialReply create_credential(credential) + +Create credential + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_credential import CreateCredential +from koyeb.api_async.models.create_credential_reply import CreateCredentialReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CredentialsApi(api_client) + credential = koyeb.api_async.CreateCredential() # CreateCredential | + + try: + # Create credential + api_response = await api_instance.create_credential(credential) + print("The response of CredentialsApi->create_credential:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CredentialsApi->create_credential: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **credential** | [**CreateCredential**](CreateCredential.md)| | + +### Return type + +[**CreateCredentialReply**](CreateCredentialReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_credential** +> object delete_credential(id) + +Delete credential + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CredentialsApi(api_client) + id = 'id_example' # str | + + try: + # Delete credential + api_response = await api_instance.delete_credential(id) + print("The response of CredentialsApi->delete_credential:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CredentialsApi->delete_credential: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_credential** +> GetCredentialReply get_credential(id) + +Get credential + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_credential_reply import GetCredentialReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CredentialsApi(api_client) + id = 'id_example' # str | + + try: + # Get credential + api_response = await api_instance.get_credential(id) + print("The response of CredentialsApi->get_credential:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CredentialsApi->get_credential: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**GetCredentialReply**](GetCredentialReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_credentials** +> ListCredentialsReply list_credentials(type=type, name=name, organization_id=organization_id, user_id=user_id, limit=limit, offset=offset) + +List credentials + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_credentials_reply import ListCredentialsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CredentialsApi(api_client) + type = INVALID # str | (Optional) A filter for type (optional) (default to INVALID) + name = 'name_example' # str | (Optional) A filter for name (optional) + organization_id = 'organization_id_example' # str | (Optional) Filter for an organization (optional) + user_id = 'user_id_example' # str | (Optional) Filter for an user (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + + try: + # List credentials + api_response = await api_instance.list_credentials(type=type, name=name, organization_id=organization_id, user_id=user_id, limit=limit, offset=offset) + print("The response of CredentialsApi->list_credentials:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CredentialsApi->list_credentials: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **type** | **str**| (Optional) A filter for type | [optional] [default to INVALID] + **name** | **str**| (Optional) A filter for name | [optional] + **organization_id** | **str**| (Optional) Filter for an organization | [optional] + **user_id** | **str**| (Optional) Filter for an user | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + +### Return type + +[**ListCredentialsReply**](ListCredentialsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_credential** +> UpdateCredentialReply update_credential(id, credential, update_mask=update_mask) + +Update credential + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.credential import Credential +from koyeb.api_async.models.update_credential_reply import UpdateCredentialReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CredentialsApi(api_client) + id = 'id_example' # str | + credential = koyeb.api_async.Credential() # Credential | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update credential + api_response = await api_instance.update_credential(id, credential, update_mask=update_mask) + print("The response of CredentialsApi->update_credential:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CredentialsApi->update_credential: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **credential** | [**Credential**](Credential.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UpdateCredentialReply**](UpdateCredentialReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_credential2** +> UpdateCredentialReply update_credential2(id, credential, update_mask=update_mask) + +Update credential + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.credential import Credential +from koyeb.api_async.models.update_credential_reply import UpdateCredentialReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.CredentialsApi(api_client) + id = 'id_example' # str | + credential = koyeb.api_async.Credential() # Credential | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update credential + api_response = await api_instance.update_credential2(id, credential, update_mask=update_mask) + print("The response of CredentialsApi->update_credential2:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CredentialsApi->update_credential2: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **credential** | [**Credential**](Credential.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UpdateCredentialReply**](UpdateCredentialReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/DatabaseDeploymentMetadata.md b/koyeb/api_async/docs/DatabaseDeploymentMetadata.md new file mode 100644 index 00000000..8f3df280 --- /dev/null +++ b/koyeb/api_async/docs/DatabaseDeploymentMetadata.md @@ -0,0 +1,29 @@ +# DatabaseDeploymentMetadata + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**neon_postgres** | [**NeonPostgresDatabaseDeploymentMetadata**](NeonPostgresDatabaseDeploymentMetadata.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.database_deployment_metadata import DatabaseDeploymentMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of DatabaseDeploymentMetadata from a JSON string +database_deployment_metadata_instance = DatabaseDeploymentMetadata.from_json(json) +# print the JSON string representation of the object +print(DatabaseDeploymentMetadata.to_json()) + +# convert the object into a dict +database_deployment_metadata_dict = database_deployment_metadata_instance.to_dict() +# create an instance of DatabaseDeploymentMetadata from a dict +database_deployment_metadata_from_dict = DatabaseDeploymentMetadata.from_dict(database_deployment_metadata_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DatabaseRolePassword.md b/koyeb/api_async/docs/DatabaseRolePassword.md new file mode 100644 index 00000000..503c3b14 --- /dev/null +++ b/koyeb/api_async/docs/DatabaseRolePassword.md @@ -0,0 +1,30 @@ +# DatabaseRolePassword + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | **str** | | [optional] +**password** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.database_role_password import DatabaseRolePassword + +# TODO update the JSON string below +json = "{}" +# create an instance of DatabaseRolePassword from a JSON string +database_role_password_instance = DatabaseRolePassword.from_json(json) +# print the JSON string representation of the object +print(DatabaseRolePassword.to_json()) + +# convert the object into a dict +database_role_password_dict = database_role_password_instance.to_dict() +# create an instance of DatabaseRolePassword from a dict +database_role_password_from_dict = DatabaseRolePassword.from_dict(database_role_password_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DatabaseSource.md b/koyeb/api_async/docs/DatabaseSource.md new file mode 100644 index 00000000..30476f37 --- /dev/null +++ b/koyeb/api_async/docs/DatabaseSource.md @@ -0,0 +1,29 @@ +# DatabaseSource + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**neon_postgres** | [**NeonPostgresDatabase**](NeonPostgresDatabase.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.database_source import DatabaseSource + +# TODO update the JSON string below +json = "{}" +# create an instance of DatabaseSource from a JSON string +database_source_instance = DatabaseSource.from_json(json) +# print the JSON string representation of the object +print(DatabaseSource.to_json()) + +# convert the object into a dict +database_source_dict = database_source_instance.to_dict() +# create an instance of DatabaseSource from a dict +database_source_from_dict = DatabaseSource.from_dict(database_source_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DatabaseUsage.md b/koyeb/api_async/docs/DatabaseUsage.md new file mode 100644 index 00000000..b8127f5c --- /dev/null +++ b/koyeb/api_async/docs/DatabaseUsage.md @@ -0,0 +1,32 @@ +# DatabaseUsage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**service_id** | **str** | | [optional] +**service_name** | **str** | | [optional] +**compute_time_seconds** | **int** | | [optional] +**data_storage_megabytes_hours** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.database_usage import DatabaseUsage + +# TODO update the JSON string below +json = "{}" +# create an instance of DatabaseUsage from a JSON string +database_usage_instance = DatabaseUsage.from_json(json) +# print the JSON string representation of the object +print(DatabaseUsage.to_json()) + +# convert the object into a dict +database_usage_dict = database_usage_instance.to_dict() +# create an instance of DatabaseUsage from a dict +database_usage_from_dict = DatabaseUsage.from_dict(database_usage_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DatabaseUsageDetails.md b/koyeb/api_async/docs/DatabaseUsageDetails.md new file mode 100644 index 00000000..1259e725 --- /dev/null +++ b/koyeb/api_async/docs/DatabaseUsageDetails.md @@ -0,0 +1,37 @@ +# DatabaseUsageDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**app_name** | **str** | | [optional] +**service_id** | **str** | | [optional] +**service_name** | **str** | | [optional] +**compute_time_seconds** | **int** | | [optional] +**data_storage_megabytes_hour** | **int** | | [optional] +**started_at** | **datetime** | | [optional] +**terminated_at** | **datetime** | | [optional] + +## Example + +```python +from koyeb.api_async.models.database_usage_details import DatabaseUsageDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of DatabaseUsageDetails from a JSON string +database_usage_details_instance = DatabaseUsageDetails.from_json(json) +# print the JSON string representation of the object +print(DatabaseUsageDetails.to_json()) + +# convert the object into a dict +database_usage_details_dict = database_usage_details_instance.to_dict() +# create an instance of DatabaseUsageDetails from a dict +database_usage_details_from_dict = DatabaseUsageDetails.from_dict(database_usage_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DatacenterListItem.md b/koyeb/api_async/docs/DatacenterListItem.md new file mode 100644 index 00000000..bbe01c18 --- /dev/null +++ b/koyeb/api_async/docs/DatacenterListItem.md @@ -0,0 +1,34 @@ +# DatacenterListItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**region_id** | **str** | | [optional] +**domain** | **str** | | [optional] +**coordinates** | **List[str]** | | [optional] +**use_gpu** | **bool** | | [optional] +**regions** | **List[str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.datacenter_list_item import DatacenterListItem + +# TODO update the JSON string below +json = "{}" +# create an instance of DatacenterListItem from a JSON string +datacenter_list_item_instance = DatacenterListItem.from_json(json) +# print the JSON string representation of the object +print(DatacenterListItem.to_json()) + +# convert the object into a dict +datacenter_list_item_dict = datacenter_list_item_instance.to_dict() +# create an instance of DatacenterListItem from a dict +datacenter_list_item_from_dict = DatacenterListItem.from_dict(datacenter_list_item_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeactivateOrganizationReply.md b/koyeb/api_async/docs/DeactivateOrganizationReply.md new file mode 100644 index 00000000..61fd8a9d --- /dev/null +++ b/koyeb/api_async/docs/DeactivateOrganizationReply.md @@ -0,0 +1,29 @@ +# DeactivateOrganizationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | [**Organization**](Organization.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.deactivate_organization_reply import DeactivateOrganizationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of DeactivateOrganizationReply from a JSON string +deactivate_organization_reply_instance = DeactivateOrganizationReply.from_json(json) +# print the JSON string representation of the object +print(DeactivateOrganizationReply.to_json()) + +# convert the object into a dict +deactivate_organization_reply_dict = deactivate_organization_reply_instance.to_dict() +# create an instance of DeactivateOrganizationReply from a dict +deactivate_organization_reply_from_dict = DeactivateOrganizationReply.from_dict(deactivate_organization_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeactivateOrganizationRequest.md b/koyeb/api_async/docs/DeactivateOrganizationRequest.md new file mode 100644 index 00000000..3b679420 --- /dev/null +++ b/koyeb/api_async/docs/DeactivateOrganizationRequest.md @@ -0,0 +1,29 @@ +# DeactivateOrganizationRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**skip_confirmation** | **bool** | if set to true, skip_confirmation will directly start the deactivation process, without sending a confirmation email beforehand. | [optional] + +## Example + +```python +from koyeb.api_async.models.deactivate_organization_request import DeactivateOrganizationRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of DeactivateOrganizationRequest from a JSON string +deactivate_organization_request_instance = DeactivateOrganizationRequest.from_json(json) +# print the JSON string representation of the object +print(DeactivateOrganizationRequest.to_json()) + +# convert the object into a dict +deactivate_organization_request_dict = deactivate_organization_request_instance.to_dict() +# create an instance of DeactivateOrganizationRequest from a dict +deactivate_organization_request_from_dict = DeactivateOrganizationRequest.from_dict(deactivate_organization_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeclareStageProgressRequest.md b/koyeb/api_async/docs/DeclareStageProgressRequest.md new file mode 100644 index 00000000..d4c9022f --- /dev/null +++ b/koyeb/api_async/docs/DeclareStageProgressRequest.md @@ -0,0 +1,35 @@ +# DeclareStageProgressRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**secret** | **str** | | [optional] +**status** | [**DeploymentProvisioningInfoStageStatus**](DeploymentProvisioningInfoStageStatus.md) | | [optional] [default to DeploymentProvisioningInfoStageStatus.UNKNOWN] +**finished_at** | **datetime** | | [optional] +**messages** | **List[str]** | | [optional] +**image_pushed** | **bool** | | [optional] +**internal_failure** | **bool** | | [optional] +**retryable_failure** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.declare_stage_progress_request import DeclareStageProgressRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of DeclareStageProgressRequest from a JSON string +declare_stage_progress_request_instance = DeclareStageProgressRequest.from_json(json) +# print the JSON string representation of the object +print(DeclareStageProgressRequest.to_json()) + +# convert the object into a dict +declare_stage_progress_request_dict = declare_stage_progress_request_instance.to_dict() +# create an instance of DeclareStageProgressRequest from a dict +declare_stage_progress_request_from_dict = DeclareStageProgressRequest.from_dict(declare_stage_progress_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeclareStepProgressRequest.md b/koyeb/api_async/docs/DeclareStepProgressRequest.md new file mode 100644 index 00000000..b5b3d26c --- /dev/null +++ b/koyeb/api_async/docs/DeclareStepProgressRequest.md @@ -0,0 +1,33 @@ +# DeclareStepProgressRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**secret** | **str** | | [optional] +**status** | [**DeploymentProvisioningInfoStageStatus**](DeploymentProvisioningInfoStageStatus.md) | | [optional] [default to DeploymentProvisioningInfoStageStatus.UNKNOWN] +**started_at** | **datetime** | | [optional] +**finished_at** | **datetime** | | [optional] +**messages** | **List[str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.declare_step_progress_request import DeclareStepProgressRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of DeclareStepProgressRequest from a JSON string +declare_step_progress_request_instance = DeclareStepProgressRequest.from_json(json) +# print the JSON string representation of the object +print(DeclareStepProgressRequest.to_json()) + +# convert the object into a dict +declare_step_progress_request_dict = declare_step_progress_request_instance.to_dict() +# create an instance of DeclareStepProgressRequest from a dict +declare_step_progress_request_from_dict = DeclareStepProgressRequest.from_dict(declare_step_progress_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeclineOrganizationInvitationReply.md b/koyeb/api_async/docs/DeclineOrganizationInvitationReply.md new file mode 100644 index 00000000..1417d64f --- /dev/null +++ b/koyeb/api_async/docs/DeclineOrganizationInvitationReply.md @@ -0,0 +1,29 @@ +# DeclineOrganizationInvitationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**invitation** | [**OrganizationInvitation**](OrganizationInvitation.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.decline_organization_invitation_reply import DeclineOrganizationInvitationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of DeclineOrganizationInvitationReply from a JSON string +decline_organization_invitation_reply_instance = DeclineOrganizationInvitationReply.from_json(json) +# print the JSON string representation of the object +print(DeclineOrganizationInvitationReply.to_json()) + +# convert the object into a dict +decline_organization_invitation_reply_dict = decline_organization_invitation_reply_instance.to_dict() +# create an instance of DeclineOrganizationInvitationReply from a dict +decline_organization_invitation_reply_from_dict = DeclineOrganizationInvitationReply.from_dict(decline_organization_invitation_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeleteOrganizationReply.md b/koyeb/api_async/docs/DeleteOrganizationReply.md new file mode 100644 index 00000000..3aeb4677 --- /dev/null +++ b/koyeb/api_async/docs/DeleteOrganizationReply.md @@ -0,0 +1,29 @@ +# DeleteOrganizationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | [**Organization**](Organization.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.delete_organization_reply import DeleteOrganizationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of DeleteOrganizationReply from a JSON string +delete_organization_reply_instance = DeleteOrganizationReply.from_json(json) +# print the JSON string representation of the object +print(DeleteOrganizationReply.to_json()) + +# convert the object into a dict +delete_organization_reply_dict = delete_organization_reply_instance.to_dict() +# create an instance of DeleteOrganizationReply from a dict +delete_organization_reply_from_dict = DeleteOrganizationReply.from_dict(delete_organization_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeletePersistentVolumeReply.md b/koyeb/api_async/docs/DeletePersistentVolumeReply.md new file mode 100644 index 00000000..fe10fbe2 --- /dev/null +++ b/koyeb/api_async/docs/DeletePersistentVolumeReply.md @@ -0,0 +1,29 @@ +# DeletePersistentVolumeReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**volume** | [**PersistentVolume**](PersistentVolume.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.delete_persistent_volume_reply import DeletePersistentVolumeReply + +# TODO update the JSON string below +json = "{}" +# create an instance of DeletePersistentVolumeReply from a JSON string +delete_persistent_volume_reply_instance = DeletePersistentVolumeReply.from_json(json) +# print the JSON string representation of the object +print(DeletePersistentVolumeReply.to_json()) + +# convert the object into a dict +delete_persistent_volume_reply_dict = delete_persistent_volume_reply_instance.to_dict() +# create an instance of DeletePersistentVolumeReply from a dict +delete_persistent_volume_reply_from_dict = DeletePersistentVolumeReply.from_dict(delete_persistent_volume_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeleteSnapshotReply.md b/koyeb/api_async/docs/DeleteSnapshotReply.md new file mode 100644 index 00000000..eafe9d04 --- /dev/null +++ b/koyeb/api_async/docs/DeleteSnapshotReply.md @@ -0,0 +1,29 @@ +# DeleteSnapshotReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**snapshot** | [**Snapshot**](Snapshot.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.delete_snapshot_reply import DeleteSnapshotReply + +# TODO update the JSON string below +json = "{}" +# create an instance of DeleteSnapshotReply from a JSON string +delete_snapshot_reply_instance = DeleteSnapshotReply.from_json(json) +# print the JSON string representation of the object +print(DeleteSnapshotReply.to_json()) + +# convert the object into a dict +delete_snapshot_reply_dict = delete_snapshot_reply_instance.to_dict() +# create an instance of DeleteSnapshotReply from a dict +delete_snapshot_reply_from_dict = DeleteSnapshotReply.from_dict(delete_snapshot_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeleteUserReply.md b/koyeb/api_async/docs/DeleteUserReply.md new file mode 100644 index 00000000..54f996d3 --- /dev/null +++ b/koyeb/api_async/docs/DeleteUserReply.md @@ -0,0 +1,29 @@ +# DeleteUserReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | [**User**](User.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.delete_user_reply import DeleteUserReply + +# TODO update the JSON string below +json = "{}" +# create an instance of DeleteUserReply from a JSON string +delete_user_reply_instance = DeleteUserReply.from_json(json) +# print the JSON string representation of the object +print(DeleteUserReply.to_json()) + +# convert the object into a dict +delete_user_reply_dict = delete_user_reply_instance.to_dict() +# create an instance of DeleteUserReply from a dict +delete_user_reply_from_dict = DeleteUserReply.from_dict(delete_user_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Deployment.md b/koyeb/api_async/docs/Deployment.md new file mode 100644 index 00000000..5f184e0c --- /dev/null +++ b/koyeb/api_async/docs/Deployment.md @@ -0,0 +1,50 @@ +# Deployment + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**allocated_at** | **datetime** | | [optional] +**started_at** | **datetime** | | [optional] +**succeeded_at** | **datetime** | | [optional] +**terminated_at** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**service_id** | **str** | | [optional] +**parent_id** | **str** | | [optional] +**child_id** | **str** | | [optional] +**status** | [**DeploymentStatus**](DeploymentStatus.md) | | [optional] [default to DeploymentStatus.PENDING] +**metadata** | [**DeploymentMetadata**](DeploymentMetadata.md) | | [optional] +**definition** | [**DeploymentDefinition**](DeploymentDefinition.md) | | [optional] +**messages** | **List[str]** | | [optional] +**provisioning_info** | [**DeploymentProvisioningInfo**](DeploymentProvisioningInfo.md) | | [optional] +**database_info** | [**DeploymentDatabaseInfo**](DeploymentDatabaseInfo.md) | | [optional] +**skip_build** | **bool** | | [optional] +**role** | [**DeploymentRole**](DeploymentRole.md) | | [optional] [default to DeploymentRole.INVALID] +**version** | **str** | | [optional] +**deployment_group** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment import Deployment + +# TODO update the JSON string below +json = "{}" +# create an instance of Deployment from a JSON string +deployment_instance = Deployment.from_json(json) +# print the JSON string representation of the object +print(Deployment.to_json()) + +# convert the object into a dict +deployment_dict = deployment_instance.to_dict() +# create an instance of Deployment from a dict +deployment_from_dict = Deployment.from_dict(deployment_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentDatabaseInfo.md b/koyeb/api_async/docs/DeploymentDatabaseInfo.md new file mode 100644 index 00000000..82b6b64f --- /dev/null +++ b/koyeb/api_async/docs/DeploymentDatabaseInfo.md @@ -0,0 +1,29 @@ +# DeploymentDatabaseInfo + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**neon_postgres** | [**DeploymentNeonPostgresDatabaseInfo**](DeploymentNeonPostgresDatabaseInfo.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_database_info import DeploymentDatabaseInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentDatabaseInfo from a JSON string +deployment_database_info_instance = DeploymentDatabaseInfo.from_json(json) +# print the JSON string representation of the object +print(DeploymentDatabaseInfo.to_json()) + +# convert the object into a dict +deployment_database_info_dict = deployment_database_info_instance.to_dict() +# create an instance of DeploymentDatabaseInfo from a dict +deployment_database_info_from_dict = DeploymentDatabaseInfo.from_dict(deployment_database_info_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentDefinition.md b/koyeb/api_async/docs/DeploymentDefinition.md new file mode 100644 index 00000000..b4424473 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentDefinition.md @@ -0,0 +1,47 @@ +# DeploymentDefinition + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**type** | [**DeploymentDefinitionType**](DeploymentDefinitionType.md) | | [optional] [default to DeploymentDefinitionType.INVALID] +**strategy** | [**DeploymentStrategy**](DeploymentStrategy.md) | | [optional] +**routes** | [**List[DeploymentRoute]**](DeploymentRoute.md) | | [optional] +**ports** | [**List[DeploymentPort]**](DeploymentPort.md) | | [optional] +**proxy_ports** | [**List[DeploymentProxyPort]**](DeploymentProxyPort.md) | | [optional] +**env** | [**List[DeploymentEnv]**](DeploymentEnv.md) | | [optional] +**regions** | **List[str]** | | [optional] +**scalings** | [**List[DeploymentScaling]**](DeploymentScaling.md) | | [optional] +**instance_types** | [**List[DeploymentInstanceType]**](DeploymentInstanceType.md) | | [optional] +**health_checks** | [**List[DeploymentHealthCheck]**](DeploymentHealthCheck.md) | | [optional] +**volumes** | [**List[DeploymentVolume]**](DeploymentVolume.md) | | [optional] +**config_files** | [**List[ConfigFile]**](ConfigFile.md) | | [optional] +**skip_cache** | **bool** | | [optional] +**mesh** | [**DeploymentMesh**](DeploymentMesh.md) | | [optional] [default to DeploymentMesh.DEPLOYMENT_MESH_AUTO] +**docker** | [**DockerSource**](DockerSource.md) | | [optional] +**git** | [**GitSource**](GitSource.md) | | [optional] +**database** | [**DatabaseSource**](DatabaseSource.md) | | [optional] +**archive** | [**ArchiveSource**](ArchiveSource.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_definition import DeploymentDefinition + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentDefinition from a JSON string +deployment_definition_instance = DeploymentDefinition.from_json(json) +# print the JSON string representation of the object +print(DeploymentDefinition.to_json()) + +# convert the object into a dict +deployment_definition_dict = deployment_definition_instance.to_dict() +# create an instance of DeploymentDefinition from a dict +deployment_definition_from_dict = DeploymentDefinition.from_dict(deployment_definition_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentDefinitionType.md b/koyeb/api_async/docs/DeploymentDefinitionType.md new file mode 100644 index 00000000..5e50e67b --- /dev/null +++ b/koyeb/api_async/docs/DeploymentDefinitionType.md @@ -0,0 +1,18 @@ +# DeploymentDefinitionType + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `WEB` (value: `'WEB'`) + +* `WORKER` (value: `'WORKER'`) + +* `DATABASE` (value: `'DATABASE'`) + +* `SANDBOX` (value: `'SANDBOX'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentEnv.md b/koyeb/api_async/docs/DeploymentEnv.md new file mode 100644 index 00000000..e9aa3636 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentEnv.md @@ -0,0 +1,32 @@ +# DeploymentEnv + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**scopes** | **List[str]** | | [optional] +**key** | **str** | | [optional] +**value** | **str** | | [optional] +**secret** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_env import DeploymentEnv + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentEnv from a JSON string +deployment_env_instance = DeploymentEnv.from_json(json) +# print the JSON string representation of the object +print(DeploymentEnv.to_json()) + +# convert the object into a dict +deployment_env_dict = deployment_env_instance.to_dict() +# create an instance of DeploymentEnv from a dict +deployment_env_from_dict = DeploymentEnv.from_dict(deployment_env_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentEvent.md b/koyeb/api_async/docs/DeploymentEvent.md new file mode 100644 index 00000000..e367e231 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentEvent.md @@ -0,0 +1,35 @@ +# DeploymentEvent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**when** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**deployment_id** | **str** | | [optional] +**type** | **str** | | [optional] +**message** | **str** | | [optional] +**metadata** | **object** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_event import DeploymentEvent + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentEvent from a JSON string +deployment_event_instance = DeploymentEvent.from_json(json) +# print the JSON string representation of the object +print(DeploymentEvent.to_json()) + +# convert the object into a dict +deployment_event_dict = deployment_event_instance.to_dict() +# create an instance of DeploymentEvent from a dict +deployment_event_from_dict = DeploymentEvent.from_dict(deployment_event_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentHealthCheck.md b/koyeb/api_async/docs/DeploymentHealthCheck.md new file mode 100644 index 00000000..52ff534a --- /dev/null +++ b/koyeb/api_async/docs/DeploymentHealthCheck.md @@ -0,0 +1,34 @@ +# DeploymentHealthCheck + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**grace_period** | **int** | | [optional] +**interval** | **int** | | [optional] +**restart_limit** | **int** | | [optional] +**timeout** | **int** | | [optional] +**tcp** | [**TCPHealthCheck**](TCPHealthCheck.md) | | [optional] +**http** | [**HTTPHealthCheck**](HTTPHealthCheck.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_health_check import DeploymentHealthCheck + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentHealthCheck from a JSON string +deployment_health_check_instance = DeploymentHealthCheck.from_json(json) +# print the JSON string representation of the object +print(DeploymentHealthCheck.to_json()) + +# convert the object into a dict +deployment_health_check_dict = deployment_health_check_instance.to_dict() +# create an instance of DeploymentHealthCheck from a dict +deployment_health_check_from_dict = DeploymentHealthCheck.from_dict(deployment_health_check_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentInstanceType.md b/koyeb/api_async/docs/DeploymentInstanceType.md new file mode 100644 index 00000000..38680c0c --- /dev/null +++ b/koyeb/api_async/docs/DeploymentInstanceType.md @@ -0,0 +1,30 @@ +# DeploymentInstanceType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**scopes** | **List[str]** | | [optional] +**type** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_instance_type import DeploymentInstanceType + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentInstanceType from a JSON string +deployment_instance_type_instance = DeploymentInstanceType.from_json(json) +# print the JSON string representation of the object +print(DeploymentInstanceType.to_json()) + +# convert the object into a dict +deployment_instance_type_dict = deployment_instance_type_instance.to_dict() +# create an instance of DeploymentInstanceType from a dict +deployment_instance_type_from_dict = DeploymentInstanceType.from_dict(deployment_instance_type_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentListItem.md b/koyeb/api_async/docs/DeploymentListItem.md new file mode 100644 index 00000000..e587d5ef --- /dev/null +++ b/koyeb/api_async/docs/DeploymentListItem.md @@ -0,0 +1,48 @@ +# DeploymentListItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**allocated_at** | **datetime** | | [optional] +**started_at** | **datetime** | | [optional] +**succeeded_at** | **datetime** | | [optional] +**terminated_at** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**service_id** | **str** | | [optional] +**parent_id** | **str** | | [optional] +**child_id** | **str** | | [optional] +**status** | [**DeploymentStatus**](DeploymentStatus.md) | | [optional] [default to DeploymentStatus.PENDING] +**metadata** | [**DeploymentMetadata**](DeploymentMetadata.md) | | [optional] +**definition** | [**DeploymentDefinition**](DeploymentDefinition.md) | | [optional] +**messages** | **List[str]** | | [optional] +**provisioning_info** | [**DeploymentProvisioningInfo**](DeploymentProvisioningInfo.md) | | [optional] +**database_info** | [**DeploymentDatabaseInfo**](DeploymentDatabaseInfo.md) | | [optional] +**version** | **str** | | [optional] +**deployment_group** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_list_item import DeploymentListItem + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentListItem from a JSON string +deployment_list_item_instance = DeploymentListItem.from_json(json) +# print the JSON string representation of the object +print(DeploymentListItem.to_json()) + +# convert the object into a dict +deployment_list_item_dict = deployment_list_item_instance.to_dict() +# create an instance of DeploymentListItem from a dict +deployment_list_item_from_dict = DeploymentListItem.from_dict(deployment_list_item_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentMesh.md b/koyeb/api_async/docs/DeploymentMesh.md new file mode 100644 index 00000000..265df02f --- /dev/null +++ b/koyeb/api_async/docs/DeploymentMesh.md @@ -0,0 +1,14 @@ +# DeploymentMesh + + +## Enum + +* `DEPLOYMENT_MESH_AUTO` (value: `'DEPLOYMENT_MESH_AUTO'`) + +* `DEPLOYMENT_MESH_ENABLED` (value: `'DEPLOYMENT_MESH_ENABLED'`) + +* `DEPLOYMENT_MESH_DISABLED` (value: `'DEPLOYMENT_MESH_DISABLED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentMetadata.md b/koyeb/api_async/docs/DeploymentMetadata.md new file mode 100644 index 00000000..476064f8 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentMetadata.md @@ -0,0 +1,34 @@ +# DeploymentMetadata + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**trigger** | [**TriggerDeploymentMetadata**](TriggerDeploymentMetadata.md) | | [optional] +**database** | [**DatabaseDeploymentMetadata**](DatabaseDeploymentMetadata.md) | | [optional] +**git** | [**GitDeploymentMetadata**](GitDeploymentMetadata.md) | | [optional] +**archive** | [**ArchiveDeploymentMetadata**](ArchiveDeploymentMetadata.md) | | [optional] +**proxy_ports** | [**List[DeploymentProxyPortMetadata]**](DeploymentProxyPortMetadata.md) | | [optional] +**sandbox** | [**SandboxMetadata**](SandboxMetadata.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_metadata import DeploymentMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentMetadata from a JSON string +deployment_metadata_instance = DeploymentMetadata.from_json(json) +# print the JSON string representation of the object +print(DeploymentMetadata.to_json()) + +# convert the object into a dict +deployment_metadata_dict = deployment_metadata_instance.to_dict() +# create an instance of DeploymentMetadata from a dict +deployment_metadata_from_dict = DeploymentMetadata.from_dict(deployment_metadata_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentNeonPostgresDatabaseInfo.md b/koyeb/api_async/docs/DeploymentNeonPostgresDatabaseInfo.md new file mode 100644 index 00000000..d01f87aa --- /dev/null +++ b/koyeb/api_async/docs/DeploymentNeonPostgresDatabaseInfo.md @@ -0,0 +1,42 @@ +# DeploymentNeonPostgresDatabaseInfo + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**active_time_seconds** | **str** | | [optional] +**compute_time_seconds** | **str** | | [optional] +**written_data_bytes** | **str** | | [optional] +**data_transfer_bytes** | **str** | | [optional] +**data_storage_bytes_hour** | **str** | | [optional] +**server_host** | **str** | | [optional] +**server_port** | **int** | | [optional] +**endpoint_state** | **str** | | [optional] +**endpoint_last_active** | **datetime** | | [optional] +**default_branch_id** | **str** | | [optional] +**default_branch_name** | **str** | | [optional] +**default_branch_state** | **str** | | [optional] +**default_branch_logical_size** | **str** | | [optional] +**roles** | [**List[DeploymentNeonPostgresDatabaseInfoRole]**](DeploymentNeonPostgresDatabaseInfoRole.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_neon_postgres_database_info import DeploymentNeonPostgresDatabaseInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentNeonPostgresDatabaseInfo from a JSON string +deployment_neon_postgres_database_info_instance = DeploymentNeonPostgresDatabaseInfo.from_json(json) +# print the JSON string representation of the object +print(DeploymentNeonPostgresDatabaseInfo.to_json()) + +# convert the object into a dict +deployment_neon_postgres_database_info_dict = deployment_neon_postgres_database_info_instance.to_dict() +# create an instance of DeploymentNeonPostgresDatabaseInfo from a dict +deployment_neon_postgres_database_info_from_dict = DeploymentNeonPostgresDatabaseInfo.from_dict(deployment_neon_postgres_database_info_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentNeonPostgresDatabaseInfoRole.md b/koyeb/api_async/docs/DeploymentNeonPostgresDatabaseInfoRole.md new file mode 100644 index 00000000..c4036341 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentNeonPostgresDatabaseInfoRole.md @@ -0,0 +1,30 @@ +# DeploymentNeonPostgresDatabaseInfoRole + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**secret_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_neon_postgres_database_info_role import DeploymentNeonPostgresDatabaseInfoRole + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentNeonPostgresDatabaseInfoRole from a JSON string +deployment_neon_postgres_database_info_role_instance = DeploymentNeonPostgresDatabaseInfoRole.from_json(json) +# print the JSON string representation of the object +print(DeploymentNeonPostgresDatabaseInfoRole.to_json()) + +# convert the object into a dict +deployment_neon_postgres_database_info_role_dict = deployment_neon_postgres_database_info_role_instance.to_dict() +# create an instance of DeploymentNeonPostgresDatabaseInfoRole from a dict +deployment_neon_postgres_database_info_role_from_dict = DeploymentNeonPostgresDatabaseInfoRole.from_dict(deployment_neon_postgres_database_info_role_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentPort.md b/koyeb/api_async/docs/DeploymentPort.md new file mode 100644 index 00000000..11927fd3 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentPort.md @@ -0,0 +1,30 @@ +# DeploymentPort + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**port** | **int** | | [optional] +**protocol** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_port import DeploymentPort + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentPort from a JSON string +deployment_port_instance = DeploymentPort.from_json(json) +# print the JSON string representation of the object +print(DeploymentPort.to_json()) + +# convert the object into a dict +deployment_port_dict = deployment_port_instance.to_dict() +# create an instance of DeploymentPort from a dict +deployment_port_from_dict = DeploymentPort.from_dict(deployment_port_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentProvisioningInfo.md b/koyeb/api_async/docs/DeploymentProvisioningInfo.md new file mode 100644 index 00000000..6eb16bf5 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentProvisioningInfo.md @@ -0,0 +1,31 @@ +# DeploymentProvisioningInfo + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sha** | **str** | The git sha for this build (we resolve the reference at the start of the build). | [optional] +**image** | **str** | The docker image built as a result of this build. | [optional] +**stages** | [**List[DeploymentProvisioningInfoStage]**](DeploymentProvisioningInfoStage.md) | Some info about the build. | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_provisioning_info import DeploymentProvisioningInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentProvisioningInfo from a JSON string +deployment_provisioning_info_instance = DeploymentProvisioningInfo.from_json(json) +# print the JSON string representation of the object +print(DeploymentProvisioningInfo.to_json()) + +# convert the object into a dict +deployment_provisioning_info_dict = deployment_provisioning_info_instance.to_dict() +# create an instance of DeploymentProvisioningInfo from a dict +deployment_provisioning_info_from_dict = DeploymentProvisioningInfo.from_dict(deployment_provisioning_info_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentProvisioningInfoStage.md b/koyeb/api_async/docs/DeploymentProvisioningInfoStage.md new file mode 100644 index 00000000..1d0f0f19 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentProvisioningInfoStage.md @@ -0,0 +1,34 @@ +# DeploymentProvisioningInfoStage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**status** | [**DeploymentProvisioningInfoStageStatus**](DeploymentProvisioningInfoStageStatus.md) | | [optional] [default to DeploymentProvisioningInfoStageStatus.UNKNOWN] +**messages** | **List[str]** | | [optional] +**started_at** | **datetime** | | [optional] +**finished_at** | **datetime** | | [optional] +**build_attempts** | [**List[DeploymentProvisioningInfoStageBuildAttempt]**](DeploymentProvisioningInfoStageBuildAttempt.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_provisioning_info_stage import DeploymentProvisioningInfoStage + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentProvisioningInfoStage from a JSON string +deployment_provisioning_info_stage_instance = DeploymentProvisioningInfoStage.from_json(json) +# print the JSON string representation of the object +print(DeploymentProvisioningInfoStage.to_json()) + +# convert the object into a dict +deployment_provisioning_info_stage_dict = deployment_provisioning_info_stage_instance.to_dict() +# create an instance of DeploymentProvisioningInfoStage from a dict +deployment_provisioning_info_stage_from_dict = DeploymentProvisioningInfoStage.from_dict(deployment_provisioning_info_stage_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentProvisioningInfoStageBuildAttempt.md b/koyeb/api_async/docs/DeploymentProvisioningInfoStageBuildAttempt.md new file mode 100644 index 00000000..95facab9 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentProvisioningInfoStageBuildAttempt.md @@ -0,0 +1,38 @@ +# DeploymentProvisioningInfoStageBuildAttempt + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **int** | | [optional] +**status** | [**DeploymentProvisioningInfoStageStatus**](DeploymentProvisioningInfoStageStatus.md) | | [optional] [default to DeploymentProvisioningInfoStageStatus.UNKNOWN] +**messages** | **List[str]** | | [optional] +**started_at** | **datetime** | | [optional] +**finished_at** | **datetime** | | [optional] +**steps** | [**List[DeploymentProvisioningInfoStageBuildAttemptBuildStep]**](DeploymentProvisioningInfoStageBuildAttemptBuildStep.md) | | [optional] +**image_pushed** | **bool** | | [optional] +**internal_failure** | **bool** | | [optional] +**retryable_failure** | **bool** | | [optional] +**wait_completion** | **bool** | This flag is used to finalize the build, and continue the deployment in case of success, or cancel and potentially retry the build in case of failure. | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_provisioning_info_stage_build_attempt import DeploymentProvisioningInfoStageBuildAttempt + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentProvisioningInfoStageBuildAttempt from a JSON string +deployment_provisioning_info_stage_build_attempt_instance = DeploymentProvisioningInfoStageBuildAttempt.from_json(json) +# print the JSON string representation of the object +print(DeploymentProvisioningInfoStageBuildAttempt.to_json()) + +# convert the object into a dict +deployment_provisioning_info_stage_build_attempt_dict = deployment_provisioning_info_stage_build_attempt_instance.to_dict() +# create an instance of DeploymentProvisioningInfoStageBuildAttempt from a dict +deployment_provisioning_info_stage_build_attempt_from_dict = DeploymentProvisioningInfoStageBuildAttempt.from_dict(deployment_provisioning_info_stage_build_attempt_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentProvisioningInfoStageBuildAttemptBuildStep.md b/koyeb/api_async/docs/DeploymentProvisioningInfoStageBuildAttemptBuildStep.md new file mode 100644 index 00000000..33208320 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentProvisioningInfoStageBuildAttemptBuildStep.md @@ -0,0 +1,33 @@ +# DeploymentProvisioningInfoStageBuildAttemptBuildStep + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**status** | [**DeploymentProvisioningInfoStageStatus**](DeploymentProvisioningInfoStageStatus.md) | | [optional] [default to DeploymentProvisioningInfoStageStatus.UNKNOWN] +**messages** | **List[str]** | | [optional] +**started_at** | **datetime** | | [optional] +**finished_at** | **datetime** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_provisioning_info_stage_build_attempt_build_step import DeploymentProvisioningInfoStageBuildAttemptBuildStep + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentProvisioningInfoStageBuildAttemptBuildStep from a JSON string +deployment_provisioning_info_stage_build_attempt_build_step_instance = DeploymentProvisioningInfoStageBuildAttemptBuildStep.from_json(json) +# print the JSON string representation of the object +print(DeploymentProvisioningInfoStageBuildAttemptBuildStep.to_json()) + +# convert the object into a dict +deployment_provisioning_info_stage_build_attempt_build_step_dict = deployment_provisioning_info_stage_build_attempt_build_step_instance.to_dict() +# create an instance of DeploymentProvisioningInfoStageBuildAttemptBuildStep from a dict +deployment_provisioning_info_stage_build_attempt_build_step_from_dict = DeploymentProvisioningInfoStageBuildAttemptBuildStep.from_dict(deployment_provisioning_info_stage_build_attempt_build_step_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentProvisioningInfoStageStatus.md b/koyeb/api_async/docs/DeploymentProvisioningInfoStageStatus.md new file mode 100644 index 00000000..dc9943c2 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentProvisioningInfoStageStatus.md @@ -0,0 +1,20 @@ +# DeploymentProvisioningInfoStageStatus + + +## Enum + +* `UNKNOWN` (value: `'UNKNOWN'`) + +* `PENDING` (value: `'PENDING'`) + +* `RUNNING` (value: `'RUNNING'`) + +* `FAILED` (value: `'FAILED'`) + +* `COMPLETED` (value: `'COMPLETED'`) + +* `ABORTED` (value: `'ABORTED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentProxyPort.md b/koyeb/api_async/docs/DeploymentProxyPort.md new file mode 100644 index 00000000..1e4528af --- /dev/null +++ b/koyeb/api_async/docs/DeploymentProxyPort.md @@ -0,0 +1,30 @@ +# DeploymentProxyPort + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**port** | **int** | | [optional] +**protocol** | [**ProxyPortProtocol**](ProxyPortProtocol.md) | | [optional] [default to ProxyPortProtocol.TCP] + +## Example + +```python +from koyeb.api_async.models.deployment_proxy_port import DeploymentProxyPort + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentProxyPort from a JSON string +deployment_proxy_port_instance = DeploymentProxyPort.from_json(json) +# print the JSON string representation of the object +print(DeploymentProxyPort.to_json()) + +# convert the object into a dict +deployment_proxy_port_dict = deployment_proxy_port_instance.to_dict() +# create an instance of DeploymentProxyPort from a dict +deployment_proxy_port_from_dict = DeploymentProxyPort.from_dict(deployment_proxy_port_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentProxyPortMetadata.md b/koyeb/api_async/docs/DeploymentProxyPortMetadata.md new file mode 100644 index 00000000..7f7e1e21 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentProxyPortMetadata.md @@ -0,0 +1,32 @@ +# DeploymentProxyPortMetadata + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**host** | **str** | | [optional] +**public_port** | **int** | | [optional] +**port** | **int** | | [optional] +**protocol** | [**ProxyPortProtocol**](ProxyPortProtocol.md) | | [optional] [default to ProxyPortProtocol.TCP] + +## Example + +```python +from koyeb.api_async.models.deployment_proxy_port_metadata import DeploymentProxyPortMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentProxyPortMetadata from a JSON string +deployment_proxy_port_metadata_instance = DeploymentProxyPortMetadata.from_json(json) +# print the JSON string representation of the object +print(DeploymentProxyPortMetadata.to_json()) + +# convert the object into a dict +deployment_proxy_port_metadata_dict = deployment_proxy_port_metadata_instance.to_dict() +# create an instance of DeploymentProxyPortMetadata from a dict +deployment_proxy_port_metadata_from_dict = DeploymentProxyPortMetadata.from_dict(deployment_proxy_port_metadata_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentRole.md b/koyeb/api_async/docs/DeploymentRole.md new file mode 100644 index 00000000..3e4e5f8b --- /dev/null +++ b/koyeb/api_async/docs/DeploymentRole.md @@ -0,0 +1,16 @@ +# DeploymentRole + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `ACTIVE` (value: `'ACTIVE'`) + +* `UPCOMING` (value: `'UPCOMING'`) + +* `CURRENT` (value: `'CURRENT'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentRoute.md b/koyeb/api_async/docs/DeploymentRoute.md new file mode 100644 index 00000000..8ce18e6a --- /dev/null +++ b/koyeb/api_async/docs/DeploymentRoute.md @@ -0,0 +1,31 @@ +# DeploymentRoute + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**port** | **int** | | [optional] +**path** | **str** | | [optional] +**security_policies** | [**SecurityPolicies**](SecurityPolicies.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_route import DeploymentRoute + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentRoute from a JSON string +deployment_route_instance = DeploymentRoute.from_json(json) +# print the JSON string representation of the object +print(DeploymentRoute.to_json()) + +# convert the object into a dict +deployment_route_dict = deployment_route_instance.to_dict() +# create an instance of DeploymentRoute from a dict +deployment_route_from_dict = DeploymentRoute.from_dict(deployment_route_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentScaling.md b/koyeb/api_async/docs/DeploymentScaling.md new file mode 100644 index 00000000..097d558c --- /dev/null +++ b/koyeb/api_async/docs/DeploymentScaling.md @@ -0,0 +1,32 @@ +# DeploymentScaling + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**scopes** | **List[str]** | | [optional] +**min** | **int** | | [optional] +**max** | **int** | | [optional] +**targets** | [**List[DeploymentScalingTarget]**](DeploymentScalingTarget.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_scaling import DeploymentScaling + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentScaling from a JSON string +deployment_scaling_instance = DeploymentScaling.from_json(json) +# print the JSON string representation of the object +print(DeploymentScaling.to_json()) + +# convert the object into a dict +deployment_scaling_dict = deployment_scaling_instance.to_dict() +# create an instance of DeploymentScaling from a dict +deployment_scaling_from_dict = DeploymentScaling.from_dict(deployment_scaling_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentScalingTarget.md b/koyeb/api_async/docs/DeploymentScalingTarget.md new file mode 100644 index 00000000..74ed8ac3 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentScalingTarget.md @@ -0,0 +1,34 @@ +# DeploymentScalingTarget + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**average_cpu** | [**DeploymentScalingTargetAverageCPU**](DeploymentScalingTargetAverageCPU.md) | | [optional] +**average_mem** | [**DeploymentScalingTargetAverageMem**](DeploymentScalingTargetAverageMem.md) | | [optional] +**requests_per_second** | [**DeploymentScalingTargetRequestsPerSecond**](DeploymentScalingTargetRequestsPerSecond.md) | | [optional] +**concurrent_requests** | [**DeploymentScalingTargetConcurrentRequests**](DeploymentScalingTargetConcurrentRequests.md) | | [optional] +**requests_response_time** | [**DeploymentScalingTargetRequestsResponseTime**](DeploymentScalingTargetRequestsResponseTime.md) | | [optional] +**sleep_idle_delay** | [**DeploymentScalingTargetSleepIdleDelay**](DeploymentScalingTargetSleepIdleDelay.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_scaling_target import DeploymentScalingTarget + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentScalingTarget from a JSON string +deployment_scaling_target_instance = DeploymentScalingTarget.from_json(json) +# print the JSON string representation of the object +print(DeploymentScalingTarget.to_json()) + +# convert the object into a dict +deployment_scaling_target_dict = deployment_scaling_target_instance.to_dict() +# create an instance of DeploymentScalingTarget from a dict +deployment_scaling_target_from_dict = DeploymentScalingTarget.from_dict(deployment_scaling_target_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentScalingTargetAverageCPU.md b/koyeb/api_async/docs/DeploymentScalingTargetAverageCPU.md new file mode 100644 index 00000000..0d0ab552 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentScalingTargetAverageCPU.md @@ -0,0 +1,29 @@ +# DeploymentScalingTargetAverageCPU + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_scaling_target_average_cpu import DeploymentScalingTargetAverageCPU + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentScalingTargetAverageCPU from a JSON string +deployment_scaling_target_average_cpu_instance = DeploymentScalingTargetAverageCPU.from_json(json) +# print the JSON string representation of the object +print(DeploymentScalingTargetAverageCPU.to_json()) + +# convert the object into a dict +deployment_scaling_target_average_cpu_dict = deployment_scaling_target_average_cpu_instance.to_dict() +# create an instance of DeploymentScalingTargetAverageCPU from a dict +deployment_scaling_target_average_cpu_from_dict = DeploymentScalingTargetAverageCPU.from_dict(deployment_scaling_target_average_cpu_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentScalingTargetAverageMem.md b/koyeb/api_async/docs/DeploymentScalingTargetAverageMem.md new file mode 100644 index 00000000..f6b8858e --- /dev/null +++ b/koyeb/api_async/docs/DeploymentScalingTargetAverageMem.md @@ -0,0 +1,29 @@ +# DeploymentScalingTargetAverageMem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_scaling_target_average_mem import DeploymentScalingTargetAverageMem + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentScalingTargetAverageMem from a JSON string +deployment_scaling_target_average_mem_instance = DeploymentScalingTargetAverageMem.from_json(json) +# print the JSON string representation of the object +print(DeploymentScalingTargetAverageMem.to_json()) + +# convert the object into a dict +deployment_scaling_target_average_mem_dict = deployment_scaling_target_average_mem_instance.to_dict() +# create an instance of DeploymentScalingTargetAverageMem from a dict +deployment_scaling_target_average_mem_from_dict = DeploymentScalingTargetAverageMem.from_dict(deployment_scaling_target_average_mem_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentScalingTargetConcurrentRequests.md b/koyeb/api_async/docs/DeploymentScalingTargetConcurrentRequests.md new file mode 100644 index 00000000..c2f74be0 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentScalingTargetConcurrentRequests.md @@ -0,0 +1,29 @@ +# DeploymentScalingTargetConcurrentRequests + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_scaling_target_concurrent_requests import DeploymentScalingTargetConcurrentRequests + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentScalingTargetConcurrentRequests from a JSON string +deployment_scaling_target_concurrent_requests_instance = DeploymentScalingTargetConcurrentRequests.from_json(json) +# print the JSON string representation of the object +print(DeploymentScalingTargetConcurrentRequests.to_json()) + +# convert the object into a dict +deployment_scaling_target_concurrent_requests_dict = deployment_scaling_target_concurrent_requests_instance.to_dict() +# create an instance of DeploymentScalingTargetConcurrentRequests from a dict +deployment_scaling_target_concurrent_requests_from_dict = DeploymentScalingTargetConcurrentRequests.from_dict(deployment_scaling_target_concurrent_requests_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentScalingTargetRequestsPerSecond.md b/koyeb/api_async/docs/DeploymentScalingTargetRequestsPerSecond.md new file mode 100644 index 00000000..89144cfc --- /dev/null +++ b/koyeb/api_async/docs/DeploymentScalingTargetRequestsPerSecond.md @@ -0,0 +1,29 @@ +# DeploymentScalingTargetRequestsPerSecond + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_scaling_target_requests_per_second import DeploymentScalingTargetRequestsPerSecond + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentScalingTargetRequestsPerSecond from a JSON string +deployment_scaling_target_requests_per_second_instance = DeploymentScalingTargetRequestsPerSecond.from_json(json) +# print the JSON string representation of the object +print(DeploymentScalingTargetRequestsPerSecond.to_json()) + +# convert the object into a dict +deployment_scaling_target_requests_per_second_dict = deployment_scaling_target_requests_per_second_instance.to_dict() +# create an instance of DeploymentScalingTargetRequestsPerSecond from a dict +deployment_scaling_target_requests_per_second_from_dict = DeploymentScalingTargetRequestsPerSecond.from_dict(deployment_scaling_target_requests_per_second_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentScalingTargetRequestsResponseTime.md b/koyeb/api_async/docs/DeploymentScalingTargetRequestsResponseTime.md new file mode 100644 index 00000000..da1771f5 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentScalingTargetRequestsResponseTime.md @@ -0,0 +1,30 @@ +# DeploymentScalingTargetRequestsResponseTime + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **int** | | [optional] +**quantile** | **int** | The quantile to use for autoscaling. For example, set to 95 to use the 95th percentile (p95) for autoscaling. Valid values are between 0 and 100. | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_scaling_target_requests_response_time import DeploymentScalingTargetRequestsResponseTime + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentScalingTargetRequestsResponseTime from a JSON string +deployment_scaling_target_requests_response_time_instance = DeploymentScalingTargetRequestsResponseTime.from_json(json) +# print the JSON string representation of the object +print(DeploymentScalingTargetRequestsResponseTime.to_json()) + +# convert the object into a dict +deployment_scaling_target_requests_response_time_dict = deployment_scaling_target_requests_response_time_instance.to_dict() +# create an instance of DeploymentScalingTargetRequestsResponseTime from a dict +deployment_scaling_target_requests_response_time_from_dict = DeploymentScalingTargetRequestsResponseTime.from_dict(deployment_scaling_target_requests_response_time_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentScalingTargetSleepIdleDelay.md b/koyeb/api_async/docs/DeploymentScalingTargetSleepIdleDelay.md new file mode 100644 index 00000000..b3ff259e --- /dev/null +++ b/koyeb/api_async/docs/DeploymentScalingTargetSleepIdleDelay.md @@ -0,0 +1,31 @@ +# DeploymentScalingTargetSleepIdleDelay + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **int** | DEPRECATED: use deep_sleep_value instead. Delay in seconds after which a service which received 0 request is put to deep sleep. | [optional] +**deep_sleep_value** | **int** | Delay in seconds after which a service which received 0 request is put to deep sleep. | [optional] +**light_sleep_value** | **int** | Delay in seconds after which a service which received 0 request is put to light sleep. | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay import DeploymentScalingTargetSleepIdleDelay + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentScalingTargetSleepIdleDelay from a JSON string +deployment_scaling_target_sleep_idle_delay_instance = DeploymentScalingTargetSleepIdleDelay.from_json(json) +# print the JSON string representation of the object +print(DeploymentScalingTargetSleepIdleDelay.to_json()) + +# convert the object into a dict +deployment_scaling_target_sleep_idle_delay_dict = deployment_scaling_target_sleep_idle_delay_instance.to_dict() +# create an instance of DeploymentScalingTargetSleepIdleDelay from a dict +deployment_scaling_target_sleep_idle_delay_from_dict = DeploymentScalingTargetSleepIdleDelay.from_dict(deployment_scaling_target_sleep_idle_delay_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentStatus.md b/koyeb/api_async/docs/DeploymentStatus.md new file mode 100644 index 00000000..c3ab2ee9 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentStatus.md @@ -0,0 +1,40 @@ +# DeploymentStatus + + +## Enum + +* `PENDING` (value: `'PENDING'`) + +* `PROVISIONING` (value: `'PROVISIONING'`) + +* `SCHEDULED` (value: `'SCHEDULED'`) + +* `CANCELING` (value: `'CANCELING'`) + +* `CANCELED` (value: `'CANCELED'`) + +* `ALLOCATING` (value: `'ALLOCATING'`) + +* `STARTING` (value: `'STARTING'`) + +* `HEALTHY` (value: `'HEALTHY'`) + +* `DEGRADED` (value: `'DEGRADED'`) + +* `UNHEALTHY` (value: `'UNHEALTHY'`) + +* `STOPPING` (value: `'STOPPING'`) + +* `STOPPED` (value: `'STOPPED'`) + +* `ERRORING` (value: `'ERRORING'`) + +* `ERROR` (value: `'ERROR'`) + +* `STASHED` (value: `'STASHED'`) + +* `SLEEPING` (value: `'SLEEPING'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentStrategy.md b/koyeb/api_async/docs/DeploymentStrategy.md new file mode 100644 index 00000000..e7f92229 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentStrategy.md @@ -0,0 +1,29 @@ +# DeploymentStrategy + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**DeploymentStrategyType**](DeploymentStrategyType.md) | | [optional] [default to DeploymentStrategyType.DEPLOYMENT_STRATEGY_TYPE_INVALID] + +## Example + +```python +from koyeb.api_async.models.deployment_strategy import DeploymentStrategy + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentStrategy from a JSON string +deployment_strategy_instance = DeploymentStrategy.from_json(json) +# print the JSON string representation of the object +print(DeploymentStrategy.to_json()) + +# convert the object into a dict +deployment_strategy_dict = deployment_strategy_instance.to_dict() +# create an instance of DeploymentStrategy from a dict +deployment_strategy_from_dict = DeploymentStrategy.from_dict(deployment_strategy_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentStrategyType.md b/koyeb/api_async/docs/DeploymentStrategyType.md new file mode 100644 index 00000000..05fb2aaf --- /dev/null +++ b/koyeb/api_async/docs/DeploymentStrategyType.md @@ -0,0 +1,21 @@ +# DeploymentStrategyType + + - DEPLOYMENT_STRATEGY_TYPE_INVALID: DEPRECATED: Use DEPLOYMENT_STRATEGY_TYPE_DEFAULT instead. - DEPLOYMENT_STRATEGY_TYPE_DEFAULT: Default/unspecified strategy (resolves to platform default, currently ROLLING). - DEPLOYMENT_STRATEGY_TYPE_CANARY: Use canary strategy. - DEPLOYMENT_STRATEGY_TYPE_ROLLING: Use rolling strategy. - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN: Use blue green strategy. - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE: Use immediate strategy. + +## Enum + +* `DEPLOYMENT_STRATEGY_TYPE_INVALID` (value: `'DEPLOYMENT_STRATEGY_TYPE_INVALID'`) + +* `DEPLOYMENT_STRATEGY_TYPE_DEFAULT` (value: `'DEPLOYMENT_STRATEGY_TYPE_DEFAULT'`) + +* `DEPLOYMENT_STRATEGY_TYPE_CANARY` (value: `'DEPLOYMENT_STRATEGY_TYPE_CANARY'`) + +* `DEPLOYMENT_STRATEGY_TYPE_ROLLING` (value: `'DEPLOYMENT_STRATEGY_TYPE_ROLLING'`) + +* `DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN` (value: `'DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN'`) + +* `DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE` (value: `'DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentVolume.md b/koyeb/api_async/docs/DeploymentVolume.md new file mode 100644 index 00000000..ab1167c0 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentVolume.md @@ -0,0 +1,32 @@ +# DeploymentVolume + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**path** | **str** | | [optional] +**replica_index** | **int** | | [optional] +**scopes** | **List[str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.deployment_volume import DeploymentVolume + +# TODO update the JSON string below +json = "{}" +# create an instance of DeploymentVolume from a JSON string +deployment_volume_instance = DeploymentVolume.from_json(json) +# print the JSON string representation of the object +print(DeploymentVolume.to_json()) + +# convert the object into a dict +deployment_volume_dict = deployment_volume_instance.to_dict() +# create an instance of DeploymentVolume from a dict +deployment_volume_from_dict = DeploymentVolume.from_dict(deployment_volume_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DeploymentsApi.md b/koyeb/api_async/docs/DeploymentsApi.md new file mode 100644 index 00000000..168fada1 --- /dev/null +++ b/koyeb/api_async/docs/DeploymentsApi.md @@ -0,0 +1,457 @@ +# koyeb.api_async.DeploymentsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**cancel_deployment**](DeploymentsApi.md#cancel_deployment) | **POST** /v1/deployments/{id}/cancel | Cancel Deployment +[**get_deployment**](DeploymentsApi.md#get_deployment) | **GET** /v1/deployments/{id} | Get Deployment +[**get_deployment_scaling**](DeploymentsApi.md#get_deployment_scaling) | **GET** /v1/deployment/{id}/scaling | Get Deployment Scaling +[**list_deployment_events**](DeploymentsApi.md#list_deployment_events) | **GET** /v1/deployment_events | List Deployment events +[**list_deployments**](DeploymentsApi.md#list_deployments) | **GET** /v1/deployments | List Deployments + + +# **cancel_deployment** +> object cancel_deployment(id) + +Cancel Deployment + +Deployment cancellation is allowed for the following status: + - pending + - provisioning + - scheduled + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DeploymentsApi(api_client) + id = 'id_example' # str | The id of the deployment to cancel. + + try: + # Cancel Deployment + api_response = await api_instance.cancel_deployment(id) + print("The response of DeploymentsApi->cancel_deployment:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeploymentsApi->cancel_deployment: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the deployment to cancel. | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_deployment** +> GetDeploymentReply get_deployment(id) + +Get Deployment + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_deployment_reply import GetDeploymentReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DeploymentsApi(api_client) + id = 'id_example' # str | The id of the deployment + + try: + # Get Deployment + api_response = await api_instance.get_deployment(id) + print("The response of DeploymentsApi->get_deployment:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeploymentsApi->get_deployment: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the deployment | + +### Return type + +[**GetDeploymentReply**](GetDeploymentReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_deployment_scaling** +> GetDeploymentScalingReply get_deployment_scaling(id, region=region, replica_index=replica_index) + +Get Deployment Scaling + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_deployment_scaling_reply import GetDeploymentScalingReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DeploymentsApi(api_client) + id = 'id_example' # str | + region = 'region_example' # str | (Optional) Filter on region (optional) + replica_index = 56 # int | (Optional) Filter on replica_index (optional) + + try: + # Get Deployment Scaling + api_response = await api_instance.get_deployment_scaling(id, region=region, replica_index=replica_index) + print("The response of DeploymentsApi->get_deployment_scaling:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeploymentsApi->get_deployment_scaling: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **region** | **str**| (Optional) Filter on region | [optional] + **replica_index** | **int**| (Optional) Filter on replica_index | [optional] + +### Return type + +[**GetDeploymentScalingReply**](GetDeploymentScalingReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_deployment_events** +> ListDeploymentEventsReply list_deployment_events(deployment_id=deployment_id, types=types, limit=limit, offset=offset, order=order) + +List Deployment events + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_deployment_events_reply import ListDeploymentEventsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DeploymentsApi(api_client) + deployment_id = 'deployment_id_example' # str | (Optional) Filter on deployment id (optional) + types = ['types_example'] # List[str] | (Optional) Filter on deployment event types (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + order = 'order_example' # str | (Optional) Sorts the list in the ascending or the descending order (optional) + + try: + # List Deployment events + api_response = await api_instance.list_deployment_events(deployment_id=deployment_id, types=types, limit=limit, offset=offset, order=order) + print("The response of DeploymentsApi->list_deployment_events:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeploymentsApi->list_deployment_events: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **deployment_id** | **str**| (Optional) Filter on deployment id | [optional] + **types** | [**List[str]**](str.md)| (Optional) Filter on deployment event types | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **order** | **str**| (Optional) Sorts the list in the ascending or the descending order | [optional] + +### Return type + +[**ListDeploymentEventsReply**](ListDeploymentEventsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_deployments** +> ListDeploymentsReply list_deployments(app_id=app_id, service_id=service_id, limit=limit, offset=offset, statuses=statuses) + +List Deployments + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_deployments_reply import ListDeploymentsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DeploymentsApi(api_client) + app_id = 'app_id_example' # str | (Optional) Filter on application id (optional) + service_id = 'service_id_example' # str | (Optional) Filter on service id (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + statuses = ['statuses_example'] # List[str] | (Optional) Filter on statuses (optional) + + try: + # List Deployments + api_response = await api_instance.list_deployments(app_id=app_id, service_id=service_id, limit=limit, offset=offset, statuses=statuses) + print("The response of DeploymentsApi->list_deployments:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeploymentsApi->list_deployments: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **app_id** | **str**| (Optional) Filter on application id | [optional] + **service_id** | **str**| (Optional) Filter on service id | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **statuses** | [**List[str]**](str.md)| (Optional) Filter on statuses | [optional] + +### Return type + +[**ListDeploymentsReply**](ListDeploymentsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/DesiredDeployment.md b/koyeb/api_async/docs/DesiredDeployment.md new file mode 100644 index 00000000..e8dff991 --- /dev/null +++ b/koyeb/api_async/docs/DesiredDeployment.md @@ -0,0 +1,29 @@ +# DesiredDeployment + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**groups** | [**List[DesiredDeploymentGroup]**](DesiredDeploymentGroup.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.desired_deployment import DesiredDeployment + +# TODO update the JSON string below +json = "{}" +# create an instance of DesiredDeployment from a JSON string +desired_deployment_instance = DesiredDeployment.from_json(json) +# print the JSON string representation of the object +print(DesiredDeployment.to_json()) + +# convert the object into a dict +desired_deployment_dict = desired_deployment_instance.to_dict() +# create an instance of DesiredDeployment from a dict +desired_deployment_from_dict = DesiredDeployment.from_dict(desired_deployment_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DesiredDeploymentGroup.md b/koyeb/api_async/docs/DesiredDeploymentGroup.md new file mode 100644 index 00000000..b80857ec --- /dev/null +++ b/koyeb/api_async/docs/DesiredDeploymentGroup.md @@ -0,0 +1,30 @@ +# DesiredDeploymentGroup + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**deployment_ids** | **List[str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.desired_deployment_group import DesiredDeploymentGroup + +# TODO update the JSON string below +json = "{}" +# create an instance of DesiredDeploymentGroup from a JSON string +desired_deployment_group_instance = DesiredDeploymentGroup.from_json(json) +# print the JSON string representation of the object +print(DesiredDeploymentGroup.to_json()) + +# convert the object into a dict +desired_deployment_group_dict = desired_deployment_group_instance.to_dict() +# create an instance of DesiredDeploymentGroup from a dict +desired_deployment_group_from_dict = DesiredDeploymentGroup.from_dict(desired_deployment_group_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DigitalOceanRegistryConfiguration.md b/koyeb/api_async/docs/DigitalOceanRegistryConfiguration.md new file mode 100644 index 00000000..de41aa0a --- /dev/null +++ b/koyeb/api_async/docs/DigitalOceanRegistryConfiguration.md @@ -0,0 +1,30 @@ +# DigitalOceanRegistryConfiguration + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | **str** | | [optional] +**password** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.digital_ocean_registry_configuration import DigitalOceanRegistryConfiguration + +# TODO update the JSON string below +json = "{}" +# create an instance of DigitalOceanRegistryConfiguration from a JSON string +digital_ocean_registry_configuration_instance = DigitalOceanRegistryConfiguration.from_json(json) +# print the JSON string representation of the object +print(DigitalOceanRegistryConfiguration.to_json()) + +# convert the object into a dict +digital_ocean_registry_configuration_dict = digital_ocean_registry_configuration_instance.to_dict() +# create an instance of DigitalOceanRegistryConfiguration from a dict +digital_ocean_registry_configuration_from_dict = DigitalOceanRegistryConfiguration.from_dict(digital_ocean_registry_configuration_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DiscourseAuthReply.md b/koyeb/api_async/docs/DiscourseAuthReply.md new file mode 100644 index 00000000..998fb665 --- /dev/null +++ b/koyeb/api_async/docs/DiscourseAuthReply.md @@ -0,0 +1,30 @@ +# DiscourseAuthReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sso** | **str** | | [optional] +**sig** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.discourse_auth_reply import DiscourseAuthReply + +# TODO update the JSON string below +json = "{}" +# create an instance of DiscourseAuthReply from a JSON string +discourse_auth_reply_instance = DiscourseAuthReply.from_json(json) +# print the JSON string representation of the object +print(DiscourseAuthReply.to_json()) + +# convert the object into a dict +discourse_auth_reply_dict = discourse_auth_reply_instance.to_dict() +# create an instance of DiscourseAuthReply from a dict +discourse_auth_reply_from_dict = DiscourseAuthReply.from_dict(discourse_auth_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DiscourseAuthRequest.md b/koyeb/api_async/docs/DiscourseAuthRequest.md new file mode 100644 index 00000000..2720549e --- /dev/null +++ b/koyeb/api_async/docs/DiscourseAuthRequest.md @@ -0,0 +1,30 @@ +# DiscourseAuthRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payload** | **str** | | [optional] +**sig** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.discourse_auth_request import DiscourseAuthRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of DiscourseAuthRequest from a JSON string +discourse_auth_request_instance = DiscourseAuthRequest.from_json(json) +# print the JSON string representation of the object +print(DiscourseAuthRequest.to_json()) + +# convert the object into a dict +discourse_auth_request_dict = discourse_auth_request_instance.to_dict() +# create an instance of DiscourseAuthRequest from a dict +discourse_auth_request_from_dict = DiscourseAuthRequest.from_dict(discourse_auth_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DockerBuilder.md b/koyeb/api_async/docs/DockerBuilder.md new file mode 100644 index 00000000..7674f2ed --- /dev/null +++ b/koyeb/api_async/docs/DockerBuilder.md @@ -0,0 +1,34 @@ +# DockerBuilder + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**dockerfile** | **str** | | [optional] +**entrypoint** | **List[str]** | | [optional] +**command** | **str** | | [optional] +**args** | **List[str]** | | [optional] +**target** | **str** | | [optional] +**privileged** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.docker_builder import DockerBuilder + +# TODO update the JSON string below +json = "{}" +# create an instance of DockerBuilder from a JSON string +docker_builder_instance = DockerBuilder.from_json(json) +# print the JSON string representation of the object +print(DockerBuilder.to_json()) + +# convert the object into a dict +docker_builder_dict = docker_builder_instance.to_dict() +# create an instance of DockerBuilder from a dict +docker_builder_from_dict = DockerBuilder.from_dict(docker_builder_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DockerHelperApi.md b/koyeb/api_async/docs/DockerHelperApi.md new file mode 100644 index 00000000..9d781751 --- /dev/null +++ b/koyeb/api_async/docs/DockerHelperApi.md @@ -0,0 +1,97 @@ +# koyeb.api_async.DockerHelperApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**verify_docker_image**](DockerHelperApi.md#verify_docker_image) | **GET** /v1/docker-helper/verify | Verify Docker Image + + +# **verify_docker_image** +> VerifyDockerImageReply verify_docker_image(image=image, secret_id=secret_id) + +Verify Docker Image + +Verify if a docker image is reachable + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.verify_docker_image_reply import VerifyDockerImageReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DockerHelperApi(api_client) + image = 'image_example' # str | The full image uri to be verified (optional) + secret_id = 'secret_id_example' # str | (Optional) the id of the secret to use to authenticate to the registry (optional) + + try: + # Verify Docker Image + api_response = await api_instance.verify_docker_image(image=image, secret_id=secret_id) + print("The response of DockerHelperApi->verify_docker_image:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DockerHelperApi->verify_docker_image: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **image** | **str**| The full image uri to be verified | [optional] + **secret_id** | **str**| (Optional) the id of the secret to use to authenticate to the registry | [optional] + +### Return type + +[**VerifyDockerImageReply**](VerifyDockerImageReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/DockerHubRegistryConfiguration.md b/koyeb/api_async/docs/DockerHubRegistryConfiguration.md new file mode 100644 index 00000000..7ba86b1f --- /dev/null +++ b/koyeb/api_async/docs/DockerHubRegistryConfiguration.md @@ -0,0 +1,30 @@ +# DockerHubRegistryConfiguration + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | **str** | | [optional] +**password** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.docker_hub_registry_configuration import DockerHubRegistryConfiguration + +# TODO update the JSON string below +json = "{}" +# create an instance of DockerHubRegistryConfiguration from a JSON string +docker_hub_registry_configuration_instance = DockerHubRegistryConfiguration.from_json(json) +# print the JSON string representation of the object +print(DockerHubRegistryConfiguration.to_json()) + +# convert the object into a dict +docker_hub_registry_configuration_dict = docker_hub_registry_configuration_instance.to_dict() +# create an instance of DockerHubRegistryConfiguration from a dict +docker_hub_registry_configuration_from_dict = DockerHubRegistryConfiguration.from_dict(docker_hub_registry_configuration_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DockerSource.md b/koyeb/api_async/docs/DockerSource.md new file mode 100644 index 00000000..f02d4edf --- /dev/null +++ b/koyeb/api_async/docs/DockerSource.md @@ -0,0 +1,34 @@ +# DockerSource + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**image** | **str** | | [optional] +**command** | **str** | | [optional] +**args** | **List[str]** | | [optional] +**image_registry_secret** | **str** | | [optional] +**entrypoint** | **List[str]** | | [optional] +**privileged** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.docker_source import DockerSource + +# TODO update the JSON string below +json = "{}" +# create an instance of DockerSource from a JSON string +docker_source_instance = DockerSource.from_json(json) +# print the JSON string representation of the object +print(DockerSource.to_json()) + +# convert the object into a dict +docker_source_dict = docker_source_instance.to_dict() +# create an instance of DockerSource from a dict +docker_source_from_dict = DockerSource.from_dict(docker_source_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Domain.md b/koyeb/api_async/docs/Domain.md new file mode 100644 index 00000000..e8bd9e98 --- /dev/null +++ b/koyeb/api_async/docs/Domain.md @@ -0,0 +1,44 @@ +# Domain + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**name** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**status** | [**DomainStatus**](DomainStatus.md) | | [optional] [default to DomainStatus.PENDING] +**type** | [**DomainType**](DomainType.md) | | [optional] [default to DomainType.AUTOASSIGNED] +**app_id** | **str** | | [optional] +**deployment_group** | **str** | | [optional] +**verified_at** | **datetime** | | [optional] +**intended_cname** | **str** | | [optional] +**messages** | **List[str]** | | [optional] +**version** | **str** | | [optional] +**cloudflare** | **object** | | [optional] +**koyeb** | [**DomainLoadBalancerKoyeb**](DomainLoadBalancerKoyeb.md) | | [optional] +**project_id** | **str** | The project ID this domain belongs to. Empty if the domain is organization-level. | [optional] + +## Example + +```python +from koyeb.api_async.models.domain import Domain + +# TODO update the JSON string below +json = "{}" +# create an instance of Domain from a JSON string +domain_instance = Domain.from_json(json) +# print the JSON string representation of the object +print(Domain.to_json()) + +# convert the object into a dict +domain_dict = domain_instance.to_dict() +# create an instance of Domain from a dict +domain_from_dict = Domain.from_dict(domain_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DomainLoadBalancerKoyeb.md b/koyeb/api_async/docs/DomainLoadBalancerKoyeb.md new file mode 100644 index 00000000..3c20e5d9 --- /dev/null +++ b/koyeb/api_async/docs/DomainLoadBalancerKoyeb.md @@ -0,0 +1,29 @@ +# DomainLoadBalancerKoyeb + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**request_timeout_seconds** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.domain_load_balancer_koyeb import DomainLoadBalancerKoyeb + +# TODO update the JSON string below +json = "{}" +# create an instance of DomainLoadBalancerKoyeb from a JSON string +domain_load_balancer_koyeb_instance = DomainLoadBalancerKoyeb.from_json(json) +# print the JSON string representation of the object +print(DomainLoadBalancerKoyeb.to_json()) + +# convert the object into a dict +domain_load_balancer_koyeb_dict = domain_load_balancer_koyeb_instance.to_dict() +# create an instance of DomainLoadBalancerKoyeb from a dict +domain_load_balancer_koyeb_from_dict = DomainLoadBalancerKoyeb.from_dict(domain_load_balancer_koyeb_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DomainLoadBalancerQuotas.md b/koyeb/api_async/docs/DomainLoadBalancerQuotas.md new file mode 100644 index 00000000..38a16cac --- /dev/null +++ b/koyeb/api_async/docs/DomainLoadBalancerQuotas.md @@ -0,0 +1,29 @@ +# DomainLoadBalancerQuotas + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**max_koyeb** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.domain_load_balancer_quotas import DomainLoadBalancerQuotas + +# TODO update the JSON string below +json = "{}" +# create an instance of DomainLoadBalancerQuotas from a JSON string +domain_load_balancer_quotas_instance = DomainLoadBalancerQuotas.from_json(json) +# print the JSON string representation of the object +print(DomainLoadBalancerQuotas.to_json()) + +# convert the object into a dict +domain_load_balancer_quotas_dict = domain_load_balancer_quotas_instance.to_dict() +# create an instance of DomainLoadBalancerQuotas from a dict +domain_load_balancer_quotas_from_dict = DomainLoadBalancerQuotas.from_dict(domain_load_balancer_quotas_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DomainStatus.md b/koyeb/api_async/docs/DomainStatus.md new file mode 100644 index 00000000..3a708ce0 --- /dev/null +++ b/koyeb/api_async/docs/DomainStatus.md @@ -0,0 +1,18 @@ +# DomainStatus + + +## Enum + +* `PENDING` (value: `'PENDING'`) + +* `ACTIVE` (value: `'ACTIVE'`) + +* `ERROR` (value: `'ERROR'`) + +* `DELETING` (value: `'DELETING'`) + +* `DELETED` (value: `'DELETED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DomainType.md b/koyeb/api_async/docs/DomainType.md new file mode 100644 index 00000000..fe4be201 --- /dev/null +++ b/koyeb/api_async/docs/DomainType.md @@ -0,0 +1,12 @@ +# DomainType + + +## Enum + +* `AUTOASSIGNED` (value: `'AUTOASSIGNED'`) + +* `CUSTOM` (value: `'CUSTOM'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/DomainsApi.md b/koyeb/api_async/docs/DomainsApi.md new file mode 100644 index 00000000..5929ece2 --- /dev/null +++ b/koyeb/api_async/docs/DomainsApi.md @@ -0,0 +1,536 @@ +# koyeb.api_async.DomainsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_domain**](DomainsApi.md#create_domain) | **POST** /v1/domains | Create Domain +[**delete_domain**](DomainsApi.md#delete_domain) | **DELETE** /v1/domains/{id} | Delete Domain +[**get_domain**](DomainsApi.md#get_domain) | **GET** /v1/domains/{id} | Get Domain +[**list_domains**](DomainsApi.md#list_domains) | **GET** /v1/domains | List Domains +[**refresh_domain_status**](DomainsApi.md#refresh_domain_status) | **POST** /v1/domains/{id}/refresh | Refresh Domain Status +[**update_domain**](DomainsApi.md#update_domain) | **PATCH** /v1/domains/{id} | Update Domain + + +# **create_domain** +> CreateDomainReply create_domain(domain) + +Create Domain + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_domain import CreateDomain +from koyeb.api_async.models.create_domain_reply import CreateDomainReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DomainsApi(api_client) + domain = koyeb.api_async.CreateDomain() # CreateDomain | + + try: + # Create Domain + api_response = await api_instance.create_domain(domain) + print("The response of DomainsApi->create_domain:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DomainsApi->create_domain: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **domain** | [**CreateDomain**](CreateDomain.md)| | + +### Return type + +[**CreateDomainReply**](CreateDomainReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_domain** +> object delete_domain(id) + +Delete Domain + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DomainsApi(api_client) + id = 'id_example' # str | + + try: + # Delete Domain + api_response = await api_instance.delete_domain(id) + print("The response of DomainsApi->delete_domain:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DomainsApi->delete_domain: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_domain** +> GetDomainReply get_domain(id) + +Get Domain + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_domain_reply import GetDomainReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DomainsApi(api_client) + id = 'id_example' # str | + + try: + # Get Domain + api_response = await api_instance.get_domain(id) + print("The response of DomainsApi->get_domain:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DomainsApi->get_domain: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**GetDomainReply**](GetDomainReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_domains** +> ListDomainsReply list_domains(limit=limit, offset=offset, types=types, statuses=statuses, app_ids=app_ids, name=name, project_id=project_id) + +List Domains + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_domains_reply import ListDomainsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DomainsApi(api_client) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + types = ['types_example'] # List[str] | (Optional) A filter for types - AUTOASSIGNED: Domain like -.koyeb.app (optional) + statuses = ['statuses_example'] # List[str] | (Optional) A filter for statuses (optional) + app_ids = ['app_ids_example'] # List[str] | (Optional) A filter for apps (optional) + name = 'name_example' # str | (Optional) A filter for name (optional) + project_id = 'project_id_example' # str | (Optional) A filter for the project ID (optional) + + try: + # List Domains + api_response = await api_instance.list_domains(limit=limit, offset=offset, types=types, statuses=statuses, app_ids=app_ids, name=name, project_id=project_id) + print("The response of DomainsApi->list_domains:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DomainsApi->list_domains: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **types** | [**List[str]**](str.md)| (Optional) A filter for types - AUTOASSIGNED: Domain like <appName>-<orgName>.koyeb.app | [optional] + **statuses** | [**List[str]**](str.md)| (Optional) A filter for statuses | [optional] + **app_ids** | [**List[str]**](str.md)| (Optional) A filter for apps | [optional] + **name** | **str**| (Optional) A filter for name | [optional] + **project_id** | **str**| (Optional) A filter for the project ID | [optional] + +### Return type + +[**ListDomainsReply**](ListDomainsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **refresh_domain_status** +> object refresh_domain_status(id) + +Refresh Domain Status + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DomainsApi(api_client) + id = 'id_example' # str | + + try: + # Refresh Domain Status + api_response = await api_instance.refresh_domain_status(id) + print("The response of DomainsApi->refresh_domain_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DomainsApi->refresh_domain_status: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_domain** +> UpdateDomainReply update_domain(id, domain, update_mask=update_mask, dry_run=dry_run) + +Update Domain + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_domain import UpdateDomain +from koyeb.api_async.models.update_domain_reply import UpdateDomainReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.DomainsApi(api_client) + id = 'id_example' # str | + domain = koyeb.api_async.UpdateDomain() # UpdateDomain | + update_mask = 'update_mask_example' # str | (optional) + dry_run = True # bool | If set, run validation and check that the domain is available. (optional) + + try: + # Update Domain + api_response = await api_instance.update_domain(id, domain, update_mask=update_mask, dry_run=dry_run) + print("The response of DomainsApi->update_domain:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DomainsApi->update_domain: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **domain** | [**UpdateDomain**](UpdateDomain.md)| | + **update_mask** | **str**| | [optional] + **dry_run** | **bool**| If set, run validation and check that the domain is available. | [optional] + +### Return type + +[**UpdateDomainReply**](UpdateDomainReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/DomainsSummary.md b/koyeb/api_async/docs/DomainsSummary.md new file mode 100644 index 00000000..7165fdf8 --- /dev/null +++ b/koyeb/api_async/docs/DomainsSummary.md @@ -0,0 +1,30 @@ +# DomainsSummary + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total** | **str** | | [optional] +**by_status** | **Dict[str, str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.domains_summary import DomainsSummary + +# TODO update the JSON string below +json = "{}" +# create an instance of DomainsSummary from a JSON string +domains_summary_instance = DomainsSummary.from_json(json) +# print the JSON string representation of the object +print(DomainsSummary.to_json()) + +# convert the object into a dict +domains_summary_dict = domains_summary_instance.to_dict() +# create an instance of DomainsSummary from a dict +domains_summary_from_dict = DomainsSummary.from_dict(domains_summary_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Env.md b/koyeb/api_async/docs/Env.md new file mode 100644 index 00000000..e3d7170e --- /dev/null +++ b/koyeb/api_async/docs/Env.md @@ -0,0 +1,31 @@ +# Env + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | **str** | | [optional] +**value** | **str** | | [optional] +**secret** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.env import Env + +# TODO update the JSON string below +json = "{}" +# create an instance of Env from a JSON string +env_instance = Env.from_json(json) +# print the JSON string representation of the object +print(Env.to_json()) + +# convert the object into a dict +env_dict = env_instance.to_dict() +# create an instance of Env from a dict +env_from_dict = Env.from_dict(env_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Error.md b/koyeb/api_async/docs/Error.md new file mode 100644 index 00000000..13385055 --- /dev/null +++ b/koyeb/api_async/docs/Error.md @@ -0,0 +1,31 @@ +# Error + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | **int** | | [optional] +**code** | **str** | | [optional] +**message** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.error import Error + +# TODO update the JSON string below +json = "{}" +# create an instance of Error from a JSON string +error_instance = Error.from_json(json) +# print the JSON string representation of the object +print(Error.to_json()) + +# convert the object into a dict +error_dict = error_instance.to_dict() +# create an instance of Error from a dict +error_from_dict = Error.from_dict(error_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ErrorField.md b/koyeb/api_async/docs/ErrorField.md new file mode 100644 index 00000000..466a2501 --- /dev/null +++ b/koyeb/api_async/docs/ErrorField.md @@ -0,0 +1,30 @@ +# ErrorField + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_field** | **str** | | [optional] +**description** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.error_field import ErrorField + +# TODO update the JSON string below +json = "{}" +# create an instance of ErrorField from a JSON string +error_field_instance = ErrorField.from_json(json) +# print the JSON string representation of the object +print(ErrorField.to_json()) + +# convert the object into a dict +error_field_dict = error_field_instance.to_dict() +# create an instance of ErrorField from a dict +error_field_from_dict = ErrorField.from_dict(error_field_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ErrorWithFields.md b/koyeb/api_async/docs/ErrorWithFields.md new file mode 100644 index 00000000..f131421a --- /dev/null +++ b/koyeb/api_async/docs/ErrorWithFields.md @@ -0,0 +1,32 @@ +# ErrorWithFields + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | **int** | | [optional] +**code** | **str** | | [optional] +**message** | **str** | | [optional] +**fields** | [**List[ErrorField]**](ErrorField.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.error_with_fields import ErrorWithFields + +# TODO update the JSON string below +json = "{}" +# create an instance of ErrorWithFields from a JSON string +error_with_fields_instance = ErrorWithFields.from_json(json) +# print the JSON string representation of the object +print(ErrorWithFields.to_json()) + +# convert the object into a dict +error_with_fields_dict = error_with_fields_instance.to_dict() +# create an instance of ErrorWithFields from a dict +error_with_fields_from_dict = ErrorWithFields.from_dict(error_with_fields_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ExecCommandIO.md b/koyeb/api_async/docs/ExecCommandIO.md new file mode 100644 index 00000000..2862aafe --- /dev/null +++ b/koyeb/api_async/docs/ExecCommandIO.md @@ -0,0 +1,30 @@ +# ExecCommandIO + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | **bytes** | Data is base64 encoded | [optional] +**close** | **bool** | Indicate last data frame | [optional] + +## Example + +```python +from koyeb.api_async.models.exec_command_io import ExecCommandIO + +# TODO update the JSON string below +json = "{}" +# create an instance of ExecCommandIO from a JSON string +exec_command_io_instance = ExecCommandIO.from_json(json) +# print the JSON string representation of the object +print(ExecCommandIO.to_json()) + +# convert the object into a dict +exec_command_io_dict = exec_command_io_instance.to_dict() +# create an instance of ExecCommandIO from a dict +exec_command_io_from_dict = ExecCommandIO.from_dict(exec_command_io_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ExecCommandReply.md b/koyeb/api_async/docs/ExecCommandReply.md new file mode 100644 index 00000000..c77a697f --- /dev/null +++ b/koyeb/api_async/docs/ExecCommandReply.md @@ -0,0 +1,32 @@ +# ExecCommandReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**stdout** | [**ExecCommandIO**](ExecCommandIO.md) | | [optional] +**stderr** | [**ExecCommandIO**](ExecCommandIO.md) | | [optional] +**exited** | **bool** | | [optional] +**exit_code** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.exec_command_reply import ExecCommandReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ExecCommandReply from a JSON string +exec_command_reply_instance = ExecCommandReply.from_json(json) +# print the JSON string representation of the object +print(ExecCommandReply.to_json()) + +# convert the object into a dict +exec_command_reply_dict = exec_command_reply_instance.to_dict() +# create an instance of ExecCommandReply from a dict +exec_command_reply_from_dict = ExecCommandReply.from_dict(exec_command_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ExecCommandRequestBody.md b/koyeb/api_async/docs/ExecCommandRequestBody.md new file mode 100644 index 00000000..4d3ad082 --- /dev/null +++ b/koyeb/api_async/docs/ExecCommandRequestBody.md @@ -0,0 +1,32 @@ +# ExecCommandRequestBody + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**command** | **List[str]** | Command to exec. Mandatory in the first frame sent | [optional] +**tty_size** | [**ExecCommandRequestTerminalSize**](ExecCommandRequestTerminalSize.md) | | [optional] +**stdin** | [**ExecCommandIO**](ExecCommandIO.md) | | [optional] +**disable_tty** | **bool** | Disable TTY. It's enough to specify it in the first frame | [optional] + +## Example + +```python +from koyeb.api_async.models.exec_command_request_body import ExecCommandRequestBody + +# TODO update the JSON string below +json = "{}" +# create an instance of ExecCommandRequestBody from a JSON string +exec_command_request_body_instance = ExecCommandRequestBody.from_json(json) +# print the JSON string representation of the object +print(ExecCommandRequestBody.to_json()) + +# convert the object into a dict +exec_command_request_body_dict = exec_command_request_body_instance.to_dict() +# create an instance of ExecCommandRequestBody from a dict +exec_command_request_body_from_dict = ExecCommandRequestBody.from_dict(exec_command_request_body_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ExecCommandRequestIdType.md b/koyeb/api_async/docs/ExecCommandRequestIdType.md new file mode 100644 index 00000000..deefb3ac --- /dev/null +++ b/koyeb/api_async/docs/ExecCommandRequestIdType.md @@ -0,0 +1,14 @@ +# ExecCommandRequestIdType + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `INSTANCE_ID` (value: `'INSTANCE_ID'`) + +* `SERVICE_ID` (value: `'SERVICE_ID'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ExecCommandRequestTerminalSize.md b/koyeb/api_async/docs/ExecCommandRequestTerminalSize.md new file mode 100644 index 00000000..caeb92d8 --- /dev/null +++ b/koyeb/api_async/docs/ExecCommandRequestTerminalSize.md @@ -0,0 +1,30 @@ +# ExecCommandRequestTerminalSize + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**height** | **int** | | [optional] +**width** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.exec_command_request_terminal_size import ExecCommandRequestTerminalSize + +# TODO update the JSON string below +json = "{}" +# create an instance of ExecCommandRequestTerminalSize from a JSON string +exec_command_request_terminal_size_instance = ExecCommandRequestTerminalSize.from_json(json) +# print the JSON string representation of the object +print(ExecCommandRequestTerminalSize.to_json()) + +# convert the object into a dict +exec_command_request_terminal_size_dict = exec_command_request_terminal_size_instance.to_dict() +# create an instance of ExecCommandRequestTerminalSize from a dict +exec_command_request_terminal_size_from_dict = ExecCommandRequestTerminalSize.from_dict(exec_command_request_terminal_size_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GCPContainerRegistryConfiguration.md b/koyeb/api_async/docs/GCPContainerRegistryConfiguration.md new file mode 100644 index 00000000..9dad2b45 --- /dev/null +++ b/koyeb/api_async/docs/GCPContainerRegistryConfiguration.md @@ -0,0 +1,30 @@ +# GCPContainerRegistryConfiguration + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**keyfile_content** | **str** | | [optional] +**url** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.gcp_container_registry_configuration import GCPContainerRegistryConfiguration + +# TODO update the JSON string below +json = "{}" +# create an instance of GCPContainerRegistryConfiguration from a JSON string +gcp_container_registry_configuration_instance = GCPContainerRegistryConfiguration.from_json(json) +# print the JSON string representation of the object +print(GCPContainerRegistryConfiguration.to_json()) + +# convert the object into a dict +gcp_container_registry_configuration_dict = gcp_container_registry_configuration_instance.to_dict() +# create an instance of GCPContainerRegistryConfiguration from a dict +gcp_container_registry_configuration_from_dict = GCPContainerRegistryConfiguration.from_dict(gcp_container_registry_configuration_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetAppReply.md b/koyeb/api_async/docs/GetAppReply.md new file mode 100644 index 00000000..ff7218d0 --- /dev/null +++ b/koyeb/api_async/docs/GetAppReply.md @@ -0,0 +1,29 @@ +# GetAppReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app** | [**App**](App.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_app_reply import GetAppReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAppReply from a JSON string +get_app_reply_instance = GetAppReply.from_json(json) +# print the JSON string representation of the object +print(GetAppReply.to_json()) + +# convert the object into a dict +get_app_reply_dict = get_app_reply_instance.to_dict() +# create an instance of GetAppReply from a dict +get_app_reply_from_dict = GetAppReply.from_dict(get_app_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetBudgetReply.md b/koyeb/api_async/docs/GetBudgetReply.md new file mode 100644 index 00000000..5a4ee123 --- /dev/null +++ b/koyeb/api_async/docs/GetBudgetReply.md @@ -0,0 +1,29 @@ +# GetBudgetReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**budget** | [**Budget**](Budget.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_budget_reply import GetBudgetReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetBudgetReply from a JSON string +get_budget_reply_instance = GetBudgetReply.from_json(json) +# print the JSON string representation of the object +print(GetBudgetReply.to_json()) + +# convert the object into a dict +get_budget_reply_dict = get_budget_reply_instance.to_dict() +# create an instance of GetBudgetReply from a dict +get_budget_reply_from_dict = GetBudgetReply.from_dict(get_budget_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetCatalogInstanceReply.md b/koyeb/api_async/docs/GetCatalogInstanceReply.md new file mode 100644 index 00000000..a14606de --- /dev/null +++ b/koyeb/api_async/docs/GetCatalogInstanceReply.md @@ -0,0 +1,29 @@ +# GetCatalogInstanceReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**instance** | [**CatalogInstance**](CatalogInstance.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_catalog_instance_reply import GetCatalogInstanceReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetCatalogInstanceReply from a JSON string +get_catalog_instance_reply_instance = GetCatalogInstanceReply.from_json(json) +# print the JSON string representation of the object +print(GetCatalogInstanceReply.to_json()) + +# convert the object into a dict +get_catalog_instance_reply_dict = get_catalog_instance_reply_instance.to_dict() +# create an instance of GetCatalogInstanceReply from a dict +get_catalog_instance_reply_from_dict = GetCatalogInstanceReply.from_dict(get_catalog_instance_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetCredentialReply.md b/koyeb/api_async/docs/GetCredentialReply.md new file mode 100644 index 00000000..96665201 --- /dev/null +++ b/koyeb/api_async/docs/GetCredentialReply.md @@ -0,0 +1,29 @@ +# GetCredentialReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**credential** | [**Credential**](Credential.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_credential_reply import GetCredentialReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetCredentialReply from a JSON string +get_credential_reply_instance = GetCredentialReply.from_json(json) +# print the JSON string representation of the object +print(GetCredentialReply.to_json()) + +# convert the object into a dict +get_credential_reply_dict = get_credential_reply_instance.to_dict() +# create an instance of GetCredentialReply from a dict +get_credential_reply_from_dict = GetCredentialReply.from_dict(get_credential_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetDeploymentReply.md b/koyeb/api_async/docs/GetDeploymentReply.md new file mode 100644 index 00000000..3314fc04 --- /dev/null +++ b/koyeb/api_async/docs/GetDeploymentReply.md @@ -0,0 +1,29 @@ +# GetDeploymentReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | [**Deployment**](Deployment.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_deployment_reply import GetDeploymentReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetDeploymentReply from a JSON string +get_deployment_reply_instance = GetDeploymentReply.from_json(json) +# print the JSON string representation of the object +print(GetDeploymentReply.to_json()) + +# convert the object into a dict +get_deployment_reply_dict = get_deployment_reply_instance.to_dict() +# create an instance of GetDeploymentReply from a dict +get_deployment_reply_from_dict = GetDeploymentReply.from_dict(get_deployment_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetDeploymentScalingReply.md b/koyeb/api_async/docs/GetDeploymentScalingReply.md new file mode 100644 index 00000000..7b39aa73 --- /dev/null +++ b/koyeb/api_async/docs/GetDeploymentScalingReply.md @@ -0,0 +1,29 @@ +# GetDeploymentScalingReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**replicas** | [**List[GetDeploymentScalingReplyItem]**](GetDeploymentScalingReplyItem.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_deployment_scaling_reply import GetDeploymentScalingReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetDeploymentScalingReply from a JSON string +get_deployment_scaling_reply_instance = GetDeploymentScalingReply.from_json(json) +# print the JSON string representation of the object +print(GetDeploymentScalingReply.to_json()) + +# convert the object into a dict +get_deployment_scaling_reply_dict = get_deployment_scaling_reply_instance.to_dict() +# create an instance of GetDeploymentScalingReply from a dict +get_deployment_scaling_reply_from_dict = GetDeploymentScalingReply.from_dict(get_deployment_scaling_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetDeploymentScalingReplyItem.md b/koyeb/api_async/docs/GetDeploymentScalingReplyItem.md new file mode 100644 index 00000000..e6473cb6 --- /dev/null +++ b/koyeb/api_async/docs/GetDeploymentScalingReplyItem.md @@ -0,0 +1,31 @@ +# GetDeploymentScalingReplyItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**region** | **str** | | [optional] +**replica_index** | **int** | | [optional] +**instances** | [**List[Instance]**](Instance.md) | An array of `active` and `starting` instances. Status of the active instance (and if none the most recent instance) string status = 4; Status message of the active instance (and if none the most recent instance) string message = 5; | [optional] + +## Example + +```python +from koyeb.api_async.models.get_deployment_scaling_reply_item import GetDeploymentScalingReplyItem + +# TODO update the JSON string below +json = "{}" +# create an instance of GetDeploymentScalingReplyItem from a JSON string +get_deployment_scaling_reply_item_instance = GetDeploymentScalingReplyItem.from_json(json) +# print the JSON string representation of the object +print(GetDeploymentScalingReplyItem.to_json()) + +# convert the object into a dict +get_deployment_scaling_reply_item_dict = get_deployment_scaling_reply_item_instance.to_dict() +# create an instance of GetDeploymentScalingReplyItem from a dict +get_deployment_scaling_reply_item_from_dict = GetDeploymentScalingReplyItem.from_dict(get_deployment_scaling_reply_item_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetDomainReply.md b/koyeb/api_async/docs/GetDomainReply.md new file mode 100644 index 00000000..49642f97 --- /dev/null +++ b/koyeb/api_async/docs/GetDomainReply.md @@ -0,0 +1,29 @@ +# GetDomainReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**domain** | [**Domain**](Domain.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_domain_reply import GetDomainReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetDomainReply from a JSON string +get_domain_reply_instance = GetDomainReply.from_json(json) +# print the JSON string representation of the object +print(GetDomainReply.to_json()) + +# convert the object into a dict +get_domain_reply_dict = get_domain_reply_instance.to_dict() +# create an instance of GetDomainReply from a dict +get_domain_reply_from_dict = GetDomainReply.from_dict(get_domain_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetGithubInstallationReply.md b/koyeb/api_async/docs/GetGithubInstallationReply.md new file mode 100644 index 00000000..77335042 --- /dev/null +++ b/koyeb/api_async/docs/GetGithubInstallationReply.md @@ -0,0 +1,38 @@ +# GetGithubInstallationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**installation_id** | **str** | | [optional] +**installation_url** | **str** | | [optional] +**name** | **str** | | [optional] +**avatar_url** | **str** | | [optional] +**status** | [**KgitproxyGithubInstallationStatus**](KgitproxyGithubInstallationStatus.md) | | [optional] [default to KgitproxyGithubInstallationStatus.INVALID] +**installed_at** | **datetime** | | [optional] +**suspended_at** | **datetime** | | [optional] +**indexing_status** | [**KgitproxyIndexingStatus**](KgitproxyIndexingStatus.md) | | [optional] [default to KgitproxyIndexingStatus.INVALID_INDEXING_STATUS] +**indexed_repositories** | **int** | | [optional] +**total_repositories** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_github_installation_reply import GetGithubInstallationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetGithubInstallationReply from a JSON string +get_github_installation_reply_instance = GetGithubInstallationReply.from_json(json) +# print the JSON string representation of the object +print(GetGithubInstallationReply.to_json()) + +# convert the object into a dict +get_github_installation_reply_dict = get_github_installation_reply_instance.to_dict() +# create an instance of GetGithubInstallationReply from a dict +get_github_installation_reply_from_dict = GetGithubInstallationReply.from_dict(get_github_installation_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetIdenfyTokenReply.md b/koyeb/api_async/docs/GetIdenfyTokenReply.md new file mode 100644 index 00000000..3fd84c0d --- /dev/null +++ b/koyeb/api_async/docs/GetIdenfyTokenReply.md @@ -0,0 +1,29 @@ +# GetIdenfyTokenReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auth_token** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_idenfy_token_reply import GetIdenfyTokenReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetIdenfyTokenReply from a JSON string +get_idenfy_token_reply_instance = GetIdenfyTokenReply.from_json(json) +# print the JSON string representation of the object +print(GetIdenfyTokenReply.to_json()) + +# convert the object into a dict +get_idenfy_token_reply_dict = get_idenfy_token_reply_instance.to_dict() +# create an instance of GetIdenfyTokenReply from a dict +get_idenfy_token_reply_from_dict = GetIdenfyTokenReply.from_dict(get_idenfy_token_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetInstanceReply.md b/koyeb/api_async/docs/GetInstanceReply.md new file mode 100644 index 00000000..fe0a55e1 --- /dev/null +++ b/koyeb/api_async/docs/GetInstanceReply.md @@ -0,0 +1,29 @@ +# GetInstanceReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**instance** | [**Instance**](Instance.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_instance_reply import GetInstanceReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetInstanceReply from a JSON string +get_instance_reply_instance = GetInstanceReply.from_json(json) +# print the JSON string representation of the object +print(GetInstanceReply.to_json()) + +# convert the object into a dict +get_instance_reply_dict = get_instance_reply_instance.to_dict() +# create an instance of GetInstanceReply from a dict +get_instance_reply_from_dict = GetInstanceReply.from_dict(get_instance_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetIntercomProfileReply.md b/koyeb/api_async/docs/GetIntercomProfileReply.md new file mode 100644 index 00000000..e3556d57 --- /dev/null +++ b/koyeb/api_async/docs/GetIntercomProfileReply.md @@ -0,0 +1,29 @@ +# GetIntercomProfileReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**hash** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_intercom_profile_reply import GetIntercomProfileReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetIntercomProfileReply from a JSON string +get_intercom_profile_reply_instance = GetIntercomProfileReply.from_json(json) +# print the JSON string representation of the object +print(GetIntercomProfileReply.to_json()) + +# convert the object into a dict +get_intercom_profile_reply_dict = get_intercom_profile_reply_instance.to_dict() +# create an instance of GetIntercomProfileReply from a dict +get_intercom_profile_reply_from_dict = GetIntercomProfileReply.from_dict(get_intercom_profile_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetMetricsReply.md b/koyeb/api_async/docs/GetMetricsReply.md new file mode 100644 index 00000000..f53cc9a5 --- /dev/null +++ b/koyeb/api_async/docs/GetMetricsReply.md @@ -0,0 +1,29 @@ +# GetMetricsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**metrics** | [**List[GetMetricsReplyMetric]**](GetMetricsReplyMetric.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_metrics_reply import GetMetricsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetMetricsReply from a JSON string +get_metrics_reply_instance = GetMetricsReply.from_json(json) +# print the JSON string representation of the object +print(GetMetricsReply.to_json()) + +# convert the object into a dict +get_metrics_reply_dict = get_metrics_reply_instance.to_dict() +# create an instance of GetMetricsReply from a dict +get_metrics_reply_from_dict = GetMetricsReply.from_dict(get_metrics_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetMetricsReplyMetric.md b/koyeb/api_async/docs/GetMetricsReplyMetric.md new file mode 100644 index 00000000..e1760534 --- /dev/null +++ b/koyeb/api_async/docs/GetMetricsReplyMetric.md @@ -0,0 +1,30 @@ +# GetMetricsReplyMetric + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**labels** | **Dict[str, str]** | | [optional] +**samples** | [**List[Sample]**](Sample.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_metrics_reply_metric import GetMetricsReplyMetric + +# TODO update the JSON string below +json = "{}" +# create an instance of GetMetricsReplyMetric from a JSON string +get_metrics_reply_metric_instance = GetMetricsReplyMetric.from_json(json) +# print the JSON string representation of the object +print(GetMetricsReplyMetric.to_json()) + +# convert the object into a dict +get_metrics_reply_metric_dict = get_metrics_reply_metric_instance.to_dict() +# create an instance of GetMetricsReplyMetric from a dict +get_metrics_reply_metric_from_dict = GetMetricsReplyMetric.from_dict(get_metrics_reply_metric_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetOAuthOptionsReply.md b/koyeb/api_async/docs/GetOAuthOptionsReply.md new file mode 100644 index 00000000..10a56d8a --- /dev/null +++ b/koyeb/api_async/docs/GetOAuthOptionsReply.md @@ -0,0 +1,30 @@ +# GetOAuthOptionsReply + +A list of providers which you can use for single sign-on. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**oauth_providers** | [**List[OAuthProvider]**](OAuthProvider.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_o_auth_options_reply import GetOAuthOptionsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetOAuthOptionsReply from a JSON string +get_o_auth_options_reply_instance = GetOAuthOptionsReply.from_json(json) +# print the JSON string representation of the object +print(GetOAuthOptionsReply.to_json()) + +# convert the object into a dict +get_o_auth_options_reply_dict = get_o_auth_options_reply_instance.to_dict() +# create an instance of GetOAuthOptionsReply from a dict +get_o_auth_options_reply_from_dict = GetOAuthOptionsReply.from_dict(get_o_auth_options_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetOrganizationInvitationReply.md b/koyeb/api_async/docs/GetOrganizationInvitationReply.md new file mode 100644 index 00000000..3e4ae1d0 --- /dev/null +++ b/koyeb/api_async/docs/GetOrganizationInvitationReply.md @@ -0,0 +1,29 @@ +# GetOrganizationInvitationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**invitation** | [**OrganizationInvitation**](OrganizationInvitation.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_organization_invitation_reply import GetOrganizationInvitationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetOrganizationInvitationReply from a JSON string +get_organization_invitation_reply_instance = GetOrganizationInvitationReply.from_json(json) +# print the JSON string representation of the object +print(GetOrganizationInvitationReply.to_json()) + +# convert the object into a dict +get_organization_invitation_reply_dict = get_organization_invitation_reply_instance.to_dict() +# create an instance of GetOrganizationInvitationReply from a dict +get_organization_invitation_reply_from_dict = GetOrganizationInvitationReply.from_dict(get_organization_invitation_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetOrganizationReply.md b/koyeb/api_async/docs/GetOrganizationReply.md new file mode 100644 index 00000000..1a2cf73b --- /dev/null +++ b/koyeb/api_async/docs/GetOrganizationReply.md @@ -0,0 +1,29 @@ +# GetOrganizationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | [**Organization**](Organization.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_organization_reply import GetOrganizationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetOrganizationReply from a JSON string +get_organization_reply_instance = GetOrganizationReply.from_json(json) +# print the JSON string representation of the object +print(GetOrganizationReply.to_json()) + +# convert the object into a dict +get_organization_reply_dict = get_organization_reply_instance.to_dict() +# create an instance of GetOrganizationReply from a dict +get_organization_reply_from_dict = GetOrganizationReply.from_dict(get_organization_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetOrganizationSummaryReply.md b/koyeb/api_async/docs/GetOrganizationSummaryReply.md new file mode 100644 index 00000000..9caedfe4 --- /dev/null +++ b/koyeb/api_async/docs/GetOrganizationSummaryReply.md @@ -0,0 +1,29 @@ +# GetOrganizationSummaryReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**summary** | [**OrganizationSummary**](OrganizationSummary.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_organization_summary_reply import GetOrganizationSummaryReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetOrganizationSummaryReply from a JSON string +get_organization_summary_reply_instance = GetOrganizationSummaryReply.from_json(json) +# print the JSON string representation of the object +print(GetOrganizationSummaryReply.to_json()) + +# convert the object into a dict +get_organization_summary_reply_dict = get_organization_summary_reply_instance.to_dict() +# create an instance of GetOrganizationSummaryReply from a dict +get_organization_summary_reply_from_dict = GetOrganizationSummaryReply.from_dict(get_organization_summary_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetOrganizationUsageDetailsReply.md b/koyeb/api_async/docs/GetOrganizationUsageDetailsReply.md new file mode 100644 index 00000000..dcc0b51e --- /dev/null +++ b/koyeb/api_async/docs/GetOrganizationUsageDetailsReply.md @@ -0,0 +1,34 @@ +# GetOrganizationUsageDetailsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**usage_details** | [**List[UsageDetails]**](UsageDetails.md) | | [optional] +**database_details** | [**List[DatabaseUsageDetails]**](DatabaseUsageDetails.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] +**order** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_organization_usage_details_reply import GetOrganizationUsageDetailsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetOrganizationUsageDetailsReply from a JSON string +get_organization_usage_details_reply_instance = GetOrganizationUsageDetailsReply.from_json(json) +# print the JSON string representation of the object +print(GetOrganizationUsageDetailsReply.to_json()) + +# convert the object into a dict +get_organization_usage_details_reply_dict = get_organization_usage_details_reply_instance.to_dict() +# create an instance of GetOrganizationUsageDetailsReply from a dict +get_organization_usage_details_reply_from_dict = GetOrganizationUsageDetailsReply.from_dict(get_organization_usage_details_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetOrganizationUsageReply.md b/koyeb/api_async/docs/GetOrganizationUsageReply.md new file mode 100644 index 00000000..1d38ba8d --- /dev/null +++ b/koyeb/api_async/docs/GetOrganizationUsageReply.md @@ -0,0 +1,29 @@ +# GetOrganizationUsageReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**usage** | [**Usage**](Usage.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_organization_usage_reply import GetOrganizationUsageReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetOrganizationUsageReply from a JSON string +get_organization_usage_reply_instance = GetOrganizationUsageReply.from_json(json) +# print the JSON string representation of the object +print(GetOrganizationUsageReply.to_json()) + +# convert the object into a dict +get_organization_usage_reply_dict = get_organization_usage_reply_instance.to_dict() +# create an instance of GetOrganizationUsageReply from a dict +get_organization_usage_reply_from_dict = GetOrganizationUsageReply.from_dict(get_organization_usage_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetPaymentMethodReply.md b/koyeb/api_async/docs/GetPaymentMethodReply.md new file mode 100644 index 00000000..ad949c34 --- /dev/null +++ b/koyeb/api_async/docs/GetPaymentMethodReply.md @@ -0,0 +1,29 @@ +# GetPaymentMethodReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_method** | [**PaymentMethod**](PaymentMethod.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_payment_method_reply import GetPaymentMethodReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPaymentMethodReply from a JSON string +get_payment_method_reply_instance = GetPaymentMethodReply.from_json(json) +# print the JSON string representation of the object +print(GetPaymentMethodReply.to_json()) + +# convert the object into a dict +get_payment_method_reply_dict = get_payment_method_reply_instance.to_dict() +# create an instance of GetPaymentMethodReply from a dict +get_payment_method_reply_from_dict = GetPaymentMethodReply.from_dict(get_payment_method_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetPersistentVolumeReply.md b/koyeb/api_async/docs/GetPersistentVolumeReply.md new file mode 100644 index 00000000..1089796b --- /dev/null +++ b/koyeb/api_async/docs/GetPersistentVolumeReply.md @@ -0,0 +1,29 @@ +# GetPersistentVolumeReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**volume** | [**PersistentVolume**](PersistentVolume.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_persistent_volume_reply import GetPersistentVolumeReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetPersistentVolumeReply from a JSON string +get_persistent_volume_reply_instance = GetPersistentVolumeReply.from_json(json) +# print the JSON string representation of the object +print(GetPersistentVolumeReply.to_json()) + +# convert the object into a dict +get_persistent_volume_reply_dict = get_persistent_volume_reply_instance.to_dict() +# create an instance of GetPersistentVolumeReply from a dict +get_persistent_volume_reply_from_dict = GetPersistentVolumeReply.from_dict(get_persistent_volume_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetProjectReply.md b/koyeb/api_async/docs/GetProjectReply.md new file mode 100644 index 00000000..dd48fee7 --- /dev/null +++ b/koyeb/api_async/docs/GetProjectReply.md @@ -0,0 +1,29 @@ +# GetProjectReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**project** | [**Project**](Project.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_project_reply import GetProjectReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetProjectReply from a JSON string +get_project_reply_instance = GetProjectReply.from_json(json) +# print the JSON string representation of the object +print(GetProjectReply.to_json()) + +# convert the object into a dict +get_project_reply_dict = get_project_reply_instance.to_dict() +# create an instance of GetProjectReply from a dict +get_project_reply_from_dict = GetProjectReply.from_dict(get_project_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetQuotasReply.md b/koyeb/api_async/docs/GetQuotasReply.md new file mode 100644 index 00000000..3788160b --- /dev/null +++ b/koyeb/api_async/docs/GetQuotasReply.md @@ -0,0 +1,29 @@ +# GetQuotasReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**quotas** | [**Quotas**](Quotas.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_quotas_reply import GetQuotasReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetQuotasReply from a JSON string +get_quotas_reply_instance = GetQuotasReply.from_json(json) +# print the JSON string representation of the object +print(GetQuotasReply.to_json()) + +# convert the object into a dict +get_quotas_reply_dict = get_quotas_reply_instance.to_dict() +# create an instance of GetQuotasReply from a dict +get_quotas_reply_from_dict = GetQuotasReply.from_dict(get_quotas_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetRegionReply.md b/koyeb/api_async/docs/GetRegionReply.md new file mode 100644 index 00000000..e6e99c19 --- /dev/null +++ b/koyeb/api_async/docs/GetRegionReply.md @@ -0,0 +1,29 @@ +# GetRegionReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**region** | [**Region**](Region.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_region_reply import GetRegionReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRegionReply from a JSON string +get_region_reply_instance = GetRegionReply.from_json(json) +# print the JSON string representation of the object +print(GetRegionReply.to_json()) + +# convert the object into a dict +get_region_reply_dict = get_region_reply_instance.to_dict() +# create an instance of GetRegionReply from a dict +get_region_reply_from_dict = GetRegionReply.from_dict(get_region_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetRegionalDeploymentReply.md b/koyeb/api_async/docs/GetRegionalDeploymentReply.md new file mode 100644 index 00000000..c0182491 --- /dev/null +++ b/koyeb/api_async/docs/GetRegionalDeploymentReply.md @@ -0,0 +1,29 @@ +# GetRegionalDeploymentReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**regional_deployment** | [**RegionalDeployment**](RegionalDeployment.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_regional_deployment_reply import GetRegionalDeploymentReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRegionalDeploymentReply from a JSON string +get_regional_deployment_reply_instance = GetRegionalDeploymentReply.from_json(json) +# print the JSON string representation of the object +print(GetRegionalDeploymentReply.to_json()) + +# convert the object into a dict +get_regional_deployment_reply_dict = get_regional_deployment_reply_instance.to_dict() +# create an instance of GetRegionalDeploymentReply from a dict +get_regional_deployment_reply_from_dict = GetRegionalDeploymentReply.from_dict(get_regional_deployment_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetSecretReply.md b/koyeb/api_async/docs/GetSecretReply.md new file mode 100644 index 00000000..54ba8efb --- /dev/null +++ b/koyeb/api_async/docs/GetSecretReply.md @@ -0,0 +1,29 @@ +# GetSecretReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**secret** | [**Secret**](Secret.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_secret_reply import GetSecretReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetSecretReply from a JSON string +get_secret_reply_instance = GetSecretReply.from_json(json) +# print the JSON string representation of the object +print(GetSecretReply.to_json()) + +# convert the object into a dict +get_secret_reply_dict = get_secret_reply_instance.to_dict() +# create an instance of GetSecretReply from a dict +get_secret_reply_from_dict = GetSecretReply.from_dict(get_secret_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetServiceReply.md b/koyeb/api_async/docs/GetServiceReply.md new file mode 100644 index 00000000..993396ec --- /dev/null +++ b/koyeb/api_async/docs/GetServiceReply.md @@ -0,0 +1,29 @@ +# GetServiceReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**service** | [**Service**](Service.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_service_reply import GetServiceReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetServiceReply from a JSON string +get_service_reply_instance = GetServiceReply.from_json(json) +# print the JSON string representation of the object +print(GetServiceReply.to_json()) + +# convert the object into a dict +get_service_reply_dict = get_service_reply_instance.to_dict() +# create an instance of GetServiceReply from a dict +get_service_reply_from_dict = GetServiceReply.from_dict(get_service_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetServiceScalingReply.md b/koyeb/api_async/docs/GetServiceScalingReply.md new file mode 100644 index 00000000..fadd5f55 --- /dev/null +++ b/koyeb/api_async/docs/GetServiceScalingReply.md @@ -0,0 +1,29 @@ +# GetServiceScalingReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**scalings** | [**List[ManualServiceScaling]**](ManualServiceScaling.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_service_scaling_reply import GetServiceScalingReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetServiceScalingReply from a JSON string +get_service_scaling_reply_instance = GetServiceScalingReply.from_json(json) +# print the JSON string representation of the object +print(GetServiceScalingReply.to_json()) + +# convert the object into a dict +get_service_scaling_reply_dict = get_service_scaling_reply_instance.to_dict() +# create an instance of GetServiceScalingReply from a dict +get_service_scaling_reply_from_dict = GetServiceScalingReply.from_dict(get_service_scaling_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetSnapshotReply.md b/koyeb/api_async/docs/GetSnapshotReply.md new file mode 100644 index 00000000..8d8db77c --- /dev/null +++ b/koyeb/api_async/docs/GetSnapshotReply.md @@ -0,0 +1,29 @@ +# GetSnapshotReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**snapshot** | [**Snapshot**](Snapshot.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_snapshot_reply import GetSnapshotReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetSnapshotReply from a JSON string +get_snapshot_reply_instance = GetSnapshotReply.from_json(json) +# print the JSON string representation of the object +print(GetSnapshotReply.to_json()) + +# convert the object into a dict +get_snapshot_reply_dict = get_snapshot_reply_instance.to_dict() +# create an instance of GetSnapshotReply from a dict +get_snapshot_reply_from_dict = GetSnapshotReply.from_dict(get_snapshot_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetSubscriptionReply.md b/koyeb/api_async/docs/GetSubscriptionReply.md new file mode 100644 index 00000000..62809ae4 --- /dev/null +++ b/koyeb/api_async/docs/GetSubscriptionReply.md @@ -0,0 +1,29 @@ +# GetSubscriptionReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**subscription** | [**Subscription**](Subscription.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_subscription_reply import GetSubscriptionReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetSubscriptionReply from a JSON string +get_subscription_reply_instance = GetSubscriptionReply.from_json(json) +# print the JSON string representation of the object +print(GetSubscriptionReply.to_json()) + +# convert the object into a dict +get_subscription_reply_dict = get_subscription_reply_instance.to_dict() +# create an instance of GetSubscriptionReply from a dict +get_subscription_reply_from_dict = GetSubscriptionReply.from_dict(get_subscription_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetUserOrganizationInvitationReply.md b/koyeb/api_async/docs/GetUserOrganizationInvitationReply.md new file mode 100644 index 00000000..92743ac3 --- /dev/null +++ b/koyeb/api_async/docs/GetUserOrganizationInvitationReply.md @@ -0,0 +1,29 @@ +# GetUserOrganizationInvitationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**invitation** | [**OrganizationInvitation**](OrganizationInvitation.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_user_organization_invitation_reply import GetUserOrganizationInvitationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetUserOrganizationInvitationReply from a JSON string +get_user_organization_invitation_reply_instance = GetUserOrganizationInvitationReply.from_json(json) +# print the JSON string representation of the object +print(GetUserOrganizationInvitationReply.to_json()) + +# convert the object into a dict +get_user_organization_invitation_reply_dict = get_user_organization_invitation_reply_instance.to_dict() +# create an instance of GetUserOrganizationInvitationReply from a dict +get_user_organization_invitation_reply_from_dict = GetUserOrganizationInvitationReply.from_dict(get_user_organization_invitation_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GetUserSettingsReply.md b/koyeb/api_async/docs/GetUserSettingsReply.md new file mode 100644 index 00000000..0034cf39 --- /dev/null +++ b/koyeb/api_async/docs/GetUserSettingsReply.md @@ -0,0 +1,29 @@ +# GetUserSettingsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**settings** | [**UserSettings**](UserSettings.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.get_user_settings_reply import GetUserSettingsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GetUserSettingsReply from a JSON string +get_user_settings_reply_instance = GetUserSettingsReply.from_json(json) +# print the JSON string representation of the object +print(GetUserSettingsReply.to_json()) + +# convert the object into a dict +get_user_settings_reply_dict = get_user_settings_reply_instance.to_dict() +# create an instance of GetUserSettingsReply from a dict +get_user_settings_reply_from_dict = GetUserSettingsReply.from_dict(get_user_settings_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GitDeploymentMetadata.md b/koyeb/api_async/docs/GitDeploymentMetadata.md new file mode 100644 index 00000000..33fc6728 --- /dev/null +++ b/koyeb/api_async/docs/GitDeploymentMetadata.md @@ -0,0 +1,30 @@ +# GitDeploymentMetadata + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**last_provisioned_deployment_id** | **str** | | [optional] +**git_env** | [**GitEnvDeploymentMetadata**](GitEnvDeploymentMetadata.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.git_deployment_metadata import GitDeploymentMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of GitDeploymentMetadata from a JSON string +git_deployment_metadata_instance = GitDeploymentMetadata.from_json(json) +# print the JSON string representation of the object +print(GitDeploymentMetadata.to_json()) + +# convert the object into a dict +git_deployment_metadata_dict = git_deployment_metadata_instance.to_dict() +# create an instance of GitDeploymentMetadata from a dict +git_deployment_metadata_from_dict = GitDeploymentMetadata.from_dict(git_deployment_metadata_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GitEnvDeploymentMetadata.md b/koyeb/api_async/docs/GitEnvDeploymentMetadata.md new file mode 100644 index 00000000..66bf4504 --- /dev/null +++ b/koyeb/api_async/docs/GitEnvDeploymentMetadata.md @@ -0,0 +1,31 @@ +# GitEnvDeploymentMetadata + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sha** | **str** | | [optional] +**commit_author** | **str** | | [optional] +**commit_message** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.git_env_deployment_metadata import GitEnvDeploymentMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of GitEnvDeploymentMetadata from a JSON string +git_env_deployment_metadata_instance = GitEnvDeploymentMetadata.from_json(json) +# print the JSON string representation of the object +print(GitEnvDeploymentMetadata.to_json()) + +# convert the object into a dict +git_env_deployment_metadata_dict = git_env_deployment_metadata_instance.to_dict() +# create an instance of GitEnvDeploymentMetadata from a dict +git_env_deployment_metadata_from_dict = GitEnvDeploymentMetadata.from_dict(git_env_deployment_metadata_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GitHubRegistryConfiguration.md b/koyeb/api_async/docs/GitHubRegistryConfiguration.md new file mode 100644 index 00000000..36090beb --- /dev/null +++ b/koyeb/api_async/docs/GitHubRegistryConfiguration.md @@ -0,0 +1,30 @@ +# GitHubRegistryConfiguration + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | **str** | | [optional] +**password** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.git_hub_registry_configuration import GitHubRegistryConfiguration + +# TODO update the JSON string below +json = "{}" +# create an instance of GitHubRegistryConfiguration from a JSON string +git_hub_registry_configuration_instance = GitHubRegistryConfiguration.from_json(json) +# print the JSON string representation of the object +print(GitHubRegistryConfiguration.to_json()) + +# convert the object into a dict +git_hub_registry_configuration_dict = git_hub_registry_configuration_instance.to_dict() +# create an instance of GitHubRegistryConfiguration from a dict +git_hub_registry_configuration_from_dict = GitHubRegistryConfiguration.from_dict(git_hub_registry_configuration_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GitLabRegistryConfiguration.md b/koyeb/api_async/docs/GitLabRegistryConfiguration.md new file mode 100644 index 00000000..9373cbc3 --- /dev/null +++ b/koyeb/api_async/docs/GitLabRegistryConfiguration.md @@ -0,0 +1,30 @@ +# GitLabRegistryConfiguration + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | **str** | | [optional] +**password** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.git_lab_registry_configuration import GitLabRegistryConfiguration + +# TODO update the JSON string below +json = "{}" +# create an instance of GitLabRegistryConfiguration from a JSON string +git_lab_registry_configuration_instance = GitLabRegistryConfiguration.from_json(json) +# print the JSON string representation of the object +print(GitLabRegistryConfiguration.to_json()) + +# convert the object into a dict +git_lab_registry_configuration_dict = git_lab_registry_configuration_instance.to_dict() +# create an instance of GitLabRegistryConfiguration from a dict +git_lab_registry_configuration_from_dict = GitLabRegistryConfiguration.from_dict(git_lab_registry_configuration_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GitSource.md b/koyeb/api_async/docs/GitSource.md new file mode 100644 index 00000000..41aeb467 --- /dev/null +++ b/koyeb/api_async/docs/GitSource.md @@ -0,0 +1,38 @@ +# GitSource + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**repository** | **str** | A url to a git repository (contains the provider as well) .e.g: github.com/koyeb/test. | [optional] +**branch** | **str** | | [optional] +**tag** | **str** | | [optional] +**sha** | **str** | | [optional] +**build_command** | **str** | | [optional] +**run_command** | **str** | | [optional] +**no_deploy_on_push** | **bool** | | [optional] +**workdir** | **str** | | [optional] +**buildpack** | [**BuildpackBuilder**](BuildpackBuilder.md) | | [optional] +**docker** | [**DockerBuilder**](DockerBuilder.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.git_source import GitSource + +# TODO update the JSON string below +json = "{}" +# create an instance of GitSource from a JSON string +git_source_instance = GitSource.from_json(json) +# print the JSON string representation of the object +print(GitSource.to_json()) + +# convert the object into a dict +git_source_dict = git_source_instance.to_dict() +# create an instance of GitSource from a dict +git_source_from_dict = GitSource.from_dict(git_source_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GithubInstallationReply.md b/koyeb/api_async/docs/GithubInstallationReply.md new file mode 100644 index 00000000..ddb89c8f --- /dev/null +++ b/koyeb/api_async/docs/GithubInstallationReply.md @@ -0,0 +1,32 @@ +# GithubInstallationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app_name** | **str** | | [optional] +**app_id** | **str** | | [optional] +**url** | **str** | | [optional] +**state** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.github_installation_reply import GithubInstallationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of GithubInstallationReply from a JSON string +github_installation_reply_instance = GithubInstallationReply.from_json(json) +# print the JSON string representation of the object +print(GithubInstallationReply.to_json()) + +# convert the object into a dict +github_installation_reply_dict = github_installation_reply_instance.to_dict() +# create an instance of GithubInstallationReply from a dict +github_installation_reply_from_dict = GithubInstallationReply.from_dict(github_installation_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GithubInstallationRequest.md b/koyeb/api_async/docs/GithubInstallationRequest.md new file mode 100644 index 00000000..090e2b70 --- /dev/null +++ b/koyeb/api_async/docs/GithubInstallationRequest.md @@ -0,0 +1,29 @@ +# GithubInstallationRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**metadata** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.github_installation_request import GithubInstallationRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of GithubInstallationRequest from a JSON string +github_installation_request_instance = GithubInstallationRequest.from_json(json) +# print the JSON string representation of the object +print(GithubInstallationRequest.to_json()) + +# convert the object into a dict +github_installation_request_dict = github_installation_request_instance.to_dict() +# create an instance of GithubInstallationRequest from a dict +github_installation_request_from_dict = GithubInstallationRequest.from_dict(github_installation_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GoogleProtobufAny.md b/koyeb/api_async/docs/GoogleProtobufAny.md new file mode 100644 index 00000000..0f87f319 --- /dev/null +++ b/koyeb/api_async/docs/GoogleProtobufAny.md @@ -0,0 +1,29 @@ +# GoogleProtobufAny + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.google_protobuf_any import GoogleProtobufAny + +# TODO update the JSON string below +json = "{}" +# create an instance of GoogleProtobufAny from a JSON string +google_protobuf_any_instance = GoogleProtobufAny.from_json(json) +# print the JSON string representation of the object +print(GoogleProtobufAny.to_json()) + +# convert the object into a dict +google_protobuf_any_dict = google_protobuf_any_instance.to_dict() +# create an instance of GoogleProtobufAny from a dict +google_protobuf_any_from_dict = GoogleProtobufAny.from_dict(google_protobuf_any_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GoogleProtobufNullValue.md b/koyeb/api_async/docs/GoogleProtobufNullValue.md new file mode 100644 index 00000000..a6113f0a --- /dev/null +++ b/koyeb/api_async/docs/GoogleProtobufNullValue.md @@ -0,0 +1,11 @@ +# GoogleProtobufNullValue + +`NullValue` is a singleton enumeration to represent the null value for the `Value` type union. The JSON representation for `NullValue` is JSON `null`. - NULL_VALUE: Null value. + +## Enum + +* `NULL_VALUE` (value: `'NULL_VALUE'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/GoogleRpcStatus.md b/koyeb/api_async/docs/GoogleRpcStatus.md new file mode 100644 index 00000000..b2d385b9 --- /dev/null +++ b/koyeb/api_async/docs/GoogleRpcStatus.md @@ -0,0 +1,31 @@ +# GoogleRpcStatus + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | **int** | | [optional] +**message** | **str** | | [optional] +**details** | [**List[GoogleProtobufAny]**](GoogleProtobufAny.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.google_rpc_status import GoogleRpcStatus + +# TODO update the JSON string below +json = "{}" +# create an instance of GoogleRpcStatus from a JSON string +google_rpc_status_instance = GoogleRpcStatus.from_json(json) +# print the JSON string representation of the object +print(GoogleRpcStatus.to_json()) + +# convert the object into a dict +google_rpc_status_dict = google_rpc_status_instance.to_dict() +# create an instance of GoogleRpcStatus from a dict +google_rpc_status_from_dict = GoogleRpcStatus.from_dict(google_rpc_status_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/HTTPHeader.md b/koyeb/api_async/docs/HTTPHeader.md new file mode 100644 index 00000000..2f33e95b --- /dev/null +++ b/koyeb/api_async/docs/HTTPHeader.md @@ -0,0 +1,30 @@ +# HTTPHeader + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | **str** | | [optional] +**value** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.http_header import HTTPHeader + +# TODO update the JSON string below +json = "{}" +# create an instance of HTTPHeader from a JSON string +http_header_instance = HTTPHeader.from_json(json) +# print the JSON string representation of the object +print(HTTPHeader.to_json()) + +# convert the object into a dict +http_header_dict = http_header_instance.to_dict() +# create an instance of HTTPHeader from a dict +http_header_from_dict = HTTPHeader.from_dict(http_header_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/HTTPHealthCheck.md b/koyeb/api_async/docs/HTTPHealthCheck.md new file mode 100644 index 00000000..644298dc --- /dev/null +++ b/koyeb/api_async/docs/HTTPHealthCheck.md @@ -0,0 +1,32 @@ +# HTTPHealthCheck + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**port** | **int** | | [optional] +**path** | **str** | | [optional] +**method** | **str** | | [optional] +**headers** | [**List[HTTPHeader]**](HTTPHeader.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.http_health_check import HTTPHealthCheck + +# TODO update the JSON string below +json = "{}" +# create an instance of HTTPHealthCheck from a JSON string +http_health_check_instance = HTTPHealthCheck.from_json(json) +# print the JSON string representation of the object +print(HTTPHealthCheck.to_json()) + +# convert the object into a dict +http_health_check_dict = http_health_check_instance.to_dict() +# create an instance of HTTPHealthCheck from a dict +http_health_check_from_dict = HTTPHealthCheck.from_dict(http_health_check_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/HasUnpaidInvoicesReply.md b/koyeb/api_async/docs/HasUnpaidInvoicesReply.md new file mode 100644 index 00000000..745b393e --- /dev/null +++ b/koyeb/api_async/docs/HasUnpaidInvoicesReply.md @@ -0,0 +1,29 @@ +# HasUnpaidInvoicesReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**has_unpaid_invoices** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.has_unpaid_invoices_reply import HasUnpaidInvoicesReply + +# TODO update the JSON string below +json = "{}" +# create an instance of HasUnpaidInvoicesReply from a JSON string +has_unpaid_invoices_reply_instance = HasUnpaidInvoicesReply.from_json(json) +# print the JSON string representation of the object +print(HasUnpaidInvoicesReply.to_json()) + +# convert the object into a dict +has_unpaid_invoices_reply_dict = has_unpaid_invoices_reply_instance.to_dict() +# create an instance of HasUnpaidInvoicesReply from a dict +has_unpaid_invoices_reply_from_dict = HasUnpaidInvoicesReply.from_dict(has_unpaid_invoices_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Instance.md b/koyeb/api_async/docs/Instance.md new file mode 100644 index 00000000..d4fa81b6 --- /dev/null +++ b/koyeb/api_async/docs/Instance.md @@ -0,0 +1,47 @@ +# Instance + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**service_id** | **str** | | [optional] +**regional_deployment_id** | **str** | | [optional] +**allocation_id** | **str** | | [optional] +**type** | **str** | | [optional] +**replica_index** | **int** | | [optional] +**region** | **str** | | [optional] +**datacenter** | **str** | | [optional] +**hypervisor** | **str** | | [optional] +**status** | [**InstanceStatus**](InstanceStatus.md) | | [optional] [default to InstanceStatus.ALLOCATING] +**messages** | **List[str]** | | [optional] +**started_at** | **datetime** | | [optional] +**succeeded_at** | **datetime** | | [optional] +**terminated_at** | **datetime** | | [optional] +**xyz_deployment_id** | **str** | WARNING: Please don't use the following attribute. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. | [optional] + +## Example + +```python +from koyeb.api_async.models.instance import Instance + +# TODO update the JSON string below +json = "{}" +# create an instance of Instance from a JSON string +instance_instance = Instance.from_json(json) +# print the JSON string representation of the object +print(Instance.to_json()) + +# convert the object into a dict +instance_dict = instance_instance.to_dict() +# create an instance of Instance from a dict +instance_from_dict = Instance.from_dict(instance_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/InstanceAvailability.md b/koyeb/api_async/docs/InstanceAvailability.md new file mode 100644 index 00000000..f9294d04 --- /dev/null +++ b/koyeb/api_async/docs/InstanceAvailability.md @@ -0,0 +1,30 @@ +# InstanceAvailability + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**regions** | [**Dict[str, RegionAvailability]**](RegionAvailability.md) | | [optional] +**availability** | [**AvailabilityLevel**](AvailabilityLevel.md) | | [optional] [default to AvailabilityLevel.UNKNOWN] + +## Example + +```python +from koyeb.api_async.models.instance_availability import InstanceAvailability + +# TODO update the JSON string below +json = "{}" +# create an instance of InstanceAvailability from a JSON string +instance_availability_instance = InstanceAvailability.from_json(json) +# print the JSON string representation of the object +print(InstanceAvailability.to_json()) + +# convert the object into a dict +instance_availability_dict = instance_availability_instance.to_dict() +# create an instance of InstanceAvailability from a dict +instance_availability_from_dict = InstanceAvailability.from_dict(instance_availability_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/InstanceEvent.md b/koyeb/api_async/docs/InstanceEvent.md new file mode 100644 index 00000000..bcd1b6d3 --- /dev/null +++ b/koyeb/api_async/docs/InstanceEvent.md @@ -0,0 +1,35 @@ +# InstanceEvent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**when** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**instance_id** | **str** | | [optional] +**type** | **str** | | [optional] +**message** | **str** | | [optional] +**metadata** | **object** | | [optional] + +## Example + +```python +from koyeb.api_async.models.instance_event import InstanceEvent + +# TODO update the JSON string below +json = "{}" +# create an instance of InstanceEvent from a JSON string +instance_event_instance = InstanceEvent.from_json(json) +# print the JSON string representation of the object +print(InstanceEvent.to_json()) + +# convert the object into a dict +instance_event_dict = instance_event_instance.to_dict() +# create an instance of InstanceEvent from a dict +instance_event_from_dict = InstanceEvent.from_dict(instance_event_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/InstanceListItem.md b/koyeb/api_async/docs/InstanceListItem.md new file mode 100644 index 00000000..f663ff15 --- /dev/null +++ b/koyeb/api_async/docs/InstanceListItem.md @@ -0,0 +1,43 @@ +# InstanceListItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**service_id** | **str** | | [optional] +**regional_deployment_id** | **str** | | [optional] +**allocation_id** | **str** | | [optional] +**type** | **str** | | [optional] +**replica_index** | **int** | | [optional] +**region** | **str** | | [optional] +**datacenter** | **str** | | [optional] +**status** | [**InstanceStatus**](InstanceStatus.md) | | [optional] [default to InstanceStatus.ALLOCATING] +**messages** | **List[str]** | | [optional] +**xyz_deployment_id** | **str** | WARNING: Please don't use the following attribute. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK. | [optional] + +## Example + +```python +from koyeb.api_async.models.instance_list_item import InstanceListItem + +# TODO update the JSON string below +json = "{}" +# create an instance of InstanceListItem from a JSON string +instance_list_item_instance = InstanceListItem.from_json(json) +# print the JSON string representation of the object +print(InstanceListItem.to_json()) + +# convert the object into a dict +instance_list_item_dict = instance_list_item_instance.to_dict() +# create an instance of InstanceListItem from a dict +instance_list_item_from_dict = InstanceListItem.from_dict(instance_list_item_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/InstanceStatus.md b/koyeb/api_async/docs/InstanceStatus.md new file mode 100644 index 00000000..630e30f9 --- /dev/null +++ b/koyeb/api_async/docs/InstanceStatus.md @@ -0,0 +1,24 @@ +# InstanceStatus + + +## Enum + +* `ALLOCATING` (value: `'ALLOCATING'`) + +* `STARTING` (value: `'STARTING'`) + +* `HEALTHY` (value: `'HEALTHY'`) + +* `UNHEALTHY` (value: `'UNHEALTHY'`) + +* `STOPPING` (value: `'STOPPING'`) + +* `STOPPED` (value: `'STOPPED'`) + +* `ERROR` (value: `'ERROR'`) + +* `SLEEPING` (value: `'SLEEPING'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/InstanceUsage.md b/koyeb/api_async/docs/InstanceUsage.md new file mode 100644 index 00000000..65942136 --- /dev/null +++ b/koyeb/api_async/docs/InstanceUsage.md @@ -0,0 +1,29 @@ +# InstanceUsage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**duration_seconds** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.instance_usage import InstanceUsage + +# TODO update the JSON string below +json = "{}" +# create an instance of InstanceUsage from a JSON string +instance_usage_instance = InstanceUsage.from_json(json) +# print the JSON string representation of the object +print(InstanceUsage.to_json()) + +# convert the object into a dict +instance_usage_dict = instance_usage_instance.to_dict() +# create an instance of InstanceUsage from a dict +instance_usage_from_dict = InstanceUsage.from_dict(instance_usage_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/InstancesApi.md b/koyeb/api_async/docs/InstancesApi.md new file mode 100644 index 00000000..c5c0307b --- /dev/null +++ b/koyeb/api_async/docs/InstancesApi.md @@ -0,0 +1,394 @@ +# koyeb.api_async.InstancesApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**exec_command**](InstancesApi.md#exec_command) | **GET** /v1/streams/instances/exec | Exec Command +[**get_instance**](InstancesApi.md#get_instance) | **GET** /v1/instances/{id} | Get Instance +[**list_instance_events**](InstancesApi.md#list_instance_events) | **GET** /v1/instance_events | List Instance events +[**list_instances**](InstancesApi.md#list_instances) | **GET** /v1/instances | List Instances + + +# **exec_command** +> StreamResultOfExecCommandReply exec_command(id=id, body_command=body_command, body_tty_size_height=body_tty_size_height, body_tty_size_width=body_tty_size_width, body_stdin_data=body_stdin_data, body_stdin_close=body_stdin_close, body_disable_tty=body_disable_tty, id_type=id_type) + +Exec Command + +This endpoint opens a websocket. Once open, all frames going through the websocket should be formatted in JSON. Input frames should match the format specified below. Output frames will match the response schema. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.stream_result_of_exec_command_reply import StreamResultOfExecCommandReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.InstancesApi(api_client) + id = 'id_example' # str | ID of the resource to exec on. (optional) + body_command = ['body_command_example'] # List[str] | Command to exec. Mandatory in the first frame sent (optional) + body_tty_size_height = 56 # int | (optional) + body_tty_size_width = 56 # int | (optional) + body_stdin_data = None # bytes | Data is base64 encoded (optional) + body_stdin_close = True # bool | Indicate last data frame (optional) + body_disable_tty = True # bool | Disable TTY. It's enough to specify it in the first frame (optional) + id_type = INVALID # str | When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id. (optional) (default to INVALID) + + try: + # Exec Command + api_response = await api_instance.exec_command(id=id, body_command=body_command, body_tty_size_height=body_tty_size_height, body_tty_size_width=body_tty_size_width, body_stdin_data=body_stdin_data, body_stdin_close=body_stdin_close, body_disable_tty=body_disable_tty, id_type=id_type) + print("The response of InstancesApi->exec_command:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling InstancesApi->exec_command: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| ID of the resource to exec on. | [optional] + **body_command** | [**List[str]**](str.md)| Command to exec. Mandatory in the first frame sent | [optional] + **body_tty_size_height** | **int**| | [optional] + **body_tty_size_width** | **int**| | [optional] + **body_stdin_data** | **bytes**| Data is base64 encoded | [optional] + **body_stdin_close** | **bool**| Indicate last data frame | [optional] + **body_disable_tty** | **bool**| Disable TTY. It's enough to specify it in the first frame | [optional] + **id_type** | **str**| When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id. | [optional] [default to INVALID] + +### Return type + +[**StreamResultOfExecCommandReply**](StreamResultOfExecCommandReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response.(streaming responses) | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_instance** +> GetInstanceReply get_instance(id) + +Get Instance + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_instance_reply import GetInstanceReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.InstancesApi(api_client) + id = 'id_example' # str | The id of the instance + + try: + # Get Instance + api_response = await api_instance.get_instance(id) + print("The response of InstancesApi->get_instance:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling InstancesApi->get_instance: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the instance | + +### Return type + +[**GetInstanceReply**](GetInstanceReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_instance_events** +> ListInstanceEventsReply list_instance_events(instance_ids=instance_ids, types=types, limit=limit, offset=offset, order=order) + +List Instance events + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_instance_events_reply import ListInstanceEventsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.InstancesApi(api_client) + instance_ids = ['instance_ids_example'] # List[str] | (Optional) Filter on list of instance id (optional) + types = ['types_example'] # List[str] | (Optional) Filter on instance event types (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + order = 'order_example' # str | (Optional) Sorts the list in the ascending or the descending order (optional) + + try: + # List Instance events + api_response = await api_instance.list_instance_events(instance_ids=instance_ids, types=types, limit=limit, offset=offset, order=order) + print("The response of InstancesApi->list_instance_events:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling InstancesApi->list_instance_events: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **instance_ids** | [**List[str]**](str.md)| (Optional) Filter on list of instance id | [optional] + **types** | [**List[str]**](str.md)| (Optional) Filter on instance event types | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **order** | **str**| (Optional) Sorts the list in the ascending or the descending order | [optional] + +### Return type + +[**ListInstanceEventsReply**](ListInstanceEventsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_instances** +> ListInstancesReply list_instances(app_id=app_id, service_id=service_id, deployment_id=deployment_id, regional_deployment_id=regional_deployment_id, allocation_id=allocation_id, replica_index=replica_index, statuses=statuses, limit=limit, offset=offset, order=order, starting_time=starting_time, ending_time=ending_time) + +List Instances + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_instances_reply import ListInstancesReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.InstancesApi(api_client) + app_id = 'app_id_example' # str | (Optional) Filter on application id (optional) + service_id = 'service_id_example' # str | (Optional) Filter on service id (optional) + deployment_id = 'deployment_id_example' # str | (Optional) Filter on deployment id (optional) + regional_deployment_id = 'regional_deployment_id_example' # str | (Optional) Filter on regional deployment id (optional) + allocation_id = 'allocation_id_example' # str | (Optional) Filter on allocation id (optional) + replica_index = 'replica_index_example' # str | (Optional) Filter on replica index (optional) + statuses = ['statuses_example'] # List[str] | (Optional) Filter on instance statuses (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + order = 'order_example' # str | (Optional) Sorts the list in the ascending or the descending order (optional) + starting_time = '2013-10-20T19:20:30+01:00' # datetime | (Optional) The starting time of the period of running instance (optional) + ending_time = '2013-10-20T19:20:30+01:00' # datetime | (Optional) The ending time of the period of running instance (optional) + + try: + # List Instances + api_response = await api_instance.list_instances(app_id=app_id, service_id=service_id, deployment_id=deployment_id, regional_deployment_id=regional_deployment_id, allocation_id=allocation_id, replica_index=replica_index, statuses=statuses, limit=limit, offset=offset, order=order, starting_time=starting_time, ending_time=ending_time) + print("The response of InstancesApi->list_instances:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling InstancesApi->list_instances: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **app_id** | **str**| (Optional) Filter on application id | [optional] + **service_id** | **str**| (Optional) Filter on service id | [optional] + **deployment_id** | **str**| (Optional) Filter on deployment id | [optional] + **regional_deployment_id** | **str**| (Optional) Filter on regional deployment id | [optional] + **allocation_id** | **str**| (Optional) Filter on allocation id | [optional] + **replica_index** | **str**| (Optional) Filter on replica index | [optional] + **statuses** | [**List[str]**](str.md)| (Optional) Filter on instance statuses | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **order** | **str**| (Optional) Sorts the list in the ascending or the descending order | [optional] + **starting_time** | **datetime**| (Optional) The starting time of the period of running instance | [optional] + **ending_time** | **datetime**| (Optional) The ending time of the period of running instance | [optional] + +### Return type + +[**ListInstancesReply**](ListInstancesReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/InstancesSummary.md b/koyeb/api_async/docs/InstancesSummary.md new file mode 100644 index 00000000..a6e243df --- /dev/null +++ b/koyeb/api_async/docs/InstancesSummary.md @@ -0,0 +1,30 @@ +# InstancesSummary + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total** | **str** | | [optional] +**by_type** | **Dict[str, str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.instances_summary import InstancesSummary + +# TODO update the JSON string below +json = "{}" +# create an instance of InstancesSummary from a JSON string +instances_summary_instance = InstancesSummary.from_json(json) +# print the JSON string representation of the object +print(InstancesSummary.to_json()) + +# convert the object into a dict +instances_summary_dict = instances_summary_instance.to_dict() +# create an instance of InstancesSummary from a dict +instances_summary_from_dict = InstancesSummary.from_dict(instances_summary_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/IntercomApi.md b/koyeb/api_async/docs/IntercomApi.md new file mode 100644 index 00000000..4774e330 --- /dev/null +++ b/koyeb/api_async/docs/IntercomApi.md @@ -0,0 +1,89 @@ +# koyeb.api_async.IntercomApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_intercom_profile**](IntercomApi.md#get_intercom_profile) | **GET** /v1/intercom/profile | Get intercom profile + + +# **get_intercom_profile** +> GetIntercomProfileReply get_intercom_profile() + +Get intercom profile + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_intercom_profile_reply import GetIntercomProfileReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.IntercomApi(api_client) + + try: + # Get intercom profile + api_response = await api_instance.get_intercom_profile() + print("The response of IntercomApi->get_intercom_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling IntercomApi->get_intercom_profile: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**GetIntercomProfileReply**](GetIntercomProfileReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/InviteApi.md b/koyeb/api_async/docs/InviteApi.md new file mode 100644 index 00000000..3cfe9602 --- /dev/null +++ b/koyeb/api_async/docs/InviteApi.md @@ -0,0 +1,93 @@ +# koyeb.api_async.InviteApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_invite**](InviteApi.md#create_invite) | **POST** /v1/account/invite | DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + +# **create_invite** +> object create_invite(body) + +DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.invite_user_request import InviteUserRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.InviteApi(api_client) + body = koyeb.api_async.InviteUserRequest() # InviteUserRequest | + + try: + # DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.create_invite(body) + print("The response of InviteApi->create_invite:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling InviteApi->create_invite: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**InviteUserRequest**](InviteUserRequest.md)| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/InviteUserRequest.md b/koyeb/api_async/docs/InviteUserRequest.md new file mode 100644 index 00000000..80d004db --- /dev/null +++ b/koyeb/api_async/docs/InviteUserRequest.md @@ -0,0 +1,31 @@ +# InviteUserRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | **str** | | [optional] +**name** | **str** | | [optional] +**message** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.invite_user_request import InviteUserRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of InviteUserRequest from a JSON string +invite_user_request_instance = InviteUserRequest.from_json(json) +# print the JSON string representation of the object +print(InviteUserRequest.to_json()) + +# convert the object into a dict +invite_user_request_dict = invite_user_request_instance.to_dict() +# create an instance of InviteUserRequest from a dict +invite_user_request_from_dict = InviteUserRequest.from_dict(invite_user_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KgitproxyBranch.md b/koyeb/api_async/docs/KgitproxyBranch.md new file mode 100644 index 00000000..758eb20c --- /dev/null +++ b/koyeb/api_async/docs/KgitproxyBranch.md @@ -0,0 +1,35 @@ +# KgitproxyBranch + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**repository_id** | **str** | | [optional] +**name** | **str** | | [optional] +**is_default** | **bool** | | [optional] +**is_protected** | **bool** | | [optional] +**provider** | [**KgitproxyRepositoryProvider**](KgitproxyRepositoryProvider.md) | | [optional] [default to KgitproxyRepositoryProvider.INVALID_PROVIDER] + +## Example + +```python +from koyeb.api_async.models.kgitproxy_branch import KgitproxyBranch + +# TODO update the JSON string below +json = "{}" +# create an instance of KgitproxyBranch from a JSON string +kgitproxy_branch_instance = KgitproxyBranch.from_json(json) +# print the JSON string representation of the object +print(KgitproxyBranch.to_json()) + +# convert the object into a dict +kgitproxy_branch_dict = kgitproxy_branch_instance.to_dict() +# create an instance of KgitproxyBranch from a dict +kgitproxy_branch_from_dict = KgitproxyBranch.from_dict(kgitproxy_branch_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KgitproxyGitHubRepository.md b/koyeb/api_async/docs/KgitproxyGitHubRepository.md new file mode 100644 index 00000000..077dff94 --- /dev/null +++ b/koyeb/api_async/docs/KgitproxyGitHubRepository.md @@ -0,0 +1,29 @@ +# KgitproxyGitHubRepository + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**github_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.kgitproxy_git_hub_repository import KgitproxyGitHubRepository + +# TODO update the JSON string below +json = "{}" +# create an instance of KgitproxyGitHubRepository from a JSON string +kgitproxy_git_hub_repository_instance = KgitproxyGitHubRepository.from_json(json) +# print the JSON string representation of the object +print(KgitproxyGitHubRepository.to_json()) + +# convert the object into a dict +kgitproxy_git_hub_repository_dict = kgitproxy_git_hub_repository_instance.to_dict() +# create an instance of KgitproxyGitHubRepository from a dict +kgitproxy_git_hub_repository_from_dict = KgitproxyGitHubRepository.from_dict(kgitproxy_git_hub_repository_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KgitproxyGithubInstallationStatus.md b/koyeb/api_async/docs/KgitproxyGithubInstallationStatus.md new file mode 100644 index 00000000..3f7b577b --- /dev/null +++ b/koyeb/api_async/docs/KgitproxyGithubInstallationStatus.md @@ -0,0 +1,16 @@ +# KgitproxyGithubInstallationStatus + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `INSTALLED` (value: `'INSTALLED'`) + +* `SUSPENDED` (value: `'SUSPENDED'`) + +* `DELETED` (value: `'DELETED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KgitproxyIndexingStatus.md b/koyeb/api_async/docs/KgitproxyIndexingStatus.md new file mode 100644 index 00000000..1644b7e7 --- /dev/null +++ b/koyeb/api_async/docs/KgitproxyIndexingStatus.md @@ -0,0 +1,16 @@ +# KgitproxyIndexingStatus + + +## Enum + +* `INVALID_INDEXING_STATUS` (value: `'INVALID_INDEXING_STATUS'`) + +* `NOT_STARTED` (value: `'NOT_STARTED'`) + +* `IN_PROGRESS` (value: `'IN_PROGRESS'`) + +* `COMPLETED` (value: `'COMPLETED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KgitproxyListBranchesReply.md b/koyeb/api_async/docs/KgitproxyListBranchesReply.md new file mode 100644 index 00000000..17344a9d --- /dev/null +++ b/koyeb/api_async/docs/KgitproxyListBranchesReply.md @@ -0,0 +1,32 @@ +# KgitproxyListBranchesReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**branches** | [**List[KgitproxyBranch]**](KgitproxyBranch.md) | The collection of branches. | [optional] +**limit** | **int** | The limit in the request. | [optional] +**offset** | **int** | The offset in the request. | [optional] +**count** | **int** | The total number of items. | [optional] + +## Example + +```python +from koyeb.api_async.models.kgitproxy_list_branches_reply import KgitproxyListBranchesReply + +# TODO update the JSON string below +json = "{}" +# create an instance of KgitproxyListBranchesReply from a JSON string +kgitproxy_list_branches_reply_instance = KgitproxyListBranchesReply.from_json(json) +# print the JSON string representation of the object +print(KgitproxyListBranchesReply.to_json()) + +# convert the object into a dict +kgitproxy_list_branches_reply_dict = kgitproxy_list_branches_reply_instance.to_dict() +# create an instance of KgitproxyListBranchesReply from a dict +kgitproxy_list_branches_reply_from_dict = KgitproxyListBranchesReply.from_dict(kgitproxy_list_branches_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KgitproxyListRepositoriesReply.md b/koyeb/api_async/docs/KgitproxyListRepositoriesReply.md new file mode 100644 index 00000000..08186161 --- /dev/null +++ b/koyeb/api_async/docs/KgitproxyListRepositoriesReply.md @@ -0,0 +1,32 @@ +# KgitproxyListRepositoriesReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**repositories** | [**List[KgitproxyRepository]**](KgitproxyRepository.md) | The collection of repositories. | [optional] +**limit** | **int** | The limit in the request. | [optional] +**offset** | **int** | The offset in the request. | [optional] +**count** | **int** | The total number of items. | [optional] + +## Example + +```python +from koyeb.api_async.models.kgitproxy_list_repositories_reply import KgitproxyListRepositoriesReply + +# TODO update the JSON string below +json = "{}" +# create an instance of KgitproxyListRepositoriesReply from a JSON string +kgitproxy_list_repositories_reply_instance = KgitproxyListRepositoriesReply.from_json(json) +# print the JSON string representation of the object +print(KgitproxyListRepositoriesReply.to_json()) + +# convert the object into a dict +kgitproxy_list_repositories_reply_dict = kgitproxy_list_repositories_reply_instance.to_dict() +# create an instance of KgitproxyListRepositoriesReply from a dict +kgitproxy_list_repositories_reply_from_dict = KgitproxyListRepositoriesReply.from_dict(kgitproxy_list_repositories_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KgitproxyRepository.md b/koyeb/api_async/docs/KgitproxyRepository.md new file mode 100644 index 00000000..0640216b --- /dev/null +++ b/koyeb/api_async/docs/KgitproxyRepository.md @@ -0,0 +1,39 @@ +# KgitproxyRepository + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**name** | **str** | | [optional] +**url** | **str** | | [optional] +**description** | **str** | | [optional] +**is_private** | **bool** | | [optional] +**is_disabled** | **bool** | | [optional] +**default_branch** | **str** | | [optional] +**provider** | [**KgitproxyRepositoryProvider**](KgitproxyRepositoryProvider.md) | | [optional] [default to KgitproxyRepositoryProvider.INVALID_PROVIDER] +**last_push_date** | **datetime** | | [optional] +**github** | [**KgitproxyGitHubRepository**](KgitproxyGitHubRepository.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.kgitproxy_repository import KgitproxyRepository + +# TODO update the JSON string below +json = "{}" +# create an instance of KgitproxyRepository from a JSON string +kgitproxy_repository_instance = KgitproxyRepository.from_json(json) +# print the JSON string representation of the object +print(KgitproxyRepository.to_json()) + +# convert the object into a dict +kgitproxy_repository_dict = kgitproxy_repository_instance.to_dict() +# create an instance of KgitproxyRepository from a dict +kgitproxy_repository_from_dict = KgitproxyRepository.from_dict(kgitproxy_repository_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KgitproxyRepositoryProvider.md b/koyeb/api_async/docs/KgitproxyRepositoryProvider.md new file mode 100644 index 00000000..2db8aea2 --- /dev/null +++ b/koyeb/api_async/docs/KgitproxyRepositoryProvider.md @@ -0,0 +1,12 @@ +# KgitproxyRepositoryProvider + + +## Enum + +* `INVALID_PROVIDER` (value: `'INVALID_PROVIDER'`) + +* `GITHUB` (value: `'GITHUB'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KsearchApp.md b/koyeb/api_async/docs/KsearchApp.md new file mode 100644 index 00000000..f597aef4 --- /dev/null +++ b/koyeb/api_async/docs/KsearchApp.md @@ -0,0 +1,31 @@ +# KsearchApp + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**name** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.ksearch_app import KsearchApp + +# TODO update the JSON string below +json = "{}" +# create an instance of KsearchApp from a JSON string +ksearch_app_instance = KsearchApp.from_json(json) +# print the JSON string representation of the object +print(KsearchApp.to_json()) + +# convert the object into a dict +ksearch_app_dict = ksearch_app_instance.to_dict() +# create an instance of KsearchApp from a dict +ksearch_app_from_dict = KsearchApp.from_dict(ksearch_app_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KsearchGlobalDeployment.md b/koyeb/api_async/docs/KsearchGlobalDeployment.md new file mode 100644 index 00000000..b306de5f --- /dev/null +++ b/koyeb/api_async/docs/KsearchGlobalDeployment.md @@ -0,0 +1,32 @@ +# KsearchGlobalDeployment + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**service_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.ksearch_global_deployment import KsearchGlobalDeployment + +# TODO update the JSON string below +json = "{}" +# create an instance of KsearchGlobalDeployment from a JSON string +ksearch_global_deployment_instance = KsearchGlobalDeployment.from_json(json) +# print the JSON string representation of the object +print(KsearchGlobalDeployment.to_json()) + +# convert the object into a dict +ksearch_global_deployment_dict = ksearch_global_deployment_instance.to_dict() +# create an instance of KsearchGlobalDeployment from a dict +ksearch_global_deployment_from_dict = KsearchGlobalDeployment.from_dict(ksearch_global_deployment_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KsearchInstance.md b/koyeb/api_async/docs/KsearchInstance.md new file mode 100644 index 00000000..28bce10b --- /dev/null +++ b/koyeb/api_async/docs/KsearchInstance.md @@ -0,0 +1,33 @@ +# KsearchInstance + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**service_id** | **str** | | [optional] +**allocation_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.ksearch_instance import KsearchInstance + +# TODO update the JSON string below +json = "{}" +# create an instance of KsearchInstance from a JSON string +ksearch_instance_instance = KsearchInstance.from_json(json) +# print the JSON string representation of the object +print(KsearchInstance.to_json()) + +# convert the object into a dict +ksearch_instance_dict = ksearch_instance_instance.to_dict() +# create an instance of KsearchInstance from a dict +ksearch_instance_from_dict = KsearchInstance.from_dict(ksearch_instance_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KsearchOrganization.md b/koyeb/api_async/docs/KsearchOrganization.md new file mode 100644 index 00000000..80a361ec --- /dev/null +++ b/koyeb/api_async/docs/KsearchOrganization.md @@ -0,0 +1,30 @@ +# KsearchOrganization + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.ksearch_organization import KsearchOrganization + +# TODO update the JSON string below +json = "{}" +# create an instance of KsearchOrganization from a JSON string +ksearch_organization_instance = KsearchOrganization.from_json(json) +# print the JSON string representation of the object +print(KsearchOrganization.to_json()) + +# convert the object into a dict +ksearch_organization_dict = ksearch_organization_instance.to_dict() +# create an instance of KsearchOrganization from a dict +ksearch_organization_from_dict = KsearchOrganization.from_dict(ksearch_organization_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KsearchRegionalDeployment.md b/koyeb/api_async/docs/KsearchRegionalDeployment.md new file mode 100644 index 00000000..1d6a677d --- /dev/null +++ b/koyeb/api_async/docs/KsearchRegionalDeployment.md @@ -0,0 +1,33 @@ +# KsearchRegionalDeployment + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**service_id** | **str** | | [optional] +**region** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.ksearch_regional_deployment import KsearchRegionalDeployment + +# TODO update the JSON string below +json = "{}" +# create an instance of KsearchRegionalDeployment from a JSON string +ksearch_regional_deployment_instance = KsearchRegionalDeployment.from_json(json) +# print the JSON string representation of the object +print(KsearchRegionalDeployment.to_json()) + +# convert the object into a dict +ksearch_regional_deployment_dict = ksearch_regional_deployment_instance.to_dict() +# create an instance of KsearchRegionalDeployment from a dict +ksearch_regional_deployment_from_dict = KsearchRegionalDeployment.from_dict(ksearch_regional_deployment_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KsearchSearchReply.md b/koyeb/api_async/docs/KsearchSearchReply.md new file mode 100644 index 00000000..4b860cfe --- /dev/null +++ b/koyeb/api_async/docs/KsearchSearchReply.md @@ -0,0 +1,35 @@ +# KsearchSearchReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organizations** | [**List[KsearchOrganization]**](KsearchOrganization.md) | | [optional] +**users** | [**List[KsearchUser]**](KsearchUser.md) | | [optional] +**apps** | [**List[KsearchApp]**](KsearchApp.md) | | [optional] +**services** | [**List[KsearchService]**](KsearchService.md) | | [optional] +**global_deployments** | [**List[KsearchGlobalDeployment]**](KsearchGlobalDeployment.md) | | [optional] +**regional_deployments** | [**List[KsearchRegionalDeployment]**](KsearchRegionalDeployment.md) | | [optional] +**instances** | [**List[KsearchInstance]**](KsearchInstance.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.ksearch_search_reply import KsearchSearchReply + +# TODO update the JSON string below +json = "{}" +# create an instance of KsearchSearchReply from a JSON string +ksearch_search_reply_instance = KsearchSearchReply.from_json(json) +# print the JSON string representation of the object +print(KsearchSearchReply.to_json()) + +# convert the object into a dict +ksearch_search_reply_dict = ksearch_search_reply_instance.to_dict() +# create an instance of KsearchSearchReply from a dict +ksearch_search_reply_from_dict = KsearchSearchReply.from_dict(ksearch_search_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KsearchService.md b/koyeb/api_async/docs/KsearchService.md new file mode 100644 index 00000000..f41df300 --- /dev/null +++ b/koyeb/api_async/docs/KsearchService.md @@ -0,0 +1,32 @@ +# KsearchService + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**name** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.ksearch_service import KsearchService + +# TODO update the JSON string below +json = "{}" +# create an instance of KsearchService from a JSON string +ksearch_service_instance = KsearchService.from_json(json) +# print the JSON string representation of the object +print(KsearchService.to_json()) + +# convert the object into a dict +ksearch_service_dict = ksearch_service_instance.to_dict() +# create an instance of KsearchService from a dict +ksearch_service_from_dict = KsearchService.from_dict(ksearch_service_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KsearchUser.md b/koyeb/api_async/docs/KsearchUser.md new file mode 100644 index 00000000..e69e7d97 --- /dev/null +++ b/koyeb/api_async/docs/KsearchUser.md @@ -0,0 +1,32 @@ +# KsearchUser + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**email** | **str** | | [optional] +**name** | **str** | | [optional] +**github_user** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.ksearch_user import KsearchUser + +# TODO update the JSON string below +json = "{}" +# create an instance of KsearchUser from a JSON string +ksearch_user_instance = KsearchUser.from_json(json) +# print the JSON string representation of the object +print(KsearchUser.to_json()) + +# convert the object into a dict +ksearch_user_dict = ksearch_user_instance.to_dict() +# create an instance of KsearchUser from a dict +ksearch_user_from_dict = KsearchUser.from_dict(ksearch_user_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KtestTestAuthReply.md b/koyeb/api_async/docs/KtestTestAuthReply.md new file mode 100644 index 00000000..c472dae9 --- /dev/null +++ b/koyeb/api_async/docs/KtestTestAuthReply.md @@ -0,0 +1,32 @@ +# KtestTestAuthReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payload** | **str** | | [optional] +**user_id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**workspace_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.ktest_test_auth_reply import KtestTestAuthReply + +# TODO update the JSON string below +json = "{}" +# create an instance of KtestTestAuthReply from a JSON string +ktest_test_auth_reply_instance = KtestTestAuthReply.from_json(json) +# print the JSON string representation of the object +print(KtestTestAuthReply.to_json()) + +# convert the object into a dict +ktest_test_auth_reply_dict = ktest_test_auth_reply_instance.to_dict() +# create an instance of KtestTestAuthReply from a dict +ktest_test_auth_reply_from_dict = KtestTestAuthReply.from_dict(ktest_test_auth_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/KtestTestAuthRequest.md b/koyeb/api_async/docs/KtestTestAuthRequest.md new file mode 100644 index 00000000..4c60df72 --- /dev/null +++ b/koyeb/api_async/docs/KtestTestAuthRequest.md @@ -0,0 +1,29 @@ +# KtestTestAuthRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payload** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.ktest_test_auth_request import KtestTestAuthRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of KtestTestAuthRequest from a JSON string +ktest_test_auth_request_instance = KtestTestAuthRequest.from_json(json) +# print the JSON string representation of the object +print(KtestTestAuthRequest.to_json()) + +# convert the object into a dict +ktest_test_auth_request_dict = ktest_test_auth_request_instance.to_dict() +# create an instance of KtestTestAuthRequest from a dict +ktest_test_auth_request_from_dict = KtestTestAuthRequest.from_dict(ktest_test_auth_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/LifecycleQuotas.md b/koyeb/api_async/docs/LifecycleQuotas.md new file mode 100644 index 00000000..de55547d --- /dev/null +++ b/koyeb/api_async/docs/LifecycleQuotas.md @@ -0,0 +1,32 @@ +# LifecycleQuotas + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**delete_after_sleep_min** | **int** | | [optional] +**delete_after_sleep_max** | **int** | | [optional] +**delete_after_create_min** | **int** | | [optional] +**delete_after_create_max** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.lifecycle_quotas import LifecycleQuotas + +# TODO update the JSON string below +json = "{}" +# create an instance of LifecycleQuotas from a JSON string +lifecycle_quotas_instance = LifecycleQuotas.from_json(json) +# print the JSON string representation of the object +print(LifecycleQuotas.to_json()) + +# convert the object into a dict +lifecycle_quotas_dict = lifecycle_quotas_instance.to_dict() +# create an instance of LifecycleQuotas from a dict +lifecycle_quotas_from_dict = LifecycleQuotas.from_dict(lifecycle_quotas_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListAppEventsReply.md b/koyeb/api_async/docs/ListAppEventsReply.md new file mode 100644 index 00000000..257bee2a --- /dev/null +++ b/koyeb/api_async/docs/ListAppEventsReply.md @@ -0,0 +1,33 @@ +# ListAppEventsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**events** | [**List[AppEvent]**](AppEvent.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**order** | **str** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_app_events_reply import ListAppEventsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListAppEventsReply from a JSON string +list_app_events_reply_instance = ListAppEventsReply.from_json(json) +# print the JSON string representation of the object +print(ListAppEventsReply.to_json()) + +# convert the object into a dict +list_app_events_reply_dict = list_app_events_reply_instance.to_dict() +# create an instance of ListAppEventsReply from a dict +list_app_events_reply_from_dict = ListAppEventsReply.from_dict(list_app_events_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListAppsReply.md b/koyeb/api_async/docs/ListAppsReply.md new file mode 100644 index 00000000..a246c6c7 --- /dev/null +++ b/koyeb/api_async/docs/ListAppsReply.md @@ -0,0 +1,33 @@ +# ListAppsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apps** | [**List[AppListItem]**](AppListItem.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_apps_reply import ListAppsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListAppsReply from a JSON string +list_apps_reply_instance = ListAppsReply.from_json(json) +# print the JSON string representation of the object +print(ListAppsReply.to_json()) + +# convert the object into a dict +list_apps_reply_dict = list_apps_reply_instance.to_dict() +# create an instance of ListAppsReply from a dict +list_apps_reply_from_dict = ListAppsReply.from_dict(list_apps_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListCatalogInstancesReply.md b/koyeb/api_async/docs/ListCatalogInstancesReply.md new file mode 100644 index 00000000..3f4e846e --- /dev/null +++ b/koyeb/api_async/docs/ListCatalogInstancesReply.md @@ -0,0 +1,32 @@ +# ListCatalogInstancesReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**instances** | [**List[CatalogInstanceListItem]**](CatalogInstanceListItem.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_catalog_instances_reply import ListCatalogInstancesReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListCatalogInstancesReply from a JSON string +list_catalog_instances_reply_instance = ListCatalogInstancesReply.from_json(json) +# print the JSON string representation of the object +print(ListCatalogInstancesReply.to_json()) + +# convert the object into a dict +list_catalog_instances_reply_dict = list_catalog_instances_reply_instance.to_dict() +# create an instance of ListCatalogInstancesReply from a dict +list_catalog_instances_reply_from_dict = ListCatalogInstancesReply.from_dict(list_catalog_instances_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListCredentialsReply.md b/koyeb/api_async/docs/ListCredentialsReply.md new file mode 100644 index 00000000..e8c5c6c1 --- /dev/null +++ b/koyeb/api_async/docs/ListCredentialsReply.md @@ -0,0 +1,32 @@ +# ListCredentialsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**credentials** | [**List[Credential]**](Credential.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_credentials_reply import ListCredentialsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListCredentialsReply from a JSON string +list_credentials_reply_instance = ListCredentialsReply.from_json(json) +# print the JSON string representation of the object +print(ListCredentialsReply.to_json()) + +# convert the object into a dict +list_credentials_reply_dict = list_credentials_reply_instance.to_dict() +# create an instance of ListCredentialsReply from a dict +list_credentials_reply_from_dict = ListCredentialsReply.from_dict(list_credentials_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListDatacentersReply.md b/koyeb/api_async/docs/ListDatacentersReply.md new file mode 100644 index 00000000..be8cef81 --- /dev/null +++ b/koyeb/api_async/docs/ListDatacentersReply.md @@ -0,0 +1,29 @@ +# ListDatacentersReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**datacenters** | [**List[DatacenterListItem]**](DatacenterListItem.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_datacenters_reply import ListDatacentersReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListDatacentersReply from a JSON string +list_datacenters_reply_instance = ListDatacentersReply.from_json(json) +# print the JSON string representation of the object +print(ListDatacentersReply.to_json()) + +# convert the object into a dict +list_datacenters_reply_dict = list_datacenters_reply_instance.to_dict() +# create an instance of ListDatacentersReply from a dict +list_datacenters_reply_from_dict = ListDatacentersReply.from_dict(list_datacenters_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListDeploymentEventsReply.md b/koyeb/api_async/docs/ListDeploymentEventsReply.md new file mode 100644 index 00000000..df6a2d01 --- /dev/null +++ b/koyeb/api_async/docs/ListDeploymentEventsReply.md @@ -0,0 +1,33 @@ +# ListDeploymentEventsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**events** | [**List[DeploymentEvent]**](DeploymentEvent.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**order** | **str** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_deployment_events_reply import ListDeploymentEventsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListDeploymentEventsReply from a JSON string +list_deployment_events_reply_instance = ListDeploymentEventsReply.from_json(json) +# print the JSON string representation of the object +print(ListDeploymentEventsReply.to_json()) + +# convert the object into a dict +list_deployment_events_reply_dict = list_deployment_events_reply_instance.to_dict() +# create an instance of ListDeploymentEventsReply from a dict +list_deployment_events_reply_from_dict = ListDeploymentEventsReply.from_dict(list_deployment_events_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListDeploymentsReply.md b/koyeb/api_async/docs/ListDeploymentsReply.md new file mode 100644 index 00000000..a55c945b --- /dev/null +++ b/koyeb/api_async/docs/ListDeploymentsReply.md @@ -0,0 +1,33 @@ +# ListDeploymentsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployments** | [**List[DeploymentListItem]**](DeploymentListItem.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_deployments_reply import ListDeploymentsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListDeploymentsReply from a JSON string +list_deployments_reply_instance = ListDeploymentsReply.from_json(json) +# print the JSON string representation of the object +print(ListDeploymentsReply.to_json()) + +# convert the object into a dict +list_deployments_reply_dict = list_deployments_reply_instance.to_dict() +# create an instance of ListDeploymentsReply from a dict +list_deployments_reply_from_dict = ListDeploymentsReply.from_dict(list_deployments_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListDomainsReply.md b/koyeb/api_async/docs/ListDomainsReply.md new file mode 100644 index 00000000..a20696f0 --- /dev/null +++ b/koyeb/api_async/docs/ListDomainsReply.md @@ -0,0 +1,32 @@ +# ListDomainsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**domains** | [**List[Domain]**](Domain.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_domains_reply import ListDomainsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListDomainsReply from a JSON string +list_domains_reply_instance = ListDomainsReply.from_json(json) +# print the JSON string representation of the object +print(ListDomainsReply.to_json()) + +# convert the object into a dict +list_domains_reply_dict = list_domains_reply_instance.to_dict() +# create an instance of ListDomainsReply from a dict +list_domains_reply_from_dict = ListDomainsReply.from_dict(list_domains_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListInstanceEventsReply.md b/koyeb/api_async/docs/ListInstanceEventsReply.md new file mode 100644 index 00000000..801894c1 --- /dev/null +++ b/koyeb/api_async/docs/ListInstanceEventsReply.md @@ -0,0 +1,33 @@ +# ListInstanceEventsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**events** | [**List[InstanceEvent]**](InstanceEvent.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**order** | **str** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_instance_events_reply import ListInstanceEventsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListInstanceEventsReply from a JSON string +list_instance_events_reply_instance = ListInstanceEventsReply.from_json(json) +# print the JSON string representation of the object +print(ListInstanceEventsReply.to_json()) + +# convert the object into a dict +list_instance_events_reply_dict = list_instance_events_reply_instance.to_dict() +# create an instance of ListInstanceEventsReply from a dict +list_instance_events_reply_from_dict = ListInstanceEventsReply.from_dict(list_instance_events_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListInstancesReply.md b/koyeb/api_async/docs/ListInstancesReply.md new file mode 100644 index 00000000..24a33091 --- /dev/null +++ b/koyeb/api_async/docs/ListInstancesReply.md @@ -0,0 +1,33 @@ +# ListInstancesReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**instances** | [**List[InstanceListItem]**](InstanceListItem.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] +**order** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_instances_reply import ListInstancesReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListInstancesReply from a JSON string +list_instances_reply_instance = ListInstancesReply.from_json(json) +# print the JSON string representation of the object +print(ListInstancesReply.to_json()) + +# convert the object into a dict +list_instances_reply_dict = list_instances_reply_instance.to_dict() +# create an instance of ListInstancesReply from a dict +list_instances_reply_from_dict = ListInstancesReply.from_dict(list_instances_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListOrganizationInvitationsReply.md b/koyeb/api_async/docs/ListOrganizationInvitationsReply.md new file mode 100644 index 00000000..f4573f48 --- /dev/null +++ b/koyeb/api_async/docs/ListOrganizationInvitationsReply.md @@ -0,0 +1,32 @@ +# ListOrganizationInvitationsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**invitations** | [**List[OrganizationInvitation]**](OrganizationInvitation.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_organization_invitations_reply import ListOrganizationInvitationsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListOrganizationInvitationsReply from a JSON string +list_organization_invitations_reply_instance = ListOrganizationInvitationsReply.from_json(json) +# print the JSON string representation of the object +print(ListOrganizationInvitationsReply.to_json()) + +# convert the object into a dict +list_organization_invitations_reply_dict = list_organization_invitations_reply_instance.to_dict() +# create an instance of ListOrganizationInvitationsReply from a dict +list_organization_invitations_reply_from_dict = ListOrganizationInvitationsReply.from_dict(list_organization_invitations_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListOrganizationMembersReply.md b/koyeb/api_async/docs/ListOrganizationMembersReply.md new file mode 100644 index 00000000..3b5f1918 --- /dev/null +++ b/koyeb/api_async/docs/ListOrganizationMembersReply.md @@ -0,0 +1,32 @@ +# ListOrganizationMembersReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**members** | [**List[OrganizationMember]**](OrganizationMember.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_organization_members_reply import ListOrganizationMembersReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListOrganizationMembersReply from a JSON string +list_organization_members_reply_instance = ListOrganizationMembersReply.from_json(json) +# print the JSON string representation of the object +print(ListOrganizationMembersReply.to_json()) + +# convert the object into a dict +list_organization_members_reply_dict = list_organization_members_reply_instance.to_dict() +# create an instance of ListOrganizationMembersReply from a dict +list_organization_members_reply_from_dict = ListOrganizationMembersReply.from_dict(list_organization_members_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListPaymentMethodsReply.md b/koyeb/api_async/docs/ListPaymentMethodsReply.md new file mode 100644 index 00000000..a1999912 --- /dev/null +++ b/koyeb/api_async/docs/ListPaymentMethodsReply.md @@ -0,0 +1,32 @@ +# ListPaymentMethodsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_methods** | [**List[PaymentMethod]**](PaymentMethod.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_payment_methods_reply import ListPaymentMethodsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListPaymentMethodsReply from a JSON string +list_payment_methods_reply_instance = ListPaymentMethodsReply.from_json(json) +# print the JSON string representation of the object +print(ListPaymentMethodsReply.to_json()) + +# convert the object into a dict +list_payment_methods_reply_dict = list_payment_methods_reply_instance.to_dict() +# create an instance of ListPaymentMethodsReply from a dict +list_payment_methods_reply_from_dict = ListPaymentMethodsReply.from_dict(list_payment_methods_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListPersistentVolumeEventsReply.md b/koyeb/api_async/docs/ListPersistentVolumeEventsReply.md new file mode 100644 index 00000000..66fc2054 --- /dev/null +++ b/koyeb/api_async/docs/ListPersistentVolumeEventsReply.md @@ -0,0 +1,33 @@ +# ListPersistentVolumeEventsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**events** | [**List[PersistentVolumeEvent]**](PersistentVolumeEvent.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**order** | **str** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_persistent_volume_events_reply import ListPersistentVolumeEventsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListPersistentVolumeEventsReply from a JSON string +list_persistent_volume_events_reply_instance = ListPersistentVolumeEventsReply.from_json(json) +# print the JSON string representation of the object +print(ListPersistentVolumeEventsReply.to_json()) + +# convert the object into a dict +list_persistent_volume_events_reply_dict = list_persistent_volume_events_reply_instance.to_dict() +# create an instance of ListPersistentVolumeEventsReply from a dict +list_persistent_volume_events_reply_from_dict = ListPersistentVolumeEventsReply.from_dict(list_persistent_volume_events_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListPersistentVolumesReply.md b/koyeb/api_async/docs/ListPersistentVolumesReply.md new file mode 100644 index 00000000..d303f6ac --- /dev/null +++ b/koyeb/api_async/docs/ListPersistentVolumesReply.md @@ -0,0 +1,32 @@ +# ListPersistentVolumesReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**volumes** | [**List[PersistentVolume]**](PersistentVolume.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_persistent_volumes_reply import ListPersistentVolumesReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListPersistentVolumesReply from a JSON string +list_persistent_volumes_reply_instance = ListPersistentVolumesReply.from_json(json) +# print the JSON string representation of the object +print(ListPersistentVolumesReply.to_json()) + +# convert the object into a dict +list_persistent_volumes_reply_dict = list_persistent_volumes_reply_instance.to_dict() +# create an instance of ListPersistentVolumesReply from a dict +list_persistent_volumes_reply_from_dict = ListPersistentVolumesReply.from_dict(list_persistent_volumes_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListProjectsReply.md b/koyeb/api_async/docs/ListProjectsReply.md new file mode 100644 index 00000000..7b69350f --- /dev/null +++ b/koyeb/api_async/docs/ListProjectsReply.md @@ -0,0 +1,31 @@ +# ListProjectsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**projects** | [**List[Project]**](Project.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_projects_reply import ListProjectsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListProjectsReply from a JSON string +list_projects_reply_instance = ListProjectsReply.from_json(json) +# print the JSON string representation of the object +print(ListProjectsReply.to_json()) + +# convert the object into a dict +list_projects_reply_dict = list_projects_reply_instance.to_dict() +# create an instance of ListProjectsReply from a dict +list_projects_reply_from_dict = ListProjectsReply.from_dict(list_projects_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListRegionalDeploymentEventsReply.md b/koyeb/api_async/docs/ListRegionalDeploymentEventsReply.md new file mode 100644 index 00000000..eb677d12 --- /dev/null +++ b/koyeb/api_async/docs/ListRegionalDeploymentEventsReply.md @@ -0,0 +1,33 @@ +# ListRegionalDeploymentEventsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**events** | [**List[RegionalDeploymentEvent]**](RegionalDeploymentEvent.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**order** | **str** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_regional_deployment_events_reply import ListRegionalDeploymentEventsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListRegionalDeploymentEventsReply from a JSON string +list_regional_deployment_events_reply_instance = ListRegionalDeploymentEventsReply.from_json(json) +# print the JSON string representation of the object +print(ListRegionalDeploymentEventsReply.to_json()) + +# convert the object into a dict +list_regional_deployment_events_reply_dict = list_regional_deployment_events_reply_instance.to_dict() +# create an instance of ListRegionalDeploymentEventsReply from a dict +list_regional_deployment_events_reply_from_dict = ListRegionalDeploymentEventsReply.from_dict(list_regional_deployment_events_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListRegionalDeploymentsReply.md b/koyeb/api_async/docs/ListRegionalDeploymentsReply.md new file mode 100644 index 00000000..3c8a6fd5 --- /dev/null +++ b/koyeb/api_async/docs/ListRegionalDeploymentsReply.md @@ -0,0 +1,33 @@ +# ListRegionalDeploymentsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**regional_deployments** | [**List[RegionalDeploymentListItem]**](RegionalDeploymentListItem.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_regional_deployments_reply import ListRegionalDeploymentsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListRegionalDeploymentsReply from a JSON string +list_regional_deployments_reply_instance = ListRegionalDeploymentsReply.from_json(json) +# print the JSON string representation of the object +print(ListRegionalDeploymentsReply.to_json()) + +# convert the object into a dict +list_regional_deployments_reply_dict = list_regional_deployments_reply_instance.to_dict() +# create an instance of ListRegionalDeploymentsReply from a dict +list_regional_deployments_reply_from_dict = ListRegionalDeploymentsReply.from_dict(list_regional_deployments_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListRegionsReply.md b/koyeb/api_async/docs/ListRegionsReply.md new file mode 100644 index 00000000..1fa5eeec --- /dev/null +++ b/koyeb/api_async/docs/ListRegionsReply.md @@ -0,0 +1,32 @@ +# ListRegionsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**regions** | [**List[RegionListItem]**](RegionListItem.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_regions_reply import ListRegionsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListRegionsReply from a JSON string +list_regions_reply_instance = ListRegionsReply.from_json(json) +# print the JSON string representation of the object +print(ListRegionsReply.to_json()) + +# convert the object into a dict +list_regions_reply_dict = list_regions_reply_instance.to_dict() +# create an instance of ListRegionsReply from a dict +list_regions_reply_from_dict = ListRegionsReply.from_dict(list_regions_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListSecretsReply.md b/koyeb/api_async/docs/ListSecretsReply.md new file mode 100644 index 00000000..f5620c37 --- /dev/null +++ b/koyeb/api_async/docs/ListSecretsReply.md @@ -0,0 +1,32 @@ +# ListSecretsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**secrets** | [**List[Secret]**](Secret.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_secrets_reply import ListSecretsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListSecretsReply from a JSON string +list_secrets_reply_instance = ListSecretsReply.from_json(json) +# print the JSON string representation of the object +print(ListSecretsReply.to_json()) + +# convert the object into a dict +list_secrets_reply_dict = list_secrets_reply_instance.to_dict() +# create an instance of ListSecretsReply from a dict +list_secrets_reply_from_dict = ListSecretsReply.from_dict(list_secrets_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListServiceEventsReply.md b/koyeb/api_async/docs/ListServiceEventsReply.md new file mode 100644 index 00000000..3099e613 --- /dev/null +++ b/koyeb/api_async/docs/ListServiceEventsReply.md @@ -0,0 +1,33 @@ +# ListServiceEventsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**events** | [**List[ServiceEvent]**](ServiceEvent.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**order** | **str** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_service_events_reply import ListServiceEventsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListServiceEventsReply from a JSON string +list_service_events_reply_instance = ListServiceEventsReply.from_json(json) +# print the JSON string representation of the object +print(ListServiceEventsReply.to_json()) + +# convert the object into a dict +list_service_events_reply_dict = list_service_events_reply_instance.to_dict() +# create an instance of ListServiceEventsReply from a dict +list_service_events_reply_from_dict = ListServiceEventsReply.from_dict(list_service_events_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListServicesReply.md b/koyeb/api_async/docs/ListServicesReply.md new file mode 100644 index 00000000..3e438ff2 --- /dev/null +++ b/koyeb/api_async/docs/ListServicesReply.md @@ -0,0 +1,33 @@ +# ListServicesReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**services** | [**List[ServiceListItem]**](ServiceListItem.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_services_reply import ListServicesReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListServicesReply from a JSON string +list_services_reply_instance = ListServicesReply.from_json(json) +# print the JSON string representation of the object +print(ListServicesReply.to_json()) + +# convert the object into a dict +list_services_reply_dict = list_services_reply_instance.to_dict() +# create an instance of ListServicesReply from a dict +list_services_reply_from_dict = ListServicesReply.from_dict(list_services_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListSnapshotsReply.md b/koyeb/api_async/docs/ListSnapshotsReply.md new file mode 100644 index 00000000..1814e7f7 --- /dev/null +++ b/koyeb/api_async/docs/ListSnapshotsReply.md @@ -0,0 +1,32 @@ +# ListSnapshotsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**snapshots** | [**List[Snapshot]**](Snapshot.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_snapshots_reply import ListSnapshotsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListSnapshotsReply from a JSON string +list_snapshots_reply_instance = ListSnapshotsReply.from_json(json) +# print the JSON string representation of the object +print(ListSnapshotsReply.to_json()) + +# convert the object into a dict +list_snapshots_reply_dict = list_snapshots_reply_instance.to_dict() +# create an instance of ListSnapshotsReply from a dict +list_snapshots_reply_from_dict = ListSnapshotsReply.from_dict(list_snapshots_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListUsageReply.md b/koyeb/api_async/docs/ListUsageReply.md new file mode 100644 index 00000000..4ad8b65c --- /dev/null +++ b/koyeb/api_async/docs/ListUsageReply.md @@ -0,0 +1,29 @@ +# ListUsageReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**usage** | [**CatalogUsage**](CatalogUsage.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_usage_reply import ListUsageReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListUsageReply from a JSON string +list_usage_reply_instance = ListUsageReply.from_json(json) +# print the JSON string representation of the object +print(ListUsageReply.to_json()) + +# convert the object into a dict +list_usage_reply_dict = list_usage_reply_instance.to_dict() +# create an instance of ListUsageReply from a dict +list_usage_reply_from_dict = ListUsageReply.from_dict(list_usage_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListUserOrganizationInvitationsReply.md b/koyeb/api_async/docs/ListUserOrganizationInvitationsReply.md new file mode 100644 index 00000000..c6b8420c --- /dev/null +++ b/koyeb/api_async/docs/ListUserOrganizationInvitationsReply.md @@ -0,0 +1,32 @@ +# ListUserOrganizationInvitationsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**invitations** | [**List[OrganizationInvitation]**](OrganizationInvitation.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_user_organization_invitations_reply import ListUserOrganizationInvitationsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListUserOrganizationInvitationsReply from a JSON string +list_user_organization_invitations_reply_instance = ListUserOrganizationInvitationsReply.from_json(json) +# print the JSON string representation of the object +print(ListUserOrganizationInvitationsReply.to_json()) + +# convert the object into a dict +list_user_organization_invitations_reply_dict = list_user_organization_invitations_reply_instance.to_dict() +# create an instance of ListUserOrganizationInvitationsReply from a dict +list_user_organization_invitations_reply_from_dict = ListUserOrganizationInvitationsReply.from_dict(list_user_organization_invitations_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ListUserOrganizationsReply.md b/koyeb/api_async/docs/ListUserOrganizationsReply.md new file mode 100644 index 00000000..6b1558d9 --- /dev/null +++ b/koyeb/api_async/docs/ListUserOrganizationsReply.md @@ -0,0 +1,32 @@ +# ListUserOrganizationsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organizations** | [**List[Organization]**](Organization.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**has_next** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.list_user_organizations_reply import ListUserOrganizationsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ListUserOrganizationsReply from a JSON string +list_user_organizations_reply_instance = ListUserOrganizationsReply.from_json(json) +# print the JSON string representation of the object +print(ListUserOrganizationsReply.to_json()) + +# convert the object into a dict +list_user_organizations_reply_dict = list_user_organizations_reply_instance.to_dict() +# create an instance of ListUserOrganizationsReply from a dict +list_user_organizations_reply_from_dict = ListUserOrganizationsReply.from_dict(list_user_organizations_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/LogEntry.md b/koyeb/api_async/docs/LogEntry.md new file mode 100644 index 00000000..a9f6e367 --- /dev/null +++ b/koyeb/api_async/docs/LogEntry.md @@ -0,0 +1,31 @@ +# LogEntry + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**msg** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**labels** | **object** | | [optional] + +## Example + +```python +from koyeb.api_async.models.log_entry import LogEntry + +# TODO update the JSON string below +json = "{}" +# create an instance of LogEntry from a JSON string +log_entry_instance = LogEntry.from_json(json) +# print the JSON string representation of the object +print(LogEntry.to_json()) + +# convert the object into a dict +log_entry_dict = log_entry_instance.to_dict() +# create an instance of LogEntry from a dict +log_entry_from_dict = LogEntry.from_dict(log_entry_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/LoginMethodReply.md b/koyeb/api_async/docs/LoginMethodReply.md new file mode 100644 index 00000000..670b1e9b --- /dev/null +++ b/koyeb/api_async/docs/LoginMethodReply.md @@ -0,0 +1,29 @@ +# LoginMethodReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**method** | [**LoginMethodReplyMethod**](LoginMethodReplyMethod.md) | | [optional] [default to LoginMethodReplyMethod.KOYEB] + +## Example + +```python +from koyeb.api_async.models.login_method_reply import LoginMethodReply + +# TODO update the JSON string below +json = "{}" +# create an instance of LoginMethodReply from a JSON string +login_method_reply_instance = LoginMethodReply.from_json(json) +# print the JSON string representation of the object +print(LoginMethodReply.to_json()) + +# convert the object into a dict +login_method_reply_dict = login_method_reply_instance.to_dict() +# create an instance of LoginMethodReply from a dict +login_method_reply_from_dict = LoginMethodReply.from_dict(login_method_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/LoginMethodReplyMethod.md b/koyeb/api_async/docs/LoginMethodReplyMethod.md new file mode 100644 index 00000000..c05313c1 --- /dev/null +++ b/koyeb/api_async/docs/LoginMethodReplyMethod.md @@ -0,0 +1,12 @@ +# LoginMethodReplyMethod + + +## Enum + +* `KOYEB` (value: `'KOYEB'`) + +* `WORKOS` (value: `'WORKOS'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/LoginReply.md b/koyeb/api_async/docs/LoginReply.md new file mode 100644 index 00000000..3c8aa0f1 --- /dev/null +++ b/koyeb/api_async/docs/LoginReply.md @@ -0,0 +1,29 @@ +# LoginReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**token** | [**Token**](Token.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.login_reply import LoginReply + +# TODO update the JSON string below +json = "{}" +# create an instance of LoginReply from a JSON string +login_reply_instance = LoginReply.from_json(json) +# print the JSON string representation of the object +print(LoginReply.to_json()) + +# convert the object into a dict +login_reply_dict = login_reply_instance.to_dict() +# create an instance of LoginReply from a dict +login_reply_from_dict = LoginReply.from_dict(login_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/LoginRequest.md b/koyeb/api_async/docs/LoginRequest.md new file mode 100644 index 00000000..28429603 --- /dev/null +++ b/koyeb/api_async/docs/LoginRequest.md @@ -0,0 +1,31 @@ +# LoginRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | **str** | | [optional] +**password** | **str** | | [optional] +**organization_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.login_request import LoginRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of LoginRequest from a JSON string +login_request_instance = LoginRequest.from_json(json) +# print the JSON string representation of the object +print(LoginRequest.to_json()) + +# convert the object into a dict +login_request_dict = login_request_instance.to_dict() +# create an instance of LoginRequest from a dict +login_request_from_dict = LoginRequest.from_dict(login_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/LogsApi.md b/koyeb/api_async/docs/LogsApi.md new file mode 100644 index 00000000..ea0aa78d --- /dev/null +++ b/koyeb/api_async/docs/LogsApi.md @@ -0,0 +1,234 @@ +# koyeb.api_async.LogsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**query_logs**](LogsApi.md#query_logs) | **GET** /v1/streams/logs/query | Query logs +[**tail_logs**](LogsApi.md#tail_logs) | **GET** /v1/streams/logs/tail | Tails logs + + +# **query_logs** +> QueryLogsReply query_logs(type=type, app_id=app_id, service_id=service_id, deployment_id=deployment_id, regional_deployment_id=regional_deployment_id, instance_id=instance_id, instance_ids=instance_ids, stream=stream, streams=streams, start=start, end=end, order=order, limit=limit, regex=regex, text=text, regions=regions) + +Query logs + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.query_logs_reply import QueryLogsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.LogsApi(api_client) + type = 'type_example' # str | Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\". (optional) + app_id = 'app_id_example' # str | (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. (optional) + service_id = 'service_id_example' # str | (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. (optional) + deployment_id = 'deployment_id_example' # str | (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. (optional) + regional_deployment_id = 'regional_deployment_id_example' # str | (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. (optional) + instance_id = 'instance_id_example' # str | Deprecated, prefer using instance_ids instead. (optional) + instance_ids = ['instance_ids_example'] # List[str] | (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. (optional) + stream = 'stream_example' # str | Deprecated, prefer using streams instead. (optional) + streams = ['streams_example'] # List[str] | (Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs). (optional) + start = '2013-10-20T19:20:30+01:00' # datetime | (Optional) Must always be before `end`. Defaults to 15 minutes ago. (optional) + end = '2013-10-20T19:20:30+01:00' # datetime | (Optional) Must always be after `start`. Defaults to now. (optional) + order = 'order_example' # str | (Optional) `asc` or `desc`. Defaults to `desc`. (optional) + limit = 'limit_example' # str | (Optional) Defaults to 100. Maximum of 1000. (optional) + regex = 'regex_example' # str | (Optional) Apply a regex to filter logs. Can't be used with `text`. (optional) + text = 'text_example' # str | (Optional) Looks for this string in logs. Can't be used with `regex`. (optional) + regions = ['regions_example'] # List[str] | (Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]). (optional) + + try: + # Query logs + api_response = await api_instance.query_logs(type=type, app_id=app_id, service_id=service_id, deployment_id=deployment_id, regional_deployment_id=regional_deployment_id, instance_id=instance_id, instance_ids=instance_ids, stream=stream, streams=streams, start=start, end=end, order=order, limit=limit, regex=regex, text=text, regions=regions) + print("The response of LogsApi->query_logs:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LogsApi->query_logs: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **type** | **str**| Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\". | [optional] + **app_id** | **str**| (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. | [optional] + **service_id** | **str**| (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. | [optional] + **deployment_id** | **str**| (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. | [optional] + **regional_deployment_id** | **str**| (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. | [optional] + **instance_id** | **str**| Deprecated, prefer using instance_ids instead. | [optional] + **instance_ids** | [**List[str]**](str.md)| (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. | [optional] + **stream** | **str**| Deprecated, prefer using streams instead. | [optional] + **streams** | [**List[str]**](str.md)| (Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs). | [optional] + **start** | **datetime**| (Optional) Must always be before `end`. Defaults to 15 minutes ago. | [optional] + **end** | **datetime**| (Optional) Must always be after `start`. Defaults to now. | [optional] + **order** | **str**| (Optional) `asc` or `desc`. Defaults to `desc`. | [optional] + **limit** | **str**| (Optional) Defaults to 100. Maximum of 1000. | [optional] + **regex** | **str**| (Optional) Apply a regex to filter logs. Can't be used with `text`. | [optional] + **text** | **str**| (Optional) Looks for this string in logs. Can't be used with `regex`. | [optional] + **regions** | [**List[str]**](str.md)| (Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]). | [optional] + +### Return type + +[**QueryLogsReply**](QueryLogsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **tail_logs** +> StreamResultOfLogEntry tail_logs(type=type, app_id=app_id, service_id=service_id, deployment_id=deployment_id, regional_deployment_id=regional_deployment_id, instance_id=instance_id, instance_ids=instance_ids, stream=stream, streams=streams, start=start, limit=limit, regex=regex, text=text, regions=regions) + +Tails logs + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.stream_result_of_log_entry import StreamResultOfLogEntry +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.LogsApi(api_client) + type = 'type_example' # str | Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\". (optional) + app_id = 'app_id_example' # str | (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. (optional) + service_id = 'service_id_example' # str | (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. (optional) + deployment_id = 'deployment_id_example' # str | (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. (optional) + regional_deployment_id = 'regional_deployment_id_example' # str | (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. (optional) + instance_id = 'instance_id_example' # str | Deprecated, prefer using instance_ids instead. (optional) + instance_ids = ['instance_ids_example'] # List[str] | (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. (optional) + stream = 'stream_example' # str | Deprecated, prefer using streams instead. (optional) + streams = ['streams_example'] # List[str] | (Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs). (optional) + start = '2013-10-20T19:20:30+01:00' # datetime | (Optional) Defaults to 24 hours ago. (optional) + limit = 'limit_example' # str | (Optional) Defaults to 1000. Maximum of 1000. (optional) + regex = 'regex_example' # str | (Optional) Apply a regex to filter logs. Can't be used with `text`. (optional) + text = 'text_example' # str | (Optional) Looks for this string in logs. Can't be used with `regex`. (optional) + regions = ['regions_example'] # List[str] | (Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]). (optional) + + try: + # Tails logs + api_response = await api_instance.tail_logs(type=type, app_id=app_id, service_id=service_id, deployment_id=deployment_id, regional_deployment_id=regional_deployment_id, instance_id=instance_id, instance_ids=instance_ids, stream=stream, streams=streams, start=start, limit=limit, regex=regex, text=text, regions=regions) + print("The response of LogsApi->tail_logs:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LogsApi->tail_logs: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **type** | **str**| Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\". | [optional] + **app_id** | **str**| (Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. | [optional] + **service_id** | **str**| (Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. | [optional] + **deployment_id** | **str**| (Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. | [optional] + **regional_deployment_id** | **str**| (Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. | [optional] + **instance_id** | **str**| Deprecated, prefer using instance_ids instead. | [optional] + **instance_ids** | [**List[str]**](str.md)| (Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set. | [optional] + **stream** | **str**| Deprecated, prefer using streams instead. | [optional] + **streams** | [**List[str]**](str.md)| (Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs). | [optional] + **start** | **datetime**| (Optional) Defaults to 24 hours ago. | [optional] + **limit** | **str**| (Optional) Defaults to 1000. Maximum of 1000. | [optional] + **regex** | **str**| (Optional) Apply a regex to filter logs. Can't be used with `text`. | [optional] + **text** | **str**| (Optional) Looks for this string in logs. Can't be used with `regex`. | [optional] + **regions** | [**List[str]**](str.md)| (Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]). | [optional] + +### Return type + +[**StreamResultOfLogEntry**](StreamResultOfLogEntry.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response.(streaming responses) | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/ManageReply.md b/koyeb/api_async/docs/ManageReply.md new file mode 100644 index 00000000..0ed03163 --- /dev/null +++ b/koyeb/api_async/docs/ManageReply.md @@ -0,0 +1,29 @@ +# ManageReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**url** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.manage_reply import ManageReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ManageReply from a JSON string +manage_reply_instance = ManageReply.from_json(json) +# print the JSON string representation of the object +print(ManageReply.to_json()) + +# convert the object into a dict +manage_reply_dict = manage_reply_instance.to_dict() +# create an instance of ManageReply from a dict +manage_reply_from_dict = ManageReply.from_dict(manage_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ManualServiceScaling.md b/koyeb/api_async/docs/ManualServiceScaling.md new file mode 100644 index 00000000..95ea993e --- /dev/null +++ b/koyeb/api_async/docs/ManualServiceScaling.md @@ -0,0 +1,30 @@ +# ManualServiceScaling + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**scopes** | **List[str]** | | [optional] +**instances** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.manual_service_scaling import ManualServiceScaling + +# TODO update the JSON string below +json = "{}" +# create an instance of ManualServiceScaling from a JSON string +manual_service_scaling_instance = ManualServiceScaling.from_json(json) +# print the JSON string representation of the object +print(ManualServiceScaling.to_json()) + +# convert the object into a dict +manual_service_scaling_dict = manual_service_scaling_instance.to_dict() +# create an instance of ManualServiceScaling from a dict +manual_service_scaling_from_dict = ManualServiceScaling.from_dict(manual_service_scaling_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/MembersSummary.md b/koyeb/api_async/docs/MembersSummary.md new file mode 100644 index 00000000..14c0381d --- /dev/null +++ b/koyeb/api_async/docs/MembersSummary.md @@ -0,0 +1,30 @@ +# MembersSummary + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total** | **str** | | [optional] +**invitations_by_status** | **Dict[str, str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.members_summary import MembersSummary + +# TODO update the JSON string below +json = "{}" +# create an instance of MembersSummary from a JSON string +members_summary_instance = MembersSummary.from_json(json) +# print the JSON string representation of the object +print(MembersSummary.to_json()) + +# convert the object into a dict +members_summary_dict = members_summary_instance.to_dict() +# create an instance of MembersSummary from a dict +members_summary_from_dict = MembersSummary.from_dict(members_summary_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/MetricName.md b/koyeb/api_async/docs/MetricName.md new file mode 100644 index 00000000..889ce80e --- /dev/null +++ b/koyeb/api_async/docs/MetricName.md @@ -0,0 +1,28 @@ +# MetricName + + +## Enum + +* `UNKNOWN` (value: `'UNKNOWN'`) + +* `CPU_TOTAL_PERCENT` (value: `'CPU_TOTAL_PERCENT'`) + +* `MEM_RSS` (value: `'MEM_RSS'`) + +* `HTTP_THROUGHPUT` (value: `'HTTP_THROUGHPUT'`) + +* `HTTP_RESPONSE_TIME_50_P` (value: `'HTTP_RESPONSE_TIME_50P'`) + +* `HTTP_RESPONSE_TIME_90_P` (value: `'HTTP_RESPONSE_TIME_90P'`) + +* `HTTP_RESPONSE_TIME_99_P` (value: `'HTTP_RESPONSE_TIME_99P'`) + +* `HTTP_RESPONSE_TIME_MAX` (value: `'HTTP_RESPONSE_TIME_MAX'`) + +* `PUBLIC_DATA_TRANSFER_IN` (value: `'PUBLIC_DATA_TRANSFER_IN'`) + +* `PUBLIC_DATA_TRANSFER_OUT` (value: `'PUBLIC_DATA_TRANSFER_OUT'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/MetricsApi.md b/koyeb/api_async/docs/MetricsApi.md new file mode 100644 index 00000000..553aeac5 --- /dev/null +++ b/koyeb/api_async/docs/MetricsApi.md @@ -0,0 +1,103 @@ +# koyeb.api_async.MetricsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_metrics**](MetricsApi.md#get_metrics) | **GET** /v1/streams/metrics | Get Metrics + + +# **get_metrics** +> GetMetricsReply get_metrics(service_id=service_id, instance_id=instance_id, name=name, start=start, end=end, step=step) + +Get Metrics + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_metrics_reply import GetMetricsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.MetricsApi(api_client) + service_id = 'service_id_example' # str | ID of the service to query instances metrics for. Ignored if instance_id is set. (optional) + instance_id = 'instance_id_example' # str | ID of the instance to query metrics for. (optional) + name = UNKNOWN # str | Metric to query. (optional) (default to UNKNOWN) + start = '2013-10-20T19:20:30+01:00' # datetime | (Optional) Defaults to an hour prior to end. (optional) + end = '2013-10-20T19:20:30+01:00' # datetime | (Optional) Defaults to now. (optional) + step = 'step_example' # str | (Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m. (optional) + + try: + # Get Metrics + api_response = await api_instance.get_metrics(service_id=service_id, instance_id=instance_id, name=name, start=start, end=end, step=step) + print("The response of MetricsApi->get_metrics:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling MetricsApi->get_metrics: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_id** | **str**| ID of the service to query instances metrics for. Ignored if instance_id is set. | [optional] + **instance_id** | **str**| ID of the instance to query metrics for. | [optional] + **name** | **str**| Metric to query. | [optional] [default to UNKNOWN] + **start** | **datetime**| (Optional) Defaults to an hour prior to end. | [optional] + **end** | **datetime**| (Optional) Defaults to now. | [optional] + **step** | **str**| (Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m. | [optional] + +### Return type + +[**GetMetricsReply**](GetMetricsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/NeonPostgresDatabase.md b/koyeb/api_async/docs/NeonPostgresDatabase.md new file mode 100644 index 00000000..606019be --- /dev/null +++ b/koyeb/api_async/docs/NeonPostgresDatabase.md @@ -0,0 +1,33 @@ +# NeonPostgresDatabase + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pg_version** | **int** | | [optional] +**region** | **str** | | [optional] +**instance_type** | **str** | | [optional] +**roles** | [**List[NeonPostgresDatabaseNeonRole]**](NeonPostgresDatabaseNeonRole.md) | | [optional] +**databases** | [**List[NeonPostgresDatabaseNeonDatabase]**](NeonPostgresDatabaseNeonDatabase.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.neon_postgres_database import NeonPostgresDatabase + +# TODO update the JSON string below +json = "{}" +# create an instance of NeonPostgresDatabase from a JSON string +neon_postgres_database_instance = NeonPostgresDatabase.from_json(json) +# print the JSON string representation of the object +print(NeonPostgresDatabase.to_json()) + +# convert the object into a dict +neon_postgres_database_dict = neon_postgres_database_instance.to_dict() +# create an instance of NeonPostgresDatabase from a dict +neon_postgres_database_from_dict = NeonPostgresDatabase.from_dict(neon_postgres_database_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/NeonPostgresDatabaseDeploymentMetadata.md b/koyeb/api_async/docs/NeonPostgresDatabaseDeploymentMetadata.md new file mode 100644 index 00000000..9e23f238 --- /dev/null +++ b/koyeb/api_async/docs/NeonPostgresDatabaseDeploymentMetadata.md @@ -0,0 +1,29 @@ +# NeonPostgresDatabaseDeploymentMetadata + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reset_role_passwords** | **List[str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.neon_postgres_database_deployment_metadata import NeonPostgresDatabaseDeploymentMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of NeonPostgresDatabaseDeploymentMetadata from a JSON string +neon_postgres_database_deployment_metadata_instance = NeonPostgresDatabaseDeploymentMetadata.from_json(json) +# print the JSON string representation of the object +print(NeonPostgresDatabaseDeploymentMetadata.to_json()) + +# convert the object into a dict +neon_postgres_database_deployment_metadata_dict = neon_postgres_database_deployment_metadata_instance.to_dict() +# create an instance of NeonPostgresDatabaseDeploymentMetadata from a dict +neon_postgres_database_deployment_metadata_from_dict = NeonPostgresDatabaseDeploymentMetadata.from_dict(neon_postgres_database_deployment_metadata_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/NeonPostgresDatabaseNeonDatabase.md b/koyeb/api_async/docs/NeonPostgresDatabaseNeonDatabase.md new file mode 100644 index 00000000..635aecac --- /dev/null +++ b/koyeb/api_async/docs/NeonPostgresDatabaseNeonDatabase.md @@ -0,0 +1,30 @@ +# NeonPostgresDatabaseNeonDatabase + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**owner** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.neon_postgres_database_neon_database import NeonPostgresDatabaseNeonDatabase + +# TODO update the JSON string below +json = "{}" +# create an instance of NeonPostgresDatabaseNeonDatabase from a JSON string +neon_postgres_database_neon_database_instance = NeonPostgresDatabaseNeonDatabase.from_json(json) +# print the JSON string representation of the object +print(NeonPostgresDatabaseNeonDatabase.to_json()) + +# convert the object into a dict +neon_postgres_database_neon_database_dict = neon_postgres_database_neon_database_instance.to_dict() +# create an instance of NeonPostgresDatabaseNeonDatabase from a dict +neon_postgres_database_neon_database_from_dict = NeonPostgresDatabaseNeonDatabase.from_dict(neon_postgres_database_neon_database_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/NeonPostgresDatabaseNeonRole.md b/koyeb/api_async/docs/NeonPostgresDatabaseNeonRole.md new file mode 100644 index 00000000..89087fe3 --- /dev/null +++ b/koyeb/api_async/docs/NeonPostgresDatabaseNeonRole.md @@ -0,0 +1,30 @@ +# NeonPostgresDatabaseNeonRole + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**secret** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.neon_postgres_database_neon_role import NeonPostgresDatabaseNeonRole + +# TODO update the JSON string below +json = "{}" +# create an instance of NeonPostgresDatabaseNeonRole from a JSON string +neon_postgres_database_neon_role_instance = NeonPostgresDatabaseNeonRole.from_json(json) +# print the JSON string representation of the object +print(NeonPostgresDatabaseNeonRole.to_json()) + +# convert the object into a dict +neon_postgres_database_neon_role_dict = neon_postgres_database_neon_role_instance.to_dict() +# create an instance of NeonPostgresDatabaseNeonRole from a dict +neon_postgres_database_neon_role_from_dict = NeonPostgresDatabaseNeonRole.from_dict(neon_postgres_database_neon_role_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/NeonPostgresSummary.md b/koyeb/api_async/docs/NeonPostgresSummary.md new file mode 100644 index 00000000..9947a106 --- /dev/null +++ b/koyeb/api_async/docs/NeonPostgresSummary.md @@ -0,0 +1,30 @@ +# NeonPostgresSummary + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total** | **str** | | [optional] +**by_instance_type** | **Dict[str, str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.neon_postgres_summary import NeonPostgresSummary + +# TODO update the JSON string below +json = "{}" +# create an instance of NeonPostgresSummary from a JSON string +neon_postgres_summary_instance = NeonPostgresSummary.from_json(json) +# print the JSON string representation of the object +print(NeonPostgresSummary.to_json()) + +# convert the object into a dict +neon_postgres_summary_dict = neon_postgres_summary_instance.to_dict() +# create an instance of NeonPostgresSummary from a dict +neon_postgres_summary_from_dict = NeonPostgresSummary.from_dict(neon_postgres_summary_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/NextInvoiceReply.md b/koyeb/api_async/docs/NextInvoiceReply.md new file mode 100644 index 00000000..bab4f78b --- /dev/null +++ b/koyeb/api_async/docs/NextInvoiceReply.md @@ -0,0 +1,31 @@ +# NextInvoiceReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**stripe_invoice** | **object** | | [optional] +**lines** | [**List[NextInvoiceReplyLine]**](NextInvoiceReplyLine.md) | | [optional] +**discounts** | [**List[NextInvoiceReplyDiscount]**](NextInvoiceReplyDiscount.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.next_invoice_reply import NextInvoiceReply + +# TODO update the JSON string below +json = "{}" +# create an instance of NextInvoiceReply from a JSON string +next_invoice_reply_instance = NextInvoiceReply.from_json(json) +# print the JSON string representation of the object +print(NextInvoiceReply.to_json()) + +# convert the object into a dict +next_invoice_reply_dict = next_invoice_reply_instance.to_dict() +# create an instance of NextInvoiceReply from a dict +next_invoice_reply_from_dict = NextInvoiceReply.from_dict(next_invoice_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/NextInvoiceReplyDiscount.md b/koyeb/api_async/docs/NextInvoiceReplyDiscount.md new file mode 100644 index 00000000..fcc3f66f --- /dev/null +++ b/koyeb/api_async/docs/NextInvoiceReplyDiscount.md @@ -0,0 +1,31 @@ +# NextInvoiceReplyDiscount + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**NextInvoiceReplyDiscountType**](NextInvoiceReplyDiscountType.md) | | [optional] [default to NextInvoiceReplyDiscountType.PERCENT_OFF] +**name** | **str** | | [optional] +**amount** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.next_invoice_reply_discount import NextInvoiceReplyDiscount + +# TODO update the JSON string below +json = "{}" +# create an instance of NextInvoiceReplyDiscount from a JSON string +next_invoice_reply_discount_instance = NextInvoiceReplyDiscount.from_json(json) +# print the JSON string representation of the object +print(NextInvoiceReplyDiscount.to_json()) + +# convert the object into a dict +next_invoice_reply_discount_dict = next_invoice_reply_discount_instance.to_dict() +# create an instance of NextInvoiceReplyDiscount from a dict +next_invoice_reply_discount_from_dict = NextInvoiceReplyDiscount.from_dict(next_invoice_reply_discount_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/NextInvoiceReplyDiscountType.md b/koyeb/api_async/docs/NextInvoiceReplyDiscountType.md new file mode 100644 index 00000000..958b55d7 --- /dev/null +++ b/koyeb/api_async/docs/NextInvoiceReplyDiscountType.md @@ -0,0 +1,12 @@ +# NextInvoiceReplyDiscountType + + +## Enum + +* `PERCENT_OFF` (value: `'PERCENT_OFF'`) + +* `AMOUNT_OFF` (value: `'AMOUNT_OFF'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/NextInvoiceReplyLine.md b/koyeb/api_async/docs/NextInvoiceReplyLine.md new file mode 100644 index 00000000..a531525e --- /dev/null +++ b/koyeb/api_async/docs/NextInvoiceReplyLine.md @@ -0,0 +1,33 @@ +# NextInvoiceReplyLine + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount_excluding_tax** | **int** | | [optional] +**period** | [**NextInvoiceReplyLinePeriod**](NextInvoiceReplyLinePeriod.md) | | [optional] +**plan_nickname** | **str** | | [optional] +**price** | [**NextInvoiceReplyLinePrice**](NextInvoiceReplyLinePrice.md) | | [optional] +**quantity** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.next_invoice_reply_line import NextInvoiceReplyLine + +# TODO update the JSON string below +json = "{}" +# create an instance of NextInvoiceReplyLine from a JSON string +next_invoice_reply_line_instance = NextInvoiceReplyLine.from_json(json) +# print the JSON string representation of the object +print(NextInvoiceReplyLine.to_json()) + +# convert the object into a dict +next_invoice_reply_line_dict = next_invoice_reply_line_instance.to_dict() +# create an instance of NextInvoiceReplyLine from a dict +next_invoice_reply_line_from_dict = NextInvoiceReplyLine.from_dict(next_invoice_reply_line_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/NextInvoiceReplyLinePeriod.md b/koyeb/api_async/docs/NextInvoiceReplyLinePeriod.md new file mode 100644 index 00000000..ace8a40b --- /dev/null +++ b/koyeb/api_async/docs/NextInvoiceReplyLinePeriod.md @@ -0,0 +1,30 @@ +# NextInvoiceReplyLinePeriod + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**start** | **datetime** | | [optional] +**end** | **datetime** | | [optional] + +## Example + +```python +from koyeb.api_async.models.next_invoice_reply_line_period import NextInvoiceReplyLinePeriod + +# TODO update the JSON string below +json = "{}" +# create an instance of NextInvoiceReplyLinePeriod from a JSON string +next_invoice_reply_line_period_instance = NextInvoiceReplyLinePeriod.from_json(json) +# print the JSON string representation of the object +print(NextInvoiceReplyLinePeriod.to_json()) + +# convert the object into a dict +next_invoice_reply_line_period_dict = next_invoice_reply_line_period_instance.to_dict() +# create an instance of NextInvoiceReplyLinePeriod from a dict +next_invoice_reply_line_period_from_dict = NextInvoiceReplyLinePeriod.from_dict(next_invoice_reply_line_period_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/NextInvoiceReplyLinePrice.md b/koyeb/api_async/docs/NextInvoiceReplyLinePrice.md new file mode 100644 index 00000000..7f8f5928 --- /dev/null +++ b/koyeb/api_async/docs/NextInvoiceReplyLinePrice.md @@ -0,0 +1,29 @@ +# NextInvoiceReplyLinePrice + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**unit_amount_decimal** | **float** | | [optional] + +## Example + +```python +from koyeb.api_async.models.next_invoice_reply_line_price import NextInvoiceReplyLinePrice + +# TODO update the JSON string below +json = "{}" +# create an instance of NextInvoiceReplyLinePrice from a JSON string +next_invoice_reply_line_price_instance = NextInvoiceReplyLinePrice.from_json(json) +# print the JSON string representation of the object +print(NextInvoiceReplyLinePrice.to_json()) + +# convert the object into a dict +next_invoice_reply_line_price_dict = next_invoice_reply_line_price_instance.to_dict() +# create an instance of NextInvoiceReplyLinePrice from a dict +next_invoice_reply_line_price_from_dict = NextInvoiceReplyLinePrice.from_dict(next_invoice_reply_line_price_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Notification.md b/koyeb/api_async/docs/Notification.md new file mode 100644 index 00000000..8b9988aa --- /dev/null +++ b/koyeb/api_async/docs/Notification.md @@ -0,0 +1,33 @@ +# Notification + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**activity** | [**Activity**](Activity.md) | | [optional] +**is_read** | **bool** | | [optional] +**is_seen** | **bool** | | [optional] +**created_at** | **datetime** | | [optional] + +## Example + +```python +from koyeb.api_async.models.notification import Notification + +# TODO update the JSON string below +json = "{}" +# create an instance of Notification from a JSON string +notification_instance = Notification.from_json(json) +# print the JSON string representation of the object +print(Notification.to_json()) + +# convert the object into a dict +notification_dict = notification_instance.to_dict() +# create an instance of Notification from a dict +notification_from_dict = Notification.from_dict(notification_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/NotificationList.md b/koyeb/api_async/docs/NotificationList.md new file mode 100644 index 00000000..ca52a588 --- /dev/null +++ b/koyeb/api_async/docs/NotificationList.md @@ -0,0 +1,36 @@ +# NotificationList + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**notifications** | [**List[Notification]**](Notification.md) | | [optional] +**limit** | **int** | | [optional] +**offset** | **int** | | [optional] +**count** | **int** | | [optional] +**is_read** | **bool** | | [optional] +**is_seen** | **bool** | | [optional] +**unread** | **int** | | [optional] +**unseen** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.notification_list import NotificationList + +# TODO update the JSON string below +json = "{}" +# create an instance of NotificationList from a JSON string +notification_list_instance = NotificationList.from_json(json) +# print the JSON string representation of the object +print(NotificationList.to_json()) + +# convert the object into a dict +notification_list_dict = notification_list_instance.to_dict() +# create an instance of NotificationList from a dict +notification_list_from_dict = NotificationList.from_dict(notification_list_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/OAuthCallbackReply.md b/koyeb/api_async/docs/OAuthCallbackReply.md new file mode 100644 index 00000000..60650dd4 --- /dev/null +++ b/koyeb/api_async/docs/OAuthCallbackReply.md @@ -0,0 +1,29 @@ +# OAuthCallbackReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**token** | [**Token**](Token.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.o_auth_callback_reply import OAuthCallbackReply + +# TODO update the JSON string below +json = "{}" +# create an instance of OAuthCallbackReply from a JSON string +o_auth_callback_reply_instance = OAuthCallbackReply.from_json(json) +# print the JSON string representation of the object +print(OAuthCallbackReply.to_json()) + +# convert the object into a dict +o_auth_callback_reply_dict = o_auth_callback_reply_instance.to_dict() +# create an instance of OAuthCallbackReply from a dict +o_auth_callback_reply_from_dict = OAuthCallbackReply.from_dict(o_auth_callback_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/OAuthCallbackRequest.md b/koyeb/api_async/docs/OAuthCallbackRequest.md new file mode 100644 index 00000000..70cb0f48 --- /dev/null +++ b/koyeb/api_async/docs/OAuthCallbackRequest.md @@ -0,0 +1,32 @@ +# OAuthCallbackRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**state** | **str** | | [optional] +**code** | **str** | | [optional] +**setup_action** | **str** | setup_action is populated in the context of a GitHub app installation request. For logins and signups, it is not set. | [optional] +**installation_id** | **str** | installation_id is populated in the context of a GitHub app installation request. For logins and signups, it is not set. | [optional] + +## Example + +```python +from koyeb.api_async.models.o_auth_callback_request import OAuthCallbackRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of OAuthCallbackRequest from a JSON string +o_auth_callback_request_instance = OAuthCallbackRequest.from_json(json) +# print the JSON string representation of the object +print(OAuthCallbackRequest.to_json()) + +# convert the object into a dict +o_auth_callback_request_dict = o_auth_callback_request_instance.to_dict() +# create an instance of OAuthCallbackRequest from a dict +o_auth_callback_request_from_dict = OAuthCallbackRequest.from_dict(o_auth_callback_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/OAuthProvider.md b/koyeb/api_async/docs/OAuthProvider.md new file mode 100644 index 00000000..690100e1 --- /dev/null +++ b/koyeb/api_async/docs/OAuthProvider.md @@ -0,0 +1,31 @@ +# OAuthProvider + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**url** | **str** | | [optional] +**state** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.o_auth_provider import OAuthProvider + +# TODO update the JSON string below +json = "{}" +# create an instance of OAuthProvider from a JSON string +o_auth_provider_instance = OAuthProvider.from_json(json) +# print the JSON string representation of the object +print(OAuthProvider.to_json()) + +# convert the object into a dict +o_auth_provider_dict = o_auth_provider_instance.to_dict() +# create an instance of OAuthProvider from a dict +o_auth_provider_from_dict = OAuthProvider.from_dict(o_auth_provider_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Object.md b/koyeb/api_async/docs/Object.md new file mode 100644 index 00000000..ffcb6a54 --- /dev/null +++ b/koyeb/api_async/docs/Object.md @@ -0,0 +1,33 @@ +# Object + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] +**type** | **str** | | [optional] +**metadata** | **object** | | [optional] +**deleted** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.object import Object + +# TODO update the JSON string below +json = "{}" +# create an instance of Object from a JSON string +object_instance = Object.from_json(json) +# print the JSON string representation of the object +print(Object.to_json()) + +# convert the object into a dict +object_dict = object_instance.to_dict() +# create an instance of Object from a dict +object_from_dict = Object.from_dict(object_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Organization.md b/koyeb/api_async/docs/Organization.md new file mode 100644 index 00000000..b93cc115 --- /dev/null +++ b/koyeb/api_async/docs/Organization.md @@ -0,0 +1,60 @@ +# Organization + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**external_id** | **str** | | [optional] +**provisioning** | **bool** | | [optional] +**address1** | **str** | | [optional] +**address2** | **str** | | [optional] +**city** | **str** | | [optional] +**postal_code** | **str** | | [optional] +**state** | **str** | | [optional] +**country** | **str** | | [optional] +**company** | **bool** | | [optional] +**vat_number** | **str** | | [optional] +**billing_name** | **str** | | [optional] +**billing_email** | **str** | | [optional] +**name** | **str** | | [optional] +**plan** | [**Plan**](Plan.md) | | [optional] [default to Plan.HOBBY] +**plan_updated_at** | **datetime** | | [optional] +**has_payment_method** | **bool** | | [optional] +**subscription_id** | **str** | | [optional] +**current_subscription_id** | **str** | | [optional] +**latest_subscription_id** | **str** | | [optional] +**signup_qualification** | **object** | | [optional] +**status** | [**OrganizationStatus**](OrganizationStatus.md) | | [optional] [default to OrganizationStatus.WARNING] +**status_message** | [**OrganizationDetailedStatus**](OrganizationDetailedStatus.md) | | [optional] [default to OrganizationDetailedStatus.NEW] +**deactivation_reason** | [**OrganizationDeactivationReason**](OrganizationDeactivationReason.md) | | [optional] [default to OrganizationDeactivationReason.INVALID] +**verified** | **bool** | | [optional] +**qualifies_for_hobby23** | **bool** | | [optional] +**reprocess_after** | **datetime** | | [optional] +**trialing** | **bool** | | [optional] +**trial_starts_at** | **datetime** | | [optional] +**trial_ends_at** | **datetime** | | [optional] +**email_domain_allowlist** | **List[str]** | | [optional] +**default_project_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.organization import Organization + +# TODO update the JSON string below +json = "{}" +# create an instance of Organization from a JSON string +organization_instance = Organization.from_json(json) +# print the JSON string representation of the object +print(Organization.to_json()) + +# convert the object into a dict +organization_dict = organization_instance.to_dict() +# create an instance of Organization from a dict +organization_from_dict = Organization.from_dict(organization_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/OrganizationApi.md b/koyeb/api_async/docs/OrganizationApi.md new file mode 100644 index 00000000..76f7cd99 --- /dev/null +++ b/koyeb/api_async/docs/OrganizationApi.md @@ -0,0 +1,1762 @@ +# koyeb.api_async.OrganizationApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_access_token**](OrganizationApi.md#create_access_token) | **POST** /v1/organizations/{id}/access_token | CreateAccessToken +[**create_budget**](OrganizationApi.md#create_budget) | **POST** /v1/organizations/{organization_id}/budget | Create Budget +[**create_organization**](OrganizationApi.md#create_organization) | **POST** /v1/organizations | Create Organization +[**deactivate_organization**](OrganizationApi.md#deactivate_organization) | **POST** /v1/organizations/{id}/deactivate | Deactivate an Organization +[**delete_budget**](OrganizationApi.md#delete_budget) | **DELETE** /v1/organizations/{organization_id}/budget | Delete Budget +[**delete_organization**](OrganizationApi.md#delete_organization) | **DELETE** /v1/organizations/{id} | Delete an Organization +[**get_budget**](OrganizationApi.md#get_budget) | **GET** /v1/organizations/{organization_id}/budget | Get Budget +[**get_github_installation**](OrganizationApi.md#get_github_installation) | **GET** /v1/github/installation | Fetch Github Installation configuration +[**get_organization**](OrganizationApi.md#get_organization) | **GET** /v1/organizations/{id} | Get Organization +[**github_installation**](OrganizationApi.md#github_installation) | **POST** /v1/github/installation | Start Github Installation +[**reactivate_organization**](OrganizationApi.md#reactivate_organization) | **POST** /v1/organizations/{id}/reactivate | Reactivate an Organization +[**switch_organization**](OrganizationApi.md#switch_organization) | **POST** /v1/organizations/{id}/switch | Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**unscope_organization_token**](OrganizationApi.md#unscope_organization_token) | **POST** /v1/unscope_organization_token | Unscope Organization Token +[**update_budget**](OrganizationApi.md#update_budget) | **PUT** /v1/organizations/{organization_id}/budget | Update Budget +[**update_organization**](OrganizationApi.md#update_organization) | **PUT** /v1/organizations/{id} | Update Organization +[**update_organization2**](OrganizationApi.md#update_organization2) | **PATCH** /v1/organizations/{id} | Update Organization +[**update_organization_default_project**](OrganizationApi.md#update_organization_default_project) | **PUT** /v1/organizations/{id}/default_project | Update Organization's default project +[**update_organization_name**](OrganizationApi.md#update_organization_name) | **PUT** /v1/organizations/{id}/name | Update Organization Name +[**update_organization_plan**](OrganizationApi.md#update_organization_plan) | **POST** /v1/organizations/{id}/plan | Update Organization plan +[**upsert_signup_qualification**](OrganizationApi.md#upsert_signup_qualification) | **POST** /v1/organizations/{id}/signup_qualification | Upsert Organization's signup qualification + + +# **create_access_token** +> CreateAccessTokenReply create_access_token(id, body) + +CreateAccessToken + +CreateAccessToken creates a short-lived access token in the scope of the +specified organization, provided the user making the request is part of +said organization. + +It's possible to specify a validity for the token, which defaults to 1h +and must be no more than 24h. The format is `s`, where `` +is a floating point in seconds (so `123.456789012s` means 123 seconds and +456789012 nanoseconds). See: +https://protobuf.dev/reference/php/api-docs/Google/Protobuf/Duration.html. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_access_token_reply import CreateAccessTokenReply +from koyeb.api_async.models.create_access_token_request import CreateAccessTokenRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | Organization id for ephemeral credential + body = koyeb.api_async.CreateAccessTokenRequest() # CreateAccessTokenRequest | + + try: + # CreateAccessToken + api_response = await api_instance.create_access_token(id, body) + print("The response of OrganizationApi->create_access_token:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->create_access_token: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| Organization id for ephemeral credential | + **body** | [**CreateAccessTokenRequest**](CreateAccessTokenRequest.md)| | + +### Return type + +[**CreateAccessTokenReply**](CreateAccessTokenReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_budget** +> CreateBudgetReply create_budget(organization_id, body) + +Create Budget + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_budget_reply import CreateBudgetReply +from koyeb.api_async.models.update_budget_request import UpdateBudgetRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + organization_id = 'organization_id_example' # str | + body = koyeb.api_async.UpdateBudgetRequest() # UpdateBudgetRequest | + + try: + # Create Budget + api_response = await api_instance.create_budget(organization_id, body) + print("The response of OrganizationApi->create_budget:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->create_budget: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **organization_id** | **str**| | + **body** | [**UpdateBudgetRequest**](UpdateBudgetRequest.md)| | + +### Return type + +[**CreateBudgetReply**](CreateBudgetReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_organization** +> CreateOrganizationReply create_organization(body) + +Create Organization + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_organization_reply import CreateOrganizationReply +from koyeb.api_async.models.create_organization_request import CreateOrganizationRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + body = koyeb.api_async.CreateOrganizationRequest() # CreateOrganizationRequest | + + try: + # Create Organization + api_response = await api_instance.create_organization(body) + print("The response of OrganizationApi->create_organization:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->create_organization: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**CreateOrganizationRequest**](CreateOrganizationRequest.md)| | + +### Return type + +[**CreateOrganizationReply**](CreateOrganizationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **deactivate_organization** +> DeactivateOrganizationReply deactivate_organization(id, body) + +Deactivate an Organization + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.deactivate_organization_reply import DeactivateOrganizationReply +from koyeb.api_async.models.deactivate_organization_request import DeactivateOrganizationRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | + body = koyeb.api_async.DeactivateOrganizationRequest() # DeactivateOrganizationRequest | + + try: + # Deactivate an Organization + api_response = await api_instance.deactivate_organization(id, body) + print("The response of OrganizationApi->deactivate_organization:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->deactivate_organization: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **body** | [**DeactivateOrganizationRequest**](DeactivateOrganizationRequest.md)| | + +### Return type + +[**DeactivateOrganizationReply**](DeactivateOrganizationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_budget** +> object delete_budget(organization_id) + +Delete Budget + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + organization_id = 'organization_id_example' # str | + + try: + # Delete Budget + api_response = await api_instance.delete_budget(organization_id) + print("The response of OrganizationApi->delete_budget:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->delete_budget: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **organization_id** | **str**| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_organization** +> DeleteOrganizationReply delete_organization(id) + +Delete an Organization + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.delete_organization_reply import DeleteOrganizationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | + + try: + # Delete an Organization + api_response = await api_instance.delete_organization(id) + print("The response of OrganizationApi->delete_organization:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->delete_organization: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**DeleteOrganizationReply**](DeleteOrganizationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_budget** +> GetBudgetReply get_budget(organization_id) + +Get Budget + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_budget_reply import GetBudgetReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + organization_id = 'organization_id_example' # str | + + try: + # Get Budget + api_response = await api_instance.get_budget(organization_id) + print("The response of OrganizationApi->get_budget:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->get_budget: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **organization_id** | **str**| | + +### Return type + +[**GetBudgetReply**](GetBudgetReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_github_installation** +> GetGithubInstallationReply get_github_installation() + +Fetch Github Installation configuration + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_github_installation_reply import GetGithubInstallationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + + try: + # Fetch Github Installation configuration + api_response = await api_instance.get_github_installation() + print("The response of OrganizationApi->get_github_installation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->get_github_installation: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**GetGithubInstallationReply**](GetGithubInstallationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_organization** +> GetOrganizationReply get_organization(id) + +Get Organization + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_organization_reply import GetOrganizationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | + + try: + # Get Organization + api_response = await api_instance.get_organization(id) + print("The response of OrganizationApi->get_organization:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->get_organization: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**GetOrganizationReply**](GetOrganizationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **github_installation** +> GithubInstallationReply github_installation(body) + +Start Github Installation + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.github_installation_reply import GithubInstallationReply +from koyeb.api_async.models.github_installation_request import GithubInstallationRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + body = koyeb.api_async.GithubInstallationRequest() # GithubInstallationRequest | + + try: + # Start Github Installation + api_response = await api_instance.github_installation(body) + print("The response of OrganizationApi->github_installation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->github_installation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**GithubInstallationRequest**](GithubInstallationRequest.md)| | + +### Return type + +[**GithubInstallationReply**](GithubInstallationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **reactivate_organization** +> ReactivateOrganizationReply reactivate_organization(id, body) + +Reactivate an Organization + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.reactivate_organization_reply import ReactivateOrganizationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | + body = None # object | + + try: + # Reactivate an Organization + api_response = await api_instance.reactivate_organization(id, body) + print("The response of OrganizationApi->reactivate_organization:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->reactivate_organization: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **body** | **object**| | + +### Return type + +[**ReactivateOrganizationReply**](ReactivateOrganizationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **switch_organization** +> LoginReply switch_organization(id, body, seon_fp=seon_fp) + +Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | + body = None # object | + seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) + + try: + # Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.switch_organization(id, body, seon_fp=seon_fp) + print("The response of OrganizationApi->switch_organization:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->switch_organization: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **body** | **object**| | + **seon_fp** | **str**| Seon Fingerprint | [optional] + +### Return type + +[**LoginReply**](LoginReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **unscope_organization_token** +> LoginReply unscope_organization_token(body, seon_fp=seon_fp) + +Unscope Organization Token + +UnscopeOrganizationToken removes the organization scope from a token. This +endpoint is useful when a user wants to remove an organization: by +unscoping the token first, the user can then delete the organization +without invalidating his token. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + body = None # object | + seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) + + try: + # Unscope Organization Token + api_response = await api_instance.unscope_organization_token(body, seon_fp=seon_fp) + print("The response of OrganizationApi->unscope_organization_token:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->unscope_organization_token: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | **object**| | + **seon_fp** | **str**| Seon Fingerprint | [optional] + +### Return type + +[**LoginReply**](LoginReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_budget** +> UpdateBudgetReply update_budget(organization_id, body) + +Update Budget + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_budget_reply import UpdateBudgetReply +from koyeb.api_async.models.update_budget_request import UpdateBudgetRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + organization_id = 'organization_id_example' # str | + body = koyeb.api_async.UpdateBudgetRequest() # UpdateBudgetRequest | + + try: + # Update Budget + api_response = await api_instance.update_budget(organization_id, body) + print("The response of OrganizationApi->update_budget:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->update_budget: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **organization_id** | **str**| | + **body** | [**UpdateBudgetRequest**](UpdateBudgetRequest.md)| | + +### Return type + +[**UpdateBudgetReply**](UpdateBudgetReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_organization** +> UpdateOrganizationReply update_organization(id, organization, update_mask=update_mask) + +Update Organization + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.organization import Organization +from koyeb.api_async.models.update_organization_reply import UpdateOrganizationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | + organization = koyeb.api_async.Organization() # Organization | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update Organization + api_response = await api_instance.update_organization(id, organization, update_mask=update_mask) + print("The response of OrganizationApi->update_organization:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->update_organization: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **organization** | [**Organization**](Organization.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UpdateOrganizationReply**](UpdateOrganizationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_organization2** +> UpdateOrganizationReply update_organization2(id, organization, update_mask=update_mask) + +Update Organization + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.organization import Organization +from koyeb.api_async.models.update_organization_reply import UpdateOrganizationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | + organization = koyeb.api_async.Organization() # Organization | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update Organization + api_response = await api_instance.update_organization2(id, organization, update_mask=update_mask) + print("The response of OrganizationApi->update_organization2:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->update_organization2: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **organization** | [**Organization**](Organization.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UpdateOrganizationReply**](UpdateOrganizationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_organization_default_project** +> UpdateOrganizationDefaultProjectReply update_organization_default_project(id, body) + +Update Organization's default project + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_organization_default_project_reply import UpdateOrganizationDefaultProjectReply +from koyeb.api_async.models.update_organization_default_project_request import UpdateOrganizationDefaultProjectRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | + body = koyeb.api_async.UpdateOrganizationDefaultProjectRequest() # UpdateOrganizationDefaultProjectRequest | + + try: + # Update Organization's default project + api_response = await api_instance.update_organization_default_project(id, body) + print("The response of OrganizationApi->update_organization_default_project:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->update_organization_default_project: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **body** | [**UpdateOrganizationDefaultProjectRequest**](UpdateOrganizationDefaultProjectRequest.md)| | + +### Return type + +[**UpdateOrganizationDefaultProjectReply**](UpdateOrganizationDefaultProjectReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_organization_name** +> UpdateOrganizationNameReply update_organization_name(id, body) + +Update Organization Name + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_organization_name_reply import UpdateOrganizationNameReply +from koyeb.api_async.models.update_organization_name_request import UpdateOrganizationNameRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | + body = koyeb.api_async.UpdateOrganizationNameRequest() # UpdateOrganizationNameRequest | + + try: + # Update Organization Name + api_response = await api_instance.update_organization_name(id, body) + print("The response of OrganizationApi->update_organization_name:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->update_organization_name: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **body** | [**UpdateOrganizationNameRequest**](UpdateOrganizationNameRequest.md)| | + +### Return type + +[**UpdateOrganizationNameReply**](UpdateOrganizationNameReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_organization_plan** +> UpdateOrganizationPlanReply update_organization_plan(id, body) + +Update Organization plan + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_organization_plan_reply import UpdateOrganizationPlanReply +from koyeb.api_async.models.update_organization_plan_request import UpdateOrganizationPlanRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | + body = koyeb.api_async.UpdateOrganizationPlanRequest() # UpdateOrganizationPlanRequest | + + try: + # Update Organization plan + api_response = await api_instance.update_organization_plan(id, body) + print("The response of OrganizationApi->update_organization_plan:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->update_organization_plan: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **body** | [**UpdateOrganizationPlanRequest**](UpdateOrganizationPlanRequest.md)| | + +### Return type + +[**UpdateOrganizationPlanReply**](UpdateOrganizationPlanReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **upsert_signup_qualification** +> UpsertSignupQualificationReply upsert_signup_qualification(id, body) + +Upsert Organization's signup qualification + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.upsert_signup_qualification_reply import UpsertSignupQualificationReply +from koyeb.api_async.models.upsert_signup_qualification_request import UpsertSignupQualificationRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationApi(api_client) + id = 'id_example' # str | + body = koyeb.api_async.UpsertSignupQualificationRequest() # UpsertSignupQualificationRequest | + + try: + # Upsert Organization's signup qualification + api_response = await api_instance.upsert_signup_qualification(id, body) + print("The response of OrganizationApi->upsert_signup_qualification:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationApi->upsert_signup_qualification: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **body** | [**UpsertSignupQualificationRequest**](UpsertSignupQualificationRequest.md)| | + +### Return type + +[**UpsertSignupQualificationReply**](UpsertSignupQualificationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/OrganizationConfirmationsApi.md b/koyeb/api_async/docs/OrganizationConfirmationsApi.md new file mode 100644 index 00000000..22ecb7b0 --- /dev/null +++ b/koyeb/api_async/docs/OrganizationConfirmationsApi.md @@ -0,0 +1,92 @@ +# koyeb.api_async.OrganizationConfirmationsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**confirm_organization_action**](OrganizationConfirmationsApi.md#confirm_organization_action) | **POST** /v1/organization_confirmations/{id} | Confirm organization action + + +# **confirm_organization_action** +> object confirm_organization_action(id) + +Confirm organization action + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationConfirmationsApi(api_client) + id = 'id_example' # str | + + try: + # Confirm organization action + api_response = await api_instance.confirm_organization_action(id) + print("The response of OrganizationConfirmationsApi->confirm_organization_action:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationConfirmationsApi->confirm_organization_action: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/OrganizationDeactivationReason.md b/koyeb/api_async/docs/OrganizationDeactivationReason.md new file mode 100644 index 00000000..d54dcf4b --- /dev/null +++ b/koyeb/api_async/docs/OrganizationDeactivationReason.md @@ -0,0 +1,20 @@ +# OrganizationDeactivationReason + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `REQUESTED_BY_OWNER` (value: `'REQUESTED_BY_OWNER'`) + +* `SUBSCRIPTION_TERMINATION` (value: `'SUBSCRIPTION_TERMINATION'`) + +* `LOCKED_BY_ADMIN` (value: `'LOCKED_BY_ADMIN'`) + +* `VERIFICATION_FAILED` (value: `'VERIFICATION_FAILED'`) + +* `TRIAL_DID_NOT_CONVERT` (value: `'TRIAL_DID_NOT_CONVERT'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/OrganizationDetailedStatus.md b/koyeb/api_async/docs/OrganizationDetailedStatus.md new file mode 100644 index 00000000..da1be96e --- /dev/null +++ b/koyeb/api_async/docs/OrganizationDetailedStatus.md @@ -0,0 +1,28 @@ +# OrganizationDetailedStatus + + +## Enum + +* `NEW` (value: `'NEW'`) + +* `EMAIL_NOT_VALIDATED` (value: `'EMAIL_NOT_VALIDATED'`) + +* `BILLING_INFO_MISSING` (value: `'BILLING_INFO_MISSING'`) + +* `LOCKED` (value: `'LOCKED'`) + +* `PAYMENT_FAILURE` (value: `'PAYMENT_FAILURE'`) + +* `VALID` (value: `'VALID'`) + +* `PENDING_VERIFICATION` (value: `'PENDING_VERIFICATION'`) + +* `VERIFICATION_FAILED` (value: `'VERIFICATION_FAILED'`) + +* `REVIEWING_ACCOUNT` (value: `'REVIEWING_ACCOUNT'`) + +* `PLAN_UPGRADE_REQUIRED` (value: `'PLAN_UPGRADE_REQUIRED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/OrganizationInvitation.md b/koyeb/api_async/docs/OrganizationInvitation.md new file mode 100644 index 00000000..c3321c44 --- /dev/null +++ b/koyeb/api_async/docs/OrganizationInvitation.md @@ -0,0 +1,39 @@ +# OrganizationInvitation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**email** | **str** | | [optional] +**role** | [**UserRoleRole**](UserRoleRole.md) | | [optional] [default to UserRoleRole.INVALID] +**status** | [**OrganizationInvitationStatus**](OrganizationInvitationStatus.md) | | [optional] [default to OrganizationInvitationStatus.INVALID] +**expires_at** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**organization** | [**PublicOrganization**](PublicOrganization.md) | | [optional] +**invitee_id** | **str** | | [optional] +**invitee** | [**PublicUser**](PublicUser.md) | | [optional] +**inviter_id** | **str** | | [optional] +**inviter** | [**PublicUser**](PublicUser.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.organization_invitation import OrganizationInvitation + +# TODO update the JSON string below +json = "{}" +# create an instance of OrganizationInvitation from a JSON string +organization_invitation_instance = OrganizationInvitation.from_json(json) +# print the JSON string representation of the object +print(OrganizationInvitation.to_json()) + +# convert the object into a dict +organization_invitation_dict = organization_invitation_instance.to_dict() +# create an instance of OrganizationInvitation from a dict +organization_invitation_from_dict = OrganizationInvitation.from_dict(organization_invitation_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/OrganizationInvitationStatus.md b/koyeb/api_async/docs/OrganizationInvitationStatus.md new file mode 100644 index 00000000..0924270a --- /dev/null +++ b/koyeb/api_async/docs/OrganizationInvitationStatus.md @@ -0,0 +1,18 @@ +# OrganizationInvitationStatus + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `PENDING` (value: `'PENDING'`) + +* `ACCEPTED` (value: `'ACCEPTED'`) + +* `REFUSED` (value: `'REFUSED'`) + +* `EXPIRED` (value: `'EXPIRED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/OrganizationInvitationsApi.md b/koyeb/api_async/docs/OrganizationInvitationsApi.md new file mode 100644 index 00000000..69e193ec --- /dev/null +++ b/koyeb/api_async/docs/OrganizationInvitationsApi.md @@ -0,0 +1,441 @@ +# koyeb.api_async.OrganizationInvitationsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_organization_invitation**](OrganizationInvitationsApi.md#create_organization_invitation) | **POST** /v1/organization_invitations | Create Organization Invitation +[**delete_organization_invitation**](OrganizationInvitationsApi.md#delete_organization_invitation) | **DELETE** /v1/organization_invitations/{id} | Delete Organization Invitation +[**get_organization_invitation**](OrganizationInvitationsApi.md#get_organization_invitation) | **GET** /v1/organization_invitations/{id} | Get Organization Invitation +[**list_organization_invitations**](OrganizationInvitationsApi.md#list_organization_invitations) | **GET** /v1/organization_invitations | List Organization Invitations +[**resend_organization_invitation**](OrganizationInvitationsApi.md#resend_organization_invitation) | **POST** /v1/organization_invitations/{id}/resend | Resend Organization Invitation + + +# **create_organization_invitation** +> CreateOrganizationInvitationReply create_organization_invitation(body) + +Create Organization Invitation + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_organization_invitation_reply import CreateOrganizationInvitationReply +from koyeb.api_async.models.create_organization_invitation_request import CreateOrganizationInvitationRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationInvitationsApi(api_client) + body = koyeb.api_async.CreateOrganizationInvitationRequest() # CreateOrganizationInvitationRequest | + + try: + # Create Organization Invitation + api_response = await api_instance.create_organization_invitation(body) + print("The response of OrganizationInvitationsApi->create_organization_invitation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationInvitationsApi->create_organization_invitation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**CreateOrganizationInvitationRequest**](CreateOrganizationInvitationRequest.md)| | + +### Return type + +[**CreateOrganizationInvitationReply**](CreateOrganizationInvitationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_organization_invitation** +> object delete_organization_invitation(id) + +Delete Organization Invitation + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationInvitationsApi(api_client) + id = 'id_example' # str | The id of the organization invitation to delete + + try: + # Delete Organization Invitation + api_response = await api_instance.delete_organization_invitation(id) + print("The response of OrganizationInvitationsApi->delete_organization_invitation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationInvitationsApi->delete_organization_invitation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the organization invitation to delete | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_organization_invitation** +> GetOrganizationInvitationReply get_organization_invitation(id) + +Get Organization Invitation + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_organization_invitation_reply import GetOrganizationInvitationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationInvitationsApi(api_client) + id = 'id_example' # str | The id of the invitation to get + + try: + # Get Organization Invitation + api_response = await api_instance.get_organization_invitation(id) + print("The response of OrganizationInvitationsApi->get_organization_invitation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationInvitationsApi->get_organization_invitation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the invitation to get | + +### Return type + +[**GetOrganizationInvitationReply**](GetOrganizationInvitationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_organization_invitations** +> ListOrganizationInvitationsReply list_organization_invitations(limit=limit, offset=offset, statuses=statuses, user_id=user_id) + +List Organization Invitations + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_organization_invitations_reply import ListOrganizationInvitationsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationInvitationsApi(api_client) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + statuses = ['statuses_example'] # List[str] | (Optional) Filter on organization invitation statuses (optional) + user_id = 'user_id_example' # str | (Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id (optional) + + try: + # List Organization Invitations + api_response = await api_instance.list_organization_invitations(limit=limit, offset=offset, statuses=statuses, user_id=user_id) + print("The response of OrganizationInvitationsApi->list_organization_invitations:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationInvitationsApi->list_organization_invitations: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **statuses** | [**List[str]**](str.md)| (Optional) Filter on organization invitation statuses | [optional] + **user_id** | **str**| (Optional) Filter on invitee ID. Will match both invitations sent to that user_id and invitations sent to the email of that user_id. The only valid value is the requester's user_id | [optional] + +### Return type + +[**ListOrganizationInvitationsReply**](ListOrganizationInvitationsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **resend_organization_invitation** +> ResendOrganizationInvitationReply resend_organization_invitation(id, body) + +Resend Organization Invitation + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.resend_organization_invitation_reply import ResendOrganizationInvitationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationInvitationsApi(api_client) + id = 'id_example' # str | The id of the organization invitation to resend + body = None # object | + + try: + # Resend Organization Invitation + api_response = await api_instance.resend_organization_invitation(id, body) + print("The response of OrganizationInvitationsApi->resend_organization_invitation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationInvitationsApi->resend_organization_invitation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the organization invitation to resend | + **body** | **object**| | + +### Return type + +[**ResendOrganizationInvitationReply**](ResendOrganizationInvitationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/OrganizationMember.md b/koyeb/api_async/docs/OrganizationMember.md new file mode 100644 index 00000000..4ae9c428 --- /dev/null +++ b/koyeb/api_async/docs/OrganizationMember.md @@ -0,0 +1,37 @@ +# OrganizationMember + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**user_id** | **str** | | [optional] +**external_id** | **str** | | [optional] +**joined_at** | **datetime** | | [optional] +**role** | [**UserRoleRole**](UserRoleRole.md) | | [optional] [default to UserRoleRole.INVALID] +**status** | [**OrganizationMemberStatus**](OrganizationMemberStatus.md) | | [optional] [default to OrganizationMemberStatus.INVALID] +**user** | [**PublicUser**](PublicUser.md) | | [optional] +**organization** | [**PublicOrganization**](PublicOrganization.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.organization_member import OrganizationMember + +# TODO update the JSON string below +json = "{}" +# create an instance of OrganizationMember from a JSON string +organization_member_instance = OrganizationMember.from_json(json) +# print the JSON string representation of the object +print(OrganizationMember.to_json()) + +# convert the object into a dict +organization_member_dict = organization_member_instance.to_dict() +# create an instance of OrganizationMember from a dict +organization_member_from_dict = OrganizationMember.from_dict(organization_member_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/OrganizationMemberStatus.md b/koyeb/api_async/docs/OrganizationMemberStatus.md new file mode 100644 index 00000000..2f6fb855 --- /dev/null +++ b/koyeb/api_async/docs/OrganizationMemberStatus.md @@ -0,0 +1,14 @@ +# OrganizationMemberStatus + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `ACTIVE` (value: `'ACTIVE'`) + +* `DELETED` (value: `'DELETED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/OrganizationMembersApi.md b/koyeb/api_async/docs/OrganizationMembersApi.md new file mode 100644 index 00000000..65555893 --- /dev/null +++ b/koyeb/api_async/docs/OrganizationMembersApi.md @@ -0,0 +1,186 @@ +# koyeb.api_async.OrganizationMembersApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**list_organization_members**](OrganizationMembersApi.md#list_organization_members) | **GET** /v1/organization_members | List organization members +[**remove_organization_member**](OrganizationMembersApi.md#remove_organization_member) | **DELETE** /v1/organization_members/{id} | Remove an organization member + + +# **list_organization_members** +> ListOrganizationMembersReply list_organization_members(limit=limit, offset=offset, organization_id=organization_id, user_id=user_id, organization_statuses=organization_statuses) + +List organization members + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_organization_members_reply import ListOrganizationMembersReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationMembersApi(api_client) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + organization_id = 'organization_id_example' # str | (Optional) Filter for an organization (optional) + user_id = 'user_id_example' # str | (Optional) Filter for an user (optional) + organization_statuses = ['organization_statuses_example'] # List[str] | (Optional) Filter for organization statuses (optional) + + try: + # List organization members + api_response = await api_instance.list_organization_members(limit=limit, offset=offset, organization_id=organization_id, user_id=user_id, organization_statuses=organization_statuses) + print("The response of OrganizationMembersApi->list_organization_members:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationMembersApi->list_organization_members: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **organization_id** | **str**| (Optional) Filter for an organization | [optional] + **user_id** | **str**| (Optional) Filter for an user | [optional] + **organization_statuses** | [**List[str]**](str.md)| (Optional) Filter for organization statuses | [optional] + +### Return type + +[**ListOrganizationMembersReply**](ListOrganizationMembersReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **remove_organization_member** +> RemoveOrganizationMemberReply remove_organization_member(id) + +Remove an organization member + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.remove_organization_member_reply import RemoveOrganizationMemberReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationMembersApi(api_client) + id = 'id_example' # str | + + try: + # Remove an organization member + api_response = await api_instance.remove_organization_member(id) + print("The response of OrganizationMembersApi->remove_organization_member:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationMembersApi->remove_organization_member: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**RemoveOrganizationMemberReply**](RemoveOrganizationMemberReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/OrganizationQuotasApi.md b/koyeb/api_async/docs/OrganizationQuotasApi.md new file mode 100644 index 00000000..7582d77d --- /dev/null +++ b/koyeb/api_async/docs/OrganizationQuotasApi.md @@ -0,0 +1,90 @@ +# koyeb.api_async.OrganizationQuotasApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_quotas**](OrganizationQuotasApi.md#get_quotas) | **GET** /v1/organizations/{organization_id}/quotas | + + +# **get_quotas** +> GetQuotasReply get_quotas(organization_id) + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_quotas_reply import GetQuotasReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.OrganizationQuotasApi(api_client) + organization_id = 'organization_id_example' # str | + + try: + api_response = await api_instance.get_quotas(organization_id) + print("The response of OrganizationQuotasApi->get_quotas:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling OrganizationQuotasApi->get_quotas: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **organization_id** | **str**| | + +### Return type + +[**GetQuotasReply**](GetQuotasReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/OrganizationStatus.md b/koyeb/api_async/docs/OrganizationStatus.md new file mode 100644 index 00000000..fac6da51 --- /dev/null +++ b/koyeb/api_async/docs/OrganizationStatus.md @@ -0,0 +1,22 @@ +# OrganizationStatus + + +## Enum + +* `WARNING` (value: `'WARNING'`) + +* `LOCKED` (value: `'LOCKED'`) + +* `ACTIVE` (value: `'ACTIVE'`) + +* `DEACTIVATING` (value: `'DEACTIVATING'`) + +* `DEACTIVATED` (value: `'DEACTIVATED'`) + +* `DELETING` (value: `'DELETING'`) + +* `DELETED` (value: `'DELETED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/OrganizationSummary.md b/koyeb/api_async/docs/OrganizationSummary.md new file mode 100644 index 00000000..5ae512c0 --- /dev/null +++ b/koyeb/api_async/docs/OrganizationSummary.md @@ -0,0 +1,36 @@ +# OrganizationSummary + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization_id** | **str** | | [optional] +**instances** | [**InstancesSummary**](InstancesSummary.md) | | [optional] +**apps** | [**AppsSummary**](AppsSummary.md) | | [optional] +**services** | [**Dict[str, ServiceSummary]**](ServiceSummary.md) | | [optional] +**domains** | [**DomainsSummary**](DomainsSummary.md) | | [optional] +**secrets** | [**SecretsSummary**](SecretsSummary.md) | | [optional] +**neon_postgres** | [**NeonPostgresSummary**](NeonPostgresSummary.md) | | [optional] +**members** | [**MembersSummary**](MembersSummary.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.organization_summary import OrganizationSummary + +# TODO update the JSON string below +json = "{}" +# create an instance of OrganizationSummary from a JSON string +organization_summary_instance = OrganizationSummary.from_json(json) +# print the JSON string representation of the object +print(OrganizationSummary.to_json()) + +# convert the object into a dict +organization_summary_dict = organization_summary_instance.to_dict() +# create an instance of OrganizationSummary from a dict +organization_summary_from_dict = OrganizationSummary.from_dict(organization_summary_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PaymentMethod.md b/koyeb/api_async/docs/PaymentMethod.md new file mode 100644 index 00000000..946c4f9c --- /dev/null +++ b/koyeb/api_async/docs/PaymentMethod.md @@ -0,0 +1,49 @@ +# PaymentMethod + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**version** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**type** | **str** | | [optional] +**provider** | **str** | | [optional] +**status** | [**PaymentMethodStatus**](PaymentMethodStatus.md) | | [optional] [default to PaymentMethodStatus.INVALID] +**messages** | **List[str]** | | [optional] +**stripe_payment_method_id** | **str** | | [optional] +**authorization_verified_at** | **datetime** | | [optional] +**authorization_canceled_at** | **datetime** | | [optional] +**authorization_stripe_payment_intent_id** | **str** | | [optional] +**authorization_stripe_payment_intent_client_secret** | **str** | | [optional] +**card_brand** | **str** | | [optional] +**card_country** | **str** | | [optional] +**card_funding** | **str** | | [optional] +**card_fingerprint** | **str** | | [optional] +**card_last_digits** | **str** | | [optional] +**card_expiration_month** | **int** | | [optional] +**card_expiration_year** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.payment_method import PaymentMethod + +# TODO update the JSON string below +json = "{}" +# create an instance of PaymentMethod from a JSON string +payment_method_instance = PaymentMethod.from_json(json) +# print the JSON string representation of the object +print(PaymentMethod.to_json()) + +# convert the object into a dict +payment_method_dict = payment_method_instance.to_dict() +# create an instance of PaymentMethod from a dict +payment_method_from_dict = PaymentMethod.from_dict(payment_method_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PaymentMethodStatus.md b/koyeb/api_async/docs/PaymentMethodStatus.md new file mode 100644 index 00000000..ec62e84a --- /dev/null +++ b/koyeb/api_async/docs/PaymentMethodStatus.md @@ -0,0 +1,22 @@ +# PaymentMethodStatus + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `CREATED` (value: `'CREATED'`) + +* `AUTHORIZED` (value: `'AUTHORIZED'`) + +* `DECLINED` (value: `'DECLINED'`) + +* `CANCELED` (value: `'CANCELED'`) + +* `EXPIRED` (value: `'EXPIRED'`) + +* `UNCHECKED` (value: `'UNCHECKED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PaymentMethodsApi.md b/koyeb/api_async/docs/PaymentMethodsApi.md new file mode 100644 index 00000000..e9caf1b0 --- /dev/null +++ b/koyeb/api_async/docs/PaymentMethodsApi.md @@ -0,0 +1,438 @@ +# koyeb.api_async.PaymentMethodsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**confirm_payment_authorization**](PaymentMethodsApi.md#confirm_payment_authorization) | **POST** /v1/payment_methods/{id}/confirm | Confirm payment authorization +[**create_payment_authorization**](PaymentMethodsApi.md#create_payment_authorization) | **POST** /v1/payment_methods | Create payment authorization +[**delete_payment_method**](PaymentMethodsApi.md#delete_payment_method) | **DELETE** /v1/payment_methods/{id} | Delete payment method +[**get_payment_method**](PaymentMethodsApi.md#get_payment_method) | **GET** /v1/payment_methods/{id} | Get payment method +[**list_payment_methods**](PaymentMethodsApi.md#list_payment_methods) | **GET** /v1/payment_methods | List payment methods + + +# **confirm_payment_authorization** +> ConfirmPaymentAuthorizationReply confirm_payment_authorization(id, body) + +Confirm payment authorization + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.confirm_payment_authorization_reply import ConfirmPaymentAuthorizationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.PaymentMethodsApi(api_client) + id = 'id_example' # str | + body = None # object | + + try: + # Confirm payment authorization + api_response = await api_instance.confirm_payment_authorization(id, body) + print("The response of PaymentMethodsApi->confirm_payment_authorization:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentMethodsApi->confirm_payment_authorization: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **body** | **object**| | + +### Return type + +[**ConfirmPaymentAuthorizationReply**](ConfirmPaymentAuthorizationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_payment_authorization** +> CreatePaymentAuthorizationReply create_payment_authorization(body) + +Create payment authorization + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_payment_authorization_reply import CreatePaymentAuthorizationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.PaymentMethodsApi(api_client) + body = None # object | + + try: + # Create payment authorization + api_response = await api_instance.create_payment_authorization(body) + print("The response of PaymentMethodsApi->create_payment_authorization:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentMethodsApi->create_payment_authorization: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | **object**| | + +### Return type + +[**CreatePaymentAuthorizationReply**](CreatePaymentAuthorizationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_payment_method** +> object delete_payment_method(id) + +Delete payment method + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.PaymentMethodsApi(api_client) + id = 'id_example' # str | + + try: + # Delete payment method + api_response = await api_instance.delete_payment_method(id) + print("The response of PaymentMethodsApi->delete_payment_method:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentMethodsApi->delete_payment_method: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_payment_method** +> GetPaymentMethodReply get_payment_method(id) + +Get payment method + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_payment_method_reply import GetPaymentMethodReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.PaymentMethodsApi(api_client) + id = 'id_example' # str | + + try: + # Get payment method + api_response = await api_instance.get_payment_method(id) + print("The response of PaymentMethodsApi->get_payment_method:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentMethodsApi->get_payment_method: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**GetPaymentMethodReply**](GetPaymentMethodReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_payment_methods** +> ListPaymentMethodsReply list_payment_methods(limit=limit, offset=offset, statuses=statuses) + +List payment methods + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_payment_methods_reply import ListPaymentMethodsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.PaymentMethodsApi(api_client) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + statuses = ['statuses_example'] # List[str] | (Optional) Filter on payment method statuses (optional) + + try: + # List payment methods + api_response = await api_instance.list_payment_methods(limit=limit, offset=offset, statuses=statuses) + print("The response of PaymentMethodsApi->list_payment_methods:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PaymentMethodsApi->list_payment_methods: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **statuses** | [**List[str]**](str.md)| (Optional) Filter on payment method statuses | [optional] + +### Return type + +[**ListPaymentMethodsReply**](ListPaymentMethodsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/PeriodUsage.md b/koyeb/api_async/docs/PeriodUsage.md new file mode 100644 index 00000000..959d8095 --- /dev/null +++ b/koyeb/api_async/docs/PeriodUsage.md @@ -0,0 +1,31 @@ +# PeriodUsage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**starting_time** | **datetime** | | [optional] +**ending_time** | **datetime** | | [optional] +**apps** | [**List[AppUsage]**](AppUsage.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.period_usage import PeriodUsage + +# TODO update the JSON string below +json = "{}" +# create an instance of PeriodUsage from a JSON string +period_usage_instance = PeriodUsage.from_json(json) +# print the JSON string representation of the object +print(PeriodUsage.to_json()) + +# convert the object into a dict +period_usage_dict = period_usage_instance.to_dict() +# create an instance of PeriodUsage from a dict +period_usage_from_dict = PeriodUsage.from_dict(period_usage_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PersistentVolume.md b/koyeb/api_async/docs/PersistentVolume.md new file mode 100644 index 00000000..1b06daa1 --- /dev/null +++ b/koyeb/api_async/docs/PersistentVolume.md @@ -0,0 +1,42 @@ +# PersistentVolume + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] +**snapshot_id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**deleted_at** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**service_id** | **str** | | [optional] +**region** | **str** | | [optional] +**read_only** | **bool** | | [optional] +**max_size** | **int** | | [optional] +**cur_size** | **int** | | [optional] +**status** | [**PersistentVolumeStatus**](PersistentVolumeStatus.md) | | [optional] [default to PersistentVolumeStatus.PERSISTENT_VOLUME_STATUS_INVALID] +**backing_store** | [**PersistentVolumeBackingStore**](PersistentVolumeBackingStore.md) | | [optional] [default to PersistentVolumeBackingStore.PERSISTENT_VOLUME_BACKING_STORE_INVALID] + +## Example + +```python +from koyeb.api_async.models.persistent_volume import PersistentVolume + +# TODO update the JSON string below +json = "{}" +# create an instance of PersistentVolume from a JSON string +persistent_volume_instance = PersistentVolume.from_json(json) +# print the JSON string representation of the object +print(PersistentVolume.to_json()) + +# convert the object into a dict +persistent_volume_dict = persistent_volume_instance.to_dict() +# create an instance of PersistentVolume from a dict +persistent_volume_from_dict = PersistentVolume.from_dict(persistent_volume_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PersistentVolumeBackingStore.md b/koyeb/api_async/docs/PersistentVolumeBackingStore.md new file mode 100644 index 00000000..d0ccc822 --- /dev/null +++ b/koyeb/api_async/docs/PersistentVolumeBackingStore.md @@ -0,0 +1,12 @@ +# PersistentVolumeBackingStore + + +## Enum + +* `PERSISTENT_VOLUME_BACKING_STORE_INVALID` (value: `'PERSISTENT_VOLUME_BACKING_STORE_INVALID'`) + +* `PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK` (value: `'PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PersistentVolumeEvent.md b/koyeb/api_async/docs/PersistentVolumeEvent.md new file mode 100644 index 00000000..603e59d3 --- /dev/null +++ b/koyeb/api_async/docs/PersistentVolumeEvent.md @@ -0,0 +1,35 @@ +# PersistentVolumeEvent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**when** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**persistent_volume_id** | **str** | | [optional] +**type** | **str** | | [optional] +**message** | **str** | | [optional] +**metadata** | **object** | | [optional] + +## Example + +```python +from koyeb.api_async.models.persistent_volume_event import PersistentVolumeEvent + +# TODO update the JSON string below +json = "{}" +# create an instance of PersistentVolumeEvent from a JSON string +persistent_volume_event_instance = PersistentVolumeEvent.from_json(json) +# print the JSON string representation of the object +print(PersistentVolumeEvent.to_json()) + +# convert the object into a dict +persistent_volume_event_dict = persistent_volume_event_instance.to_dict() +# create an instance of PersistentVolumeEvent from a dict +persistent_volume_event_from_dict = PersistentVolumeEvent.from_dict(persistent_volume_event_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PersistentVolumeQuotas.md b/koyeb/api_async/docs/PersistentVolumeQuotas.md new file mode 100644 index 00000000..da01b07c --- /dev/null +++ b/koyeb/api_async/docs/PersistentVolumeQuotas.md @@ -0,0 +1,31 @@ +# PersistentVolumeQuotas + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**max_total_size** | **int** | MaxTotalSize for all volumes on a region (in Gigabyte / GB). | [optional] +**max_volume_size** | **int** | MaxVolumeSize for one volume (in Gigabyte / GB). | [optional] +**max_per_instance_size** | **int** | MaxPerInstanceSize for all volumes on an instance (in Gigabyte / GB). | [optional] + +## Example + +```python +from koyeb.api_async.models.persistent_volume_quotas import PersistentVolumeQuotas + +# TODO update the JSON string below +json = "{}" +# create an instance of PersistentVolumeQuotas from a JSON string +persistent_volume_quotas_instance = PersistentVolumeQuotas.from_json(json) +# print the JSON string representation of the object +print(PersistentVolumeQuotas.to_json()) + +# convert the object into a dict +persistent_volume_quotas_dict = persistent_volume_quotas_instance.to_dict() +# create an instance of PersistentVolumeQuotas from a dict +persistent_volume_quotas_from_dict = PersistentVolumeQuotas.from_dict(persistent_volume_quotas_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PersistentVolumeStatus.md b/koyeb/api_async/docs/PersistentVolumeStatus.md new file mode 100644 index 00000000..68d92622 --- /dev/null +++ b/koyeb/api_async/docs/PersistentVolumeStatus.md @@ -0,0 +1,20 @@ +# PersistentVolumeStatus + + +## Enum + +* `PERSISTENT_VOLUME_STATUS_INVALID` (value: `'PERSISTENT_VOLUME_STATUS_INVALID'`) + +* `PERSISTENT_VOLUME_STATUS_ATTACHED` (value: `'PERSISTENT_VOLUME_STATUS_ATTACHED'`) + +* `PERSISTENT_VOLUME_STATUS_DETACHED` (value: `'PERSISTENT_VOLUME_STATUS_DETACHED'`) + +* `PERSISTENT_VOLUME_STATUS_DELETING` (value: `'PERSISTENT_VOLUME_STATUS_DELETING'`) + +* `PERSISTENT_VOLUME_STATUS_DELETED` (value: `'PERSISTENT_VOLUME_STATUS_DELETED'`) + +* `PERSISTENT_VOLUME_STATUS_ARCHIVING` (value: `'PERSISTENT_VOLUME_STATUS_ARCHIVING'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PersistentVolumesApi.md b/koyeb/api_async/docs/PersistentVolumesApi.md new file mode 100644 index 00000000..bf70af51 --- /dev/null +++ b/koyeb/api_async/docs/PersistentVolumesApi.md @@ -0,0 +1,540 @@ +# koyeb.api_async.PersistentVolumesApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_persistent_volume**](PersistentVolumesApi.md#create_persistent_volume) | **POST** /v1/volumes | Create a PersistentVolume +[**delete_persistent_volume**](PersistentVolumesApi.md#delete_persistent_volume) | **DELETE** /v1/volumes/{id} | Delete a PersistentVolume +[**get_persistent_volume**](PersistentVolumesApi.md#get_persistent_volume) | **GET** /v1/volumes/{id} | Get a PersistentVolume +[**list_persistent_volume_events**](PersistentVolumesApi.md#list_persistent_volume_events) | **GET** /v1/volume_events | List Persistent Volume events +[**list_persistent_volumes**](PersistentVolumesApi.md#list_persistent_volumes) | **GET** /v1/volumes | List all PersistentVolumes +[**update_persistent_volume**](PersistentVolumesApi.md#update_persistent_volume) | **POST** /v1/volumes/{id} | Update a PersistentVolume + + +# **create_persistent_volume** +> CreatePersistentVolumeReply create_persistent_volume(body) + +Create a PersistentVolume + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_persistent_volume_reply import CreatePersistentVolumeReply +from koyeb.api_async.models.create_persistent_volume_request import CreatePersistentVolumeRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.PersistentVolumesApi(api_client) + body = koyeb.api_async.CreatePersistentVolumeRequest() # CreatePersistentVolumeRequest | + + try: + # Create a PersistentVolume + api_response = await api_instance.create_persistent_volume(body) + print("The response of PersistentVolumesApi->create_persistent_volume:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PersistentVolumesApi->create_persistent_volume: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**CreatePersistentVolumeRequest**](CreatePersistentVolumeRequest.md)| | + +### Return type + +[**CreatePersistentVolumeReply**](CreatePersistentVolumeReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_persistent_volume** +> DeletePersistentVolumeReply delete_persistent_volume(id) + +Delete a PersistentVolume + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.delete_persistent_volume_reply import DeletePersistentVolumeReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.PersistentVolumesApi(api_client) + id = 'id_example' # str | + + try: + # Delete a PersistentVolume + api_response = await api_instance.delete_persistent_volume(id) + print("The response of PersistentVolumesApi->delete_persistent_volume:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PersistentVolumesApi->delete_persistent_volume: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**DeletePersistentVolumeReply**](DeletePersistentVolumeReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_persistent_volume** +> GetPersistentVolumeReply get_persistent_volume(id) + +Get a PersistentVolume + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_persistent_volume_reply import GetPersistentVolumeReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.PersistentVolumesApi(api_client) + id = 'id_example' # str | + + try: + # Get a PersistentVolume + api_response = await api_instance.get_persistent_volume(id) + print("The response of PersistentVolumesApi->get_persistent_volume:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PersistentVolumesApi->get_persistent_volume: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**GetPersistentVolumeReply**](GetPersistentVolumeReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_persistent_volume_events** +> ListPersistentVolumeEventsReply list_persistent_volume_events(persistent_volume_id=persistent_volume_id, types=types, limit=limit, offset=offset, order=order) + +List Persistent Volume events + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_persistent_volume_events_reply import ListPersistentVolumeEventsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.PersistentVolumesApi(api_client) + persistent_volume_id = 'persistent_volume_id_example' # str | (Optional) Filter on persistent volume id (optional) + types = ['types_example'] # List[str] | (Optional) Filter on persistent volume event types (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + order = 'order_example' # str | (Optional) Sorts the list in the ascending or the descending order (optional) + + try: + # List Persistent Volume events + api_response = await api_instance.list_persistent_volume_events(persistent_volume_id=persistent_volume_id, types=types, limit=limit, offset=offset, order=order) + print("The response of PersistentVolumesApi->list_persistent_volume_events:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PersistentVolumesApi->list_persistent_volume_events: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **persistent_volume_id** | **str**| (Optional) Filter on persistent volume id | [optional] + **types** | [**List[str]**](str.md)| (Optional) Filter on persistent volume event types | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **order** | **str**| (Optional) Sorts the list in the ascending or the descending order | [optional] + +### Return type + +[**ListPersistentVolumeEventsReply**](ListPersistentVolumeEventsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_persistent_volumes** +> ListPersistentVolumesReply list_persistent_volumes(limit=limit, offset=offset, service_id=service_id, region=region, name=name, project_id=project_id) + +List all PersistentVolumes + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_persistent_volumes_reply import ListPersistentVolumesReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.PersistentVolumesApi(api_client) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + service_id = 'service_id_example' # str | (Optional) A filter for the service id (optional) + region = 'region_example' # str | (Optional) A filter for the region (optional) + name = 'name_example' # str | (Optional) A filter for the name (optional) + project_id = 'project_id_example' # str | (Optional) A filter for the project ID (optional) + + try: + # List all PersistentVolumes + api_response = await api_instance.list_persistent_volumes(limit=limit, offset=offset, service_id=service_id, region=region, name=name, project_id=project_id) + print("The response of PersistentVolumesApi->list_persistent_volumes:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PersistentVolumesApi->list_persistent_volumes: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **service_id** | **str**| (Optional) A filter for the service id | [optional] + **region** | **str**| (Optional) A filter for the region | [optional] + **name** | **str**| (Optional) A filter for the name | [optional] + **project_id** | **str**| (Optional) A filter for the project ID | [optional] + +### Return type + +[**ListPersistentVolumesReply**](ListPersistentVolumesReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_persistent_volume** +> UpdatePersistentVolumeReply update_persistent_volume(id, body) + +Update a PersistentVolume + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_persistent_volume_reply import UpdatePersistentVolumeReply +from koyeb.api_async.models.update_persistent_volume_request import UpdatePersistentVolumeRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.PersistentVolumesApi(api_client) + id = 'id_example' # str | + body = koyeb.api_async.UpdatePersistentVolumeRequest() # UpdatePersistentVolumeRequest | + + try: + # Update a PersistentVolume + api_response = await api_instance.update_persistent_volume(id, body) + print("The response of PersistentVolumesApi->update_persistent_volume:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PersistentVolumesApi->update_persistent_volume: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **body** | [**UpdatePersistentVolumeRequest**](UpdatePersistentVolumeRequest.md)| | + +### Return type + +[**UpdatePersistentVolumeReply**](UpdatePersistentVolumeReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/Plan.md b/koyeb/api_async/docs/Plan.md new file mode 100644 index 00000000..9309207a --- /dev/null +++ b/koyeb/api_async/docs/Plan.md @@ -0,0 +1,32 @@ +# Plan + + +## Enum + +* `HOBBY` (value: `'hobby'`) + +* `STARTER` (value: `'starter'`) + +* `STARTUP` (value: `'startup'`) + +* `BUSINESS` (value: `'business'`) + +* `ENTERPRISE` (value: `'enterprise'`) + +* `INTERNAL` (value: `'internal'`) + +* `HOBBY23` (value: `'hobby23'`) + +* `NO_PLAN` (value: `'no_plan'`) + +* `PRO` (value: `'pro'`) + +* `SCALE` (value: `'scale'`) + +* `PARTNER_CSP` (value: `'partner_csp'`) + +* `PARTNER_CSP_UNIT` (value: `'partner_csp_unit'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Port.md b/koyeb/api_async/docs/Port.md new file mode 100644 index 00000000..bb838331 --- /dev/null +++ b/koyeb/api_async/docs/Port.md @@ -0,0 +1,30 @@ +# Port + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**port** | **int** | | [optional] +**protocol** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.port import Port + +# TODO update the JSON string below +json = "{}" +# create an instance of Port from a JSON string +port_instance = Port.from_json(json) +# print the JSON string representation of the object +print(Port.to_json()) + +# convert the object into a dict +port_dict = port_instance.to_dict() +# create an instance of Port from a dict +port_from_dict = Port.from_dict(port_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PrivateRegistryConfiguration.md b/koyeb/api_async/docs/PrivateRegistryConfiguration.md new file mode 100644 index 00000000..8d38a8a0 --- /dev/null +++ b/koyeb/api_async/docs/PrivateRegistryConfiguration.md @@ -0,0 +1,31 @@ +# PrivateRegistryConfiguration + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**username** | **str** | | [optional] +**password** | **str** | | [optional] +**url** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.private_registry_configuration import PrivateRegistryConfiguration + +# TODO update the JSON string below +json = "{}" +# create an instance of PrivateRegistryConfiguration from a JSON string +private_registry_configuration_instance = PrivateRegistryConfiguration.from_json(json) +# print the JSON string representation of the object +print(PrivateRegistryConfiguration.to_json()) + +# convert the object into a dict +private_registry_configuration_dict = private_registry_configuration_instance.to_dict() +# create an instance of PrivateRegistryConfiguration from a dict +private_registry_configuration_from_dict = PrivateRegistryConfiguration.from_dict(private_registry_configuration_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ProfileApi.md b/koyeb/api_async/docs/ProfileApi.md new file mode 100644 index 00000000..c62780ff --- /dev/null +++ b/koyeb/api_async/docs/ProfileApi.md @@ -0,0 +1,1988 @@ +# koyeb.api_async.ProfileApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**accept_organization_invitation**](ProfileApi.md#accept_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/accept | Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**clear_idenfy_verification_result**](ProfileApi.md#clear_idenfy_verification_result) | **POST** /v1/account/idenfy | ClearIdenfyVerificationResult marks the current result for idenfy as superseded +[**decline_organization_invitation**](ProfileApi.md#decline_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/decline | Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**get_current_organization**](ProfileApi.md#get_current_organization) | **GET** /v1/account/organization | Get Current Organization +[**get_current_user**](ProfileApi.md#get_current_user) | **GET** /v1/account/profile | Get Current User +[**get_idenfy_token**](ProfileApi.md#get_idenfy_token) | **GET** /v1/account/idenfy | Begin a session with iDenfy, emit an authToken +[**get_o_auth_options**](ProfileApi.md#get_o_auth_options) | **GET** /v1/account/oauth | Get OAuth Providers +[**get_user_organization_invitation**](ProfileApi.md#get_user_organization_invitation) | **GET** /v1/account/organization_invitations/{id} | Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**get_user_settings**](ProfileApi.md#get_user_settings) | **GET** /v1/account/settings | +[**list_user_organization_invitations**](ProfileApi.md#list_user_organization_invitations) | **GET** /v1/account/organization_invitations | List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**list_user_organizations**](ProfileApi.md#list_user_organizations) | **GET** /v1/account/organizations | List User Organizations +[**login_method**](ProfileApi.md#login_method) | **GET** /v1/account/login_method | Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**o_auth_callback**](ProfileApi.md#o_auth_callback) | **POST** /v1/account/oauth | Authenticate using OAuth +[**resend_email_validation**](ProfileApi.md#resend_email_validation) | **POST** /v1/account/resend_validation | Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**reset_password**](ProfileApi.md#reset_password) | **POST** /v1/account/reset_password | Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**signup**](ProfileApi.md#signup) | **POST** /v1/account/signup | Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**update_password**](ProfileApi.md#update_password) | **POST** /v1/account/update_password | Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**update_user**](ProfileApi.md#update_user) | **PUT** /v1/account/profile | Update User +[**update_user2**](ProfileApi.md#update_user2) | **PATCH** /v1/account/profile | Update User +[**update_user_settings**](ProfileApi.md#update_user_settings) | **PATCH** /v1/account/settings | +[**update_user_v2**](ProfileApi.md#update_user_v2) | **PUT** /v2/account/profile | Update User V2 +[**update_user_v22**](ProfileApi.md#update_user_v22) | **PATCH** /v2/account/profile | Update User V2 +[**validate**](ProfileApi.md#validate) | **POST** /v1/account/validate/{id} | Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + +# **accept_organization_invitation** +> AcceptOrganizationInvitationReply accept_organization_invitation(id, body) + +Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.accept_organization_invitation_reply import AcceptOrganizationInvitationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + id = 'id_example' # str | The id of the organization invitation to accept + body = None # object | + + try: + # Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.accept_organization_invitation(id, body) + print("The response of ProfileApi->accept_organization_invitation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->accept_organization_invitation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the organization invitation to accept | + **body** | **object**| | + +### Return type + +[**AcceptOrganizationInvitationReply**](AcceptOrganizationInvitationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **clear_idenfy_verification_result** +> object clear_idenfy_verification_result(body) + +ClearIdenfyVerificationResult marks the current result for idenfy as superseded + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.clear_idenfy_verification_result_request import ClearIdenfyVerificationResultRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + body = koyeb.api_async.ClearIdenfyVerificationResultRequest() # ClearIdenfyVerificationResultRequest | + + try: + # ClearIdenfyVerificationResult marks the current result for idenfy as superseded + api_response = await api_instance.clear_idenfy_verification_result(body) + print("The response of ProfileApi->clear_idenfy_verification_result:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->clear_idenfy_verification_result: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**ClearIdenfyVerificationResultRequest**](ClearIdenfyVerificationResultRequest.md)| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **decline_organization_invitation** +> DeclineOrganizationInvitationReply decline_organization_invitation(id, body) + +Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.decline_organization_invitation_reply import DeclineOrganizationInvitationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + id = 'id_example' # str | The id of the organization invitation to decline + body = None # object | + + try: + # Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.decline_organization_invitation(id, body) + print("The response of ProfileApi->decline_organization_invitation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->decline_organization_invitation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the organization invitation to decline | + **body** | **object**| | + +### Return type + +[**DeclineOrganizationInvitationReply**](DeclineOrganizationInvitationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_current_organization** +> GetOrganizationReply get_current_organization() + +Get Current Organization + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_organization_reply import GetOrganizationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + + try: + # Get Current Organization + api_response = await api_instance.get_current_organization() + print("The response of ProfileApi->get_current_organization:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->get_current_organization: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**GetOrganizationReply**](GetOrganizationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_current_user** +> UserReply get_current_user(seon_fp=seon_fp) + +Get Current User + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.user_reply import UserReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) + + try: + # Get Current User + api_response = await api_instance.get_current_user(seon_fp=seon_fp) + print("The response of ProfileApi->get_current_user:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->get_current_user: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **seon_fp** | **str**| Seon Fingerprint | [optional] + +### Return type + +[**UserReply**](UserReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_idenfy_token** +> GetIdenfyTokenReply get_idenfy_token() + +Begin a session with iDenfy, emit an authToken + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_idenfy_token_reply import GetIdenfyTokenReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + + try: + # Begin a session with iDenfy, emit an authToken + api_response = await api_instance.get_idenfy_token() + print("The response of ProfileApi->get_idenfy_token:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->get_idenfy_token: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**GetIdenfyTokenReply**](GetIdenfyTokenReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_o_auth_options** +> GetOAuthOptionsReply get_o_auth_options(action=action, metadata=metadata) + +Get OAuth Providers + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_o_auth_options_reply import GetOAuthOptionsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + action = signin # str | Which authentication flow is being initiated (optional) (default to signin) + metadata = 'metadata_example' # str | A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state (optional) + + try: + # Get OAuth Providers + api_response = await api_instance.get_o_auth_options(action=action, metadata=metadata) + print("The response of ProfileApi->get_o_auth_options:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->get_o_auth_options: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **action** | **str**| Which authentication flow is being initiated | [optional] [default to signin] + **metadata** | **str**| A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state | [optional] + +### Return type + +[**GetOAuthOptionsReply**](GetOAuthOptionsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_user_organization_invitation** +> GetUserOrganizationInvitationReply get_user_organization_invitation(id) + +Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_user_organization_invitation_reply import GetUserOrganizationInvitationReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + id = 'id_example' # str | The id of the organization invitation to get + + try: + # Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.get_user_organization_invitation(id) + print("The response of ProfileApi->get_user_organization_invitation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->get_user_organization_invitation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the organization invitation to get | + +### Return type + +[**GetUserOrganizationInvitationReply**](GetUserOrganizationInvitationReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_user_settings** +> GetUserSettingsReply get_user_settings() + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_user_settings_reply import GetUserSettingsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + + try: + api_response = await api_instance.get_user_settings() + print("The response of ProfileApi->get_user_settings:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->get_user_settings: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**GetUserSettingsReply**](GetUserSettingsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_user_organization_invitations** +> ListUserOrganizationInvitationsReply list_user_organization_invitations(limit=limit, offset=offset, statuses=statuses) + +List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_user_organization_invitations_reply import ListUserOrganizationInvitationsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + statuses = ['statuses_example'] # List[str] | (Optional) Filter on organization invitation statuses (optional) + + try: + # List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.list_user_organization_invitations(limit=limit, offset=offset, statuses=statuses) + print("The response of ProfileApi->list_user_organization_invitations:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->list_user_organization_invitations: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **statuses** | [**List[str]**](str.md)| (Optional) Filter on organization invitation statuses | [optional] + +### Return type + +[**ListUserOrganizationInvitationsReply**](ListUserOrganizationInvitationsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_user_organizations** +> ListUserOrganizationsReply list_user_organizations(limit=limit, offset=offset, order=order, search=search, statuses=statuses) + +List User Organizations + +List all organizations that the current user is a member of. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_user_organizations_reply import ListUserOrganizationsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + limit = 'limit_example' # str | (Optional) Define pagination limit (optional) + offset = 'offset_example' # str | (Optional) Define pagination offset (optional) + order = 'order_example' # str | (Optional) Sorts the list in the ascending or the descending order (optional) + search = 'search_example' # str | (Optional) Fuzzy case-insensitive search based on organization name or organization id (optional) + statuses = ['statuses_example'] # List[str] | (Optional) Only return organizations which status match one in the list (optional) + + try: + # List User Organizations + api_response = await api_instance.list_user_organizations(limit=limit, offset=offset, order=order, search=search, statuses=statuses) + print("The response of ProfileApi->list_user_organizations:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->list_user_organizations: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) Define pagination limit | [optional] + **offset** | **str**| (Optional) Define pagination offset | [optional] + **order** | **str**| (Optional) Sorts the list in the ascending or the descending order | [optional] + **search** | **str**| (Optional) Fuzzy case-insensitive search based on organization name or organization id | [optional] + **statuses** | [**List[str]**](str.md)| (Optional) Only return organizations which status match one in the list | [optional] + +### Return type + +[**ListUserOrganizationsReply**](ListUserOrganizationsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **login_method** +> LoginMethodReply login_method(email=email) + +Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.login_method_reply import LoginMethodReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + email = 'email_example' # str | (optional) + + try: + # Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.login_method(email=email) + print("The response of ProfileApi->login_method:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->login_method: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **email** | **str**| | [optional] + +### Return type + +[**LoginMethodReply**](LoginMethodReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **o_auth_callback** +> OAuthCallbackReply o_auth_callback(body, seon_fp=seon_fp) + +Authenticate using OAuth + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.o_auth_callback_reply import OAuthCallbackReply +from koyeb.api_async.models.o_auth_callback_request import OAuthCallbackRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + body = koyeb.api_async.OAuthCallbackRequest() # OAuthCallbackRequest | + seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) + + try: + # Authenticate using OAuth + api_response = await api_instance.o_auth_callback(body, seon_fp=seon_fp) + print("The response of ProfileApi->o_auth_callback:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->o_auth_callback: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**OAuthCallbackRequest**](OAuthCallbackRequest.md)| | + **seon_fp** | **str**| Seon Fingerprint | [optional] + +### Return type + +[**OAuthCallbackReply**](OAuthCallbackReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **resend_email_validation** +> object resend_email_validation(body) + +Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + body = None # object | + + try: + # Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.resend_email_validation(body) + print("The response of ProfileApi->resend_email_validation:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->resend_email_validation: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | **object**| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **reset_password** +> object reset_password(body) + +Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.reset_password_request import ResetPasswordRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + body = koyeb.api_async.ResetPasswordRequest() # ResetPasswordRequest | + + try: + # Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.reset_password(body) + print("The response of ProfileApi->reset_password:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->reset_password: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**ResetPasswordRequest**](ResetPasswordRequest.md)| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **signup** +> LoginReply signup(body, seon_fp=seon_fp) + +Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_account_request import CreateAccountRequest +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + body = koyeb.api_async.CreateAccountRequest() # CreateAccountRequest | Create new account + seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) + + try: + # Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.signup(body, seon_fp=seon_fp) + print("The response of ProfileApi->signup:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->signup: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**CreateAccountRequest**](CreateAccountRequest.md)| Create new account | + **seon_fp** | **str**| Seon Fingerprint | [optional] + +### Return type + +[**LoginReply**](LoginReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_password** +> LoginReply update_password(body, seon_fp=seon_fp) + +Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.models.update_password_request import UpdatePasswordRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + body = koyeb.api_async.UpdatePasswordRequest() # UpdatePasswordRequest | + seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) + + try: + # Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.update_password(body, seon_fp=seon_fp) + print("The response of ProfileApi->update_password:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->update_password: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**UpdatePasswordRequest**](UpdatePasswordRequest.md)| | + **seon_fp** | **str**| Seon Fingerprint | [optional] + +### Return type + +[**LoginReply**](LoginReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_user** +> UserReply update_user(user, update_mask=update_mask) + +Update User + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_user_request_user_update_body import UpdateUserRequestUserUpdateBody +from koyeb.api_async.models.user_reply import UserReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + user = koyeb.api_async.UpdateUserRequestUserUpdateBody() # UpdateUserRequestUserUpdateBody | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update User + api_response = await api_instance.update_user(user, update_mask=update_mask) + print("The response of ProfileApi->update_user:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->update_user: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user** | [**UpdateUserRequestUserUpdateBody**](UpdateUserRequestUserUpdateBody.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UserReply**](UserReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_user2** +> UserReply update_user2(user, update_mask=update_mask) + +Update User + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_user_request_user_update_body import UpdateUserRequestUserUpdateBody +from koyeb.api_async.models.user_reply import UserReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + user = koyeb.api_async.UpdateUserRequestUserUpdateBody() # UpdateUserRequestUserUpdateBody | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update User + api_response = await api_instance.update_user2(user, update_mask=update_mask) + print("The response of ProfileApi->update_user2:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->update_user2: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user** | [**UpdateUserRequestUserUpdateBody**](UpdateUserRequestUserUpdateBody.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UserReply**](UserReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_user_settings** +> UpdateUserSettingsReply update_user_settings(body) + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_user_settings_reply import UpdateUserSettingsReply +from koyeb.api_async.models.update_user_settings_request import UpdateUserSettingsRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + body = koyeb.api_async.UpdateUserSettingsRequest() # UpdateUserSettingsRequest | + + try: + api_response = await api_instance.update_user_settings(body) + print("The response of ProfileApi->update_user_settings:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->update_user_settings: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**UpdateUserSettingsRequest**](UpdateUserSettingsRequest.md)| | + +### Return type + +[**UpdateUserSettingsReply**](UpdateUserSettingsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_user_v2** +> UserReply update_user_v2(user, update_mask=update_mask) + +Update User V2 + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_user_request_user_update_body import UpdateUserRequestUserUpdateBody +from koyeb.api_async.models.user_reply import UserReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + user = koyeb.api_async.UpdateUserRequestUserUpdateBody() # UpdateUserRequestUserUpdateBody | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update User V2 + api_response = await api_instance.update_user_v2(user, update_mask=update_mask) + print("The response of ProfileApi->update_user_v2:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->update_user_v2: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user** | [**UpdateUserRequestUserUpdateBody**](UpdateUserRequestUserUpdateBody.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UserReply**](UserReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_user_v22** +> UserReply update_user_v22(user, update_mask=update_mask) + +Update User V2 + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_user_request_user_update_body import UpdateUserRequestUserUpdateBody +from koyeb.api_async.models.user_reply import UserReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + user = koyeb.api_async.UpdateUserRequestUserUpdateBody() # UpdateUserRequestUserUpdateBody | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update User V2 + api_response = await api_instance.update_user_v22(user, update_mask=update_mask) + print("The response of ProfileApi->update_user_v22:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->update_user_v22: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user** | [**UpdateUserRequestUserUpdateBody**](UpdateUserRequestUserUpdateBody.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UserReply**](UserReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **validate** +> LoginReply validate(id, seon_fp=seon_fp) + +Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProfileApi(api_client) + id = 'id_example' # str | + seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) + + try: + # Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.validate(id, seon_fp=seon_fp) + print("The response of ProfileApi->validate:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProfileApi->validate: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **seon_fp** | **str**| Seon Fingerprint | [optional] + +### Return type + +[**LoginReply**](LoginReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/Project.md b/koyeb/api_async/docs/Project.md new file mode 100644 index 00000000..f7aaca1f --- /dev/null +++ b/koyeb/api_async/docs/Project.md @@ -0,0 +1,35 @@ +# Project + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] +**description** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**updated_at** | **datetime** | | [optional] +**created_at** | **datetime** | | [optional] +**service_count** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.project import Project + +# TODO update the JSON string below +json = "{}" +# create an instance of Project from a JSON string +project_instance = Project.from_json(json) +# print the JSON string representation of the object +print(Project.to_json()) + +# convert the object into a dict +project_dict = project_instance.to_dict() +# create an instance of Project from a dict +project_from_dict = Project.from_dict(project_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ProjectsApi.md b/koyeb/api_async/docs/ProjectsApi.md new file mode 100644 index 00000000..83529f6f --- /dev/null +++ b/koyeb/api_async/docs/ProjectsApi.md @@ -0,0 +1,532 @@ +# koyeb.api_async.ProjectsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_project**](ProjectsApi.md#create_project) | **POST** /v1/projects | Create project +[**delete_project**](ProjectsApi.md#delete_project) | **DELETE** /v1/projects/{id} | Delete project +[**get_project**](ProjectsApi.md#get_project) | **GET** /v1/projects/{id} | Get project +[**list_projects**](ProjectsApi.md#list_projects) | **GET** /v1/projects | List projects +[**update_project**](ProjectsApi.md#update_project) | **PUT** /v1/projects/{id} | Update project +[**update_project2**](ProjectsApi.md#update_project2) | **PATCH** /v1/projects/{id} | Update project + + +# **create_project** +> CreateProjectReply create_project(project) + +Create project + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_project import CreateProject +from koyeb.api_async.models.create_project_reply import CreateProjectReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProjectsApi(api_client) + project = koyeb.api_async.CreateProject() # CreateProject | + + try: + # Create project + api_response = await api_instance.create_project(project) + print("The response of ProjectsApi->create_project:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->create_project: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project** | [**CreateProject**](CreateProject.md)| | + +### Return type + +[**CreateProjectReply**](CreateProjectReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_project** +> object delete_project(id) + +Delete project + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProjectsApi(api_client) + id = 'id_example' # str | + + try: + # Delete project + api_response = await api_instance.delete_project(id) + print("The response of ProjectsApi->delete_project:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->delete_project: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_project** +> GetProjectReply get_project(id) + +Get project + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_project_reply import GetProjectReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProjectsApi(api_client) + id = 'id_example' # str | + + try: + # Get project + api_response = await api_instance.get_project(id) + print("The response of ProjectsApi->get_project:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->get_project: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**GetProjectReply**](GetProjectReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_projects** +> ListProjectsReply list_projects(limit=limit, offset=offset, name=name) + +List projects + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_projects_reply import ListProjectsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProjectsApi(api_client) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + name = 'name_example' # str | (Optional) Filter by project name (optional) + + try: + # List projects + api_response = await api_instance.list_projects(limit=limit, offset=offset, name=name) + print("The response of ProjectsApi->list_projects:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->list_projects: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **name** | **str**| (Optional) Filter by project name | [optional] + +### Return type + +[**ListProjectsReply**](ListProjectsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_project** +> UpdateProjectReply update_project(id, project, update_mask=update_mask) + +Update project + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.project import Project +from koyeb.api_async.models.update_project_reply import UpdateProjectReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProjectsApi(api_client) + id = 'id_example' # str | + project = koyeb.api_async.Project() # Project | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update project + api_response = await api_instance.update_project(id, project, update_mask=update_mask) + print("The response of ProjectsApi->update_project:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->update_project: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **project** | [**Project**](Project.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UpdateProjectReply**](UpdateProjectReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_project2** +> UpdateProjectReply update_project2(id, project, update_mask=update_mask) + +Update project + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.project import Project +from koyeb.api_async.models.update_project_reply import UpdateProjectReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProjectsApi(api_client) + id = 'id_example' # str | + project = koyeb.api_async.Project() # Project | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update project + api_response = await api_instance.update_project2(id, project, update_mask=update_mask) + print("The response of ProjectsApi->update_project2:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProjectsApi->update_project2: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **project** | [**Project**](Project.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UpdateProjectReply**](UpdateProjectReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/ProvisioningApi.md b/koyeb/api_async/docs/ProvisioningApi.md new file mode 100644 index 00000000..0cd22089 --- /dev/null +++ b/koyeb/api_async/docs/ProvisioningApi.md @@ -0,0 +1,283 @@ +# koyeb.api_async.ProvisioningApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_stage_attempt**](ProvisioningApi.md#create_stage_attempt) | **POST** /v1/provisioning/{deployment_id}/status/{stage}/{attempt} | Create an attempt for a stage +[**declare_stage_progress**](ProvisioningApi.md#declare_stage_progress) | **PATCH** /v1/provisioning/{deployment_id}/status/{stage}/{attempt} | Declare stage progress +[**declare_step_progress**](ProvisioningApi.md#declare_step_progress) | **PATCH** /v1/provisioning/{deployment_id}/status/{stage}/{attempt}/{step} | Declare step progress + + +# **create_stage_attempt** +> object create_stage_attempt(deployment_id, stage, attempt, body) + +Create an attempt for a stage + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_stage_attempt_request import CreateStageAttemptRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProvisioningApi(api_client) + deployment_id = 'deployment_id_example' # str | + stage = 'stage_example' # str | + attempt = 'attempt_example' # str | + body = koyeb.api_async.CreateStageAttemptRequest() # CreateStageAttemptRequest | + + try: + # Create an attempt for a stage + api_response = await api_instance.create_stage_attempt(deployment_id, stage, attempt, body) + print("The response of ProvisioningApi->create_stage_attempt:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProvisioningApi->create_stage_attempt: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **deployment_id** | **str**| | + **stage** | **str**| | + **attempt** | **str**| | + **body** | [**CreateStageAttemptRequest**](CreateStageAttemptRequest.md)| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **declare_stage_progress** +> object declare_stage_progress(deployment_id, stage, attempt, body) + +Declare stage progress + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.declare_stage_progress_request import DeclareStageProgressRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProvisioningApi(api_client) + deployment_id = 'deployment_id_example' # str | + stage = 'stage_example' # str | + attempt = 'attempt_example' # str | + body = koyeb.api_async.DeclareStageProgressRequest() # DeclareStageProgressRequest | + + try: + # Declare stage progress + api_response = await api_instance.declare_stage_progress(deployment_id, stage, attempt, body) + print("The response of ProvisioningApi->declare_stage_progress:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProvisioningApi->declare_stage_progress: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **deployment_id** | **str**| | + **stage** | **str**| | + **attempt** | **str**| | + **body** | [**DeclareStageProgressRequest**](DeclareStageProgressRequest.md)| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **declare_step_progress** +> object declare_step_progress(deployment_id, stage, attempt, step, body) + +Declare step progress + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.declare_step_progress_request import DeclareStepProgressRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ProvisioningApi(api_client) + deployment_id = 'deployment_id_example' # str | + stage = 'stage_example' # str | + attempt = 'attempt_example' # str | + step = 'step_example' # str | + body = koyeb.api_async.DeclareStepProgressRequest() # DeclareStepProgressRequest | + + try: + # Declare step progress + api_response = await api_instance.declare_step_progress(deployment_id, stage, attempt, step, body) + print("The response of ProvisioningApi->declare_step_progress:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ProvisioningApi->declare_step_progress: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **deployment_id** | **str**| | + **stage** | **str**| | + **attempt** | **str**| | + **step** | **str**| | + **body** | [**DeclareStepProgressRequest**](DeclareStepProgressRequest.md)| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/ProxyPortProtocol.md b/koyeb/api_async/docs/ProxyPortProtocol.md new file mode 100644 index 00000000..d480a10a --- /dev/null +++ b/koyeb/api_async/docs/ProxyPortProtocol.md @@ -0,0 +1,10 @@ +# ProxyPortProtocol + + +## Enum + +* `TCP` (value: `'tcp'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PublicOrganization.md b/koyeb/api_async/docs/PublicOrganization.md new file mode 100644 index 00000000..b1742457 --- /dev/null +++ b/koyeb/api_async/docs/PublicOrganization.md @@ -0,0 +1,33 @@ +# PublicOrganization + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] +**plan** | [**Plan**](Plan.md) | | [optional] [default to Plan.HOBBY] +**status** | [**OrganizationStatus**](OrganizationStatus.md) | | [optional] [default to OrganizationStatus.WARNING] +**external_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.public_organization import PublicOrganization + +# TODO update the JSON string below +json = "{}" +# create an instance of PublicOrganization from a JSON string +public_organization_instance = PublicOrganization.from_json(json) +# print the JSON string representation of the object +print(PublicOrganization.to_json()) + +# convert the object into a dict +public_organization_dict = public_organization_instance.to_dict() +# create an instance of PublicOrganization from a dict +public_organization_from_dict = PublicOrganization.from_dict(public_organization_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/PublicUser.md b/koyeb/api_async/docs/PublicUser.md new file mode 100644 index 00000000..f682c12c --- /dev/null +++ b/koyeb/api_async/docs/PublicUser.md @@ -0,0 +1,34 @@ +# PublicUser + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**email** | **str** | | [optional] +**name** | **str** | | [optional] +**avatar_url** | **str** | | [optional] +**github_id** | **str** | | [optional] +**github_user** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.public_user import PublicUser + +# TODO update the JSON string below +json = "{}" +# create an instance of PublicUser from a JSON string +public_user_instance = PublicUser.from_json(json) +# print the JSON string representation of the object +print(PublicUser.to_json()) + +# convert the object into a dict +public_user_dict = public_user_instance.to_dict() +# create an instance of PublicUser from a dict +public_user_from_dict = PublicUser.from_dict(public_user_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/QueryLogsReply.md b/koyeb/api_async/docs/QueryLogsReply.md new file mode 100644 index 00000000..7e52fff7 --- /dev/null +++ b/koyeb/api_async/docs/QueryLogsReply.md @@ -0,0 +1,30 @@ +# QueryLogsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[LogEntry]**](LogEntry.md) | | [optional] +**pagination** | [**QueryLogsReplyPagination**](QueryLogsReplyPagination.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.query_logs_reply import QueryLogsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryLogsReply from a JSON string +query_logs_reply_instance = QueryLogsReply.from_json(json) +# print the JSON string representation of the object +print(QueryLogsReply.to_json()) + +# convert the object into a dict +query_logs_reply_dict = query_logs_reply_instance.to_dict() +# create an instance of QueryLogsReply from a dict +query_logs_reply_from_dict = QueryLogsReply.from_dict(query_logs_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/QueryLogsReplyPagination.md b/koyeb/api_async/docs/QueryLogsReplyPagination.md new file mode 100644 index 00000000..c8bb0332 --- /dev/null +++ b/koyeb/api_async/docs/QueryLogsReplyPagination.md @@ -0,0 +1,31 @@ +# QueryLogsReplyPagination + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**has_more** | **bool** | | [optional] +**next_start** | **datetime** | | [optional] +**next_end** | **datetime** | | [optional] + +## Example + +```python +from koyeb.api_async.models.query_logs_reply_pagination import QueryLogsReplyPagination + +# TODO update the JSON string below +json = "{}" +# create an instance of QueryLogsReplyPagination from a JSON string +query_logs_reply_pagination_instance = QueryLogsReplyPagination.from_json(json) +# print the JSON string representation of the object +print(QueryLogsReplyPagination.to_json()) + +# convert the object into a dict +query_logs_reply_pagination_dict = query_logs_reply_pagination_instance.to_dict() +# create an instance of QueryLogsReplyPagination from a dict +query_logs_reply_pagination_from_dict = QueryLogsReplyPagination.from_dict(query_logs_reply_pagination_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Quotas.md b/koyeb/api_async/docs/Quotas.md new file mode 100644 index 00000000..ec77c1e9 --- /dev/null +++ b/koyeb/api_async/docs/Quotas.md @@ -0,0 +1,50 @@ +# Quotas + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**apps** | **str** | | [optional] +**services** | **str** | | [optional] +**domains** | **str** | | [optional] +**services_by_app** | **str** | | [optional] +**service_provisioning_concurrency** | **str** | | [optional] +**memory_mb** | **str** | | [optional] +**instance_types** | **List[str]** | | [optional] +**regions** | **List[str]** | | [optional] +**max_organization_members** | **str** | | [optional] +**max_instances_by_type** | **Dict[str, str]** | | [optional] +**persistent_volumes_by_region** | [**Dict[str, PersistentVolumeQuotas]**](PersistentVolumeQuotas.md) | | [optional] +**custom_domains** | **str** | | [optional] +**domains_load_balancer** | [**DomainLoadBalancerQuotas**](DomainLoadBalancerQuotas.md) | | [optional] +**metrics_retention** | **int** | | [optional] +**logs_retention** | **int** | | [optional] +**access_reserved_subdomains** | **List[str]** | | [optional] +**proxy_ports** | **int** | | [optional] +**scale_to_zero** | [**ScaleToZeroQuotas**](ScaleToZeroQuotas.md) | | [optional] +**archives** | **str** | | [optional] +**archive_max_size_mb** | **str** | | [optional] +**lifecycle** | [**LifecycleQuotas**](LifecycleQuotas.md) | | [optional] +**max_projects** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.quotas import Quotas + +# TODO update the JSON string below +json = "{}" +# create an instance of Quotas from a JSON string +quotas_instance = Quotas.from_json(json) +# print the JSON string representation of the object +print(Quotas.to_json()) + +# convert the object into a dict +quotas_dict = quotas_instance.to_dict() +# create an instance of Quotas from a dict +quotas_from_dict = Quotas.from_dict(quotas_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/QuotasApi.md b/koyeb/api_async/docs/QuotasApi.md new file mode 100644 index 00000000..677e8bd0 --- /dev/null +++ b/koyeb/api_async/docs/QuotasApi.md @@ -0,0 +1,94 @@ +# koyeb.api_async.QuotasApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**review_organization_capacity**](QuotasApi.md#review_organization_capacity) | **POST** /v1/quotas/capacity | DEPRECATED: Review Organization Capacity + + +# **review_organization_capacity** +> ReviewOrganizationCapacityReply review_organization_capacity(body) + +DEPRECATED: Review Organization Capacity + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.review_organization_capacity_reply import ReviewOrganizationCapacityReply +from koyeb.api_async.models.review_organization_capacity_request import ReviewOrganizationCapacityRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.QuotasApi(api_client) + body = koyeb.api_async.ReviewOrganizationCapacityRequest() # ReviewOrganizationCapacityRequest | + + try: + # DEPRECATED: Review Organization Capacity + api_response = await api_instance.review_organization_capacity(body) + print("The response of QuotasApi->review_organization_capacity:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling QuotasApi->review_organization_capacity: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**ReviewOrganizationCapacityRequest**](ReviewOrganizationCapacityRequest.md)| | + +### Return type + +[**ReviewOrganizationCapacityReply**](ReviewOrganizationCapacityReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/ReactivateOrganizationReply.md b/koyeb/api_async/docs/ReactivateOrganizationReply.md new file mode 100644 index 00000000..b2897ba7 --- /dev/null +++ b/koyeb/api_async/docs/ReactivateOrganizationReply.md @@ -0,0 +1,29 @@ +# ReactivateOrganizationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | [**Organization**](Organization.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.reactivate_organization_reply import ReactivateOrganizationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ReactivateOrganizationReply from a JSON string +reactivate_organization_reply_instance = ReactivateOrganizationReply.from_json(json) +# print the JSON string representation of the object +print(ReactivateOrganizationReply.to_json()) + +# convert the object into a dict +reactivate_organization_reply_dict = reactivate_organization_reply_instance.to_dict() +# create an instance of ReactivateOrganizationReply from a dict +reactivate_organization_reply_from_dict = ReactivateOrganizationReply.from_dict(reactivate_organization_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RedeemCouponRequest.md b/koyeb/api_async/docs/RedeemCouponRequest.md new file mode 100644 index 00000000..79201137 --- /dev/null +++ b/koyeb/api_async/docs/RedeemCouponRequest.md @@ -0,0 +1,29 @@ +# RedeemCouponRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.redeem_coupon_request import RedeemCouponRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of RedeemCouponRequest from a JSON string +redeem_coupon_request_instance = RedeemCouponRequest.from_json(json) +# print the JSON string representation of the object +print(RedeemCouponRequest.to_json()) + +# convert the object into a dict +redeem_coupon_request_dict = redeem_coupon_request_instance.to_dict() +# create an instance of RedeemCouponRequest from a dict +redeem_coupon_request_from_dict = RedeemCouponRequest.from_dict(redeem_coupon_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RedeployReply.md b/koyeb/api_async/docs/RedeployReply.md new file mode 100644 index 00000000..8b454201 --- /dev/null +++ b/koyeb/api_async/docs/RedeployReply.md @@ -0,0 +1,29 @@ +# RedeployReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment** | [**Deployment**](Deployment.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.redeploy_reply import RedeployReply + +# TODO update the JSON string below +json = "{}" +# create an instance of RedeployReply from a JSON string +redeploy_reply_instance = RedeployReply.from_json(json) +# print the JSON string representation of the object +print(RedeployReply.to_json()) + +# convert the object into a dict +redeploy_reply_dict = redeploy_reply_instance.to_dict() +# create an instance of RedeployReply from a dict +redeploy_reply_from_dict = RedeployReply.from_dict(redeploy_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RedeployRequestInfo.md b/koyeb/api_async/docs/RedeployRequestInfo.md new file mode 100644 index 00000000..c658c008 --- /dev/null +++ b/koyeb/api_async/docs/RedeployRequestInfo.md @@ -0,0 +1,32 @@ +# RedeployRequestInfo + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**deployment_group** | **str** | | [optional] +**sha** | **str** | | [optional] +**use_cache** | **bool** | | [optional] +**skip_build** | **bool** | If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened. | [optional] + +## Example + +```python +from koyeb.api_async.models.redeploy_request_info import RedeployRequestInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of RedeployRequestInfo from a JSON string +redeploy_request_info_instance = RedeployRequestInfo.from_json(json) +# print the JSON string representation of the object +print(RedeployRequestInfo.to_json()) + +# convert the object into a dict +redeploy_request_info_dict = redeploy_request_info_instance.to_dict() +# create an instance of RedeployRequestInfo from a dict +redeploy_request_info_from_dict = RedeployRequestInfo.from_dict(redeploy_request_info_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Region.md b/koyeb/api_async/docs/Region.md new file mode 100644 index 00000000..26398273 --- /dev/null +++ b/koyeb/api_async/docs/Region.md @@ -0,0 +1,36 @@ +# Region + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] +**coordinates** | **List[str]** | | [optional] +**status** | **str** | | [optional] +**instances** | **List[str]** | | [optional] +**datacenters** | **List[str]** | | [optional] +**volumes_enabled** | **bool** | | [optional] +**scope** | **str** | The scope of the region, continent, metropolitan area, etc. | [optional] + +## Example + +```python +from koyeb.api_async.models.region import Region + +# TODO update the JSON string below +json = "{}" +# create an instance of Region from a JSON string +region_instance = Region.from_json(json) +# print the JSON string representation of the object +print(Region.to_json()) + +# convert the object into a dict +region_dict = region_instance.to_dict() +# create an instance of Region from a dict +region_from_dict = Region.from_dict(region_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionAvailability.md b/koyeb/api_async/docs/RegionAvailability.md new file mode 100644 index 00000000..5c725aa7 --- /dev/null +++ b/koyeb/api_async/docs/RegionAvailability.md @@ -0,0 +1,29 @@ +# RegionAvailability + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**availability** | [**AvailabilityLevel**](AvailabilityLevel.md) | | [optional] [default to AvailabilityLevel.UNKNOWN] + +## Example + +```python +from koyeb.api_async.models.region_availability import RegionAvailability + +# TODO update the JSON string below +json = "{}" +# create an instance of RegionAvailability from a JSON string +region_availability_instance = RegionAvailability.from_json(json) +# print the JSON string representation of the object +print(RegionAvailability.to_json()) + +# convert the object into a dict +region_availability_dict = region_availability_instance.to_dict() +# create an instance of RegionAvailability from a dict +region_availability_from_dict = RegionAvailability.from_dict(region_availability_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionListItem.md b/koyeb/api_async/docs/RegionListItem.md new file mode 100644 index 00000000..a9dd6fdd --- /dev/null +++ b/koyeb/api_async/docs/RegionListItem.md @@ -0,0 +1,36 @@ +# RegionListItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] +**coordinates** | **List[str]** | | [optional] +**status** | **str** | | [optional] +**instances** | **List[str]** | | [optional] +**datacenters** | **List[str]** | | [optional] +**volumes_enabled** | **bool** | | [optional] +**scope** | **str** | The scope of the region, continent, metropolitan area, etc. | [optional] + +## Example + +```python +from koyeb.api_async.models.region_list_item import RegionListItem + +# TODO update the JSON string below +json = "{}" +# create an instance of RegionListItem from a JSON string +region_list_item_instance = RegionListItem.from_json(json) +# print the JSON string representation of the object +print(RegionListItem.to_json()) + +# convert the object into a dict +region_list_item_dict = region_list_item_instance.to_dict() +# create an instance of RegionListItem from a dict +region_list_item_from_dict = RegionListItem.from_dict(region_list_item_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionUsage.md b/koyeb/api_async/docs/RegionUsage.md new file mode 100644 index 00000000..e23c85f6 --- /dev/null +++ b/koyeb/api_async/docs/RegionUsage.md @@ -0,0 +1,29 @@ +# RegionUsage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**instances** | [**Dict[str, InstanceUsage]**](InstanceUsage.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.region_usage import RegionUsage + +# TODO update the JSON string below +json = "{}" +# create an instance of RegionUsage from a JSON string +region_usage_instance = RegionUsage.from_json(json) +# print the JSON string representation of the object +print(RegionUsage.to_json()) + +# convert the object into a dict +region_usage_dict = region_usage_instance.to_dict() +# create an instance of RegionUsage from a dict +region_usage_from_dict = RegionUsage.from_dict(region_usage_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionalDeployment.md b/koyeb/api_async/docs/RegionalDeployment.md new file mode 100644 index 00000000..c6da357b --- /dev/null +++ b/koyeb/api_async/docs/RegionalDeployment.md @@ -0,0 +1,52 @@ +# RegionalDeployment + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**scheduled_at** | **datetime** | | [optional] +**allocated_at** | **datetime** | | [optional] +**started_at** | **datetime** | | [optional] +**succeeded_at** | **datetime** | | [optional] +**terminated_at** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**service_id** | **str** | | [optional] +**region** | **str** | | [optional] +**parent_id** | **str** | | [optional] +**child_id** | **str** | | [optional] +**status** | [**RegionalDeploymentStatus**](RegionalDeploymentStatus.md) | | [optional] [default to RegionalDeploymentStatus.PENDING] +**messages** | **List[str]** | | [optional] +**definition** | [**RegionalDeploymentDefinition**](RegionalDeploymentDefinition.md) | | [optional] +**datacenters** | **List[str]** | | [optional] +**metadata** | **object** | | [optional] +**provisioning_info** | [**DeploymentProvisioningInfo**](DeploymentProvisioningInfo.md) | | [optional] +**role** | [**RegionalDeploymentRole**](RegionalDeploymentRole.md) | | [optional] [default to RegionalDeploymentRole.INVALID] +**version** | **str** | | [optional] +**deployment_group** | **str** | | [optional] +**deployment_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.regional_deployment import RegionalDeployment + +# TODO update the JSON string below +json = "{}" +# create an instance of RegionalDeployment from a JSON string +regional_deployment_instance = RegionalDeployment.from_json(json) +# print the JSON string representation of the object +print(RegionalDeployment.to_json()) + +# convert the object into a dict +regional_deployment_dict = regional_deployment_instance.to_dict() +# create an instance of RegionalDeployment from a dict +regional_deployment_from_dict = RegionalDeployment.from_dict(regional_deployment_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionalDeploymentDefinition.md b/koyeb/api_async/docs/RegionalDeploymentDefinition.md new file mode 100644 index 00000000..5decbe42 --- /dev/null +++ b/koyeb/api_async/docs/RegionalDeploymentDefinition.md @@ -0,0 +1,46 @@ +# RegionalDeploymentDefinition + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**type** | [**RegionalDeploymentDefinitionType**](RegionalDeploymentDefinitionType.md) | | [optional] [default to RegionalDeploymentDefinitionType.INVALID] +**strategy** | [**DeploymentStrategy**](DeploymentStrategy.md) | | [optional] +**routes** | [**List[Route]**](Route.md) | | [optional] +**ports** | [**List[Port]**](Port.md) | | [optional] +**env** | [**List[Env]**](Env.md) | | [optional] +**region** | **str** | | [optional] +**scaling** | [**Scaling**](Scaling.md) | | [optional] +**instance_type** | **str** | | [optional] +**deployment_group** | **str** | | [optional] +**health_checks** | [**List[DeploymentHealthCheck]**](DeploymentHealthCheck.md) | | [optional] +**volumes** | [**List[RegionalDeploymentVolume]**](RegionalDeploymentVolume.md) | | [optional] +**config_files** | [**List[ConfigFile]**](ConfigFile.md) | | [optional] +**skip_cache** | **bool** | | [optional] +**mesh** | [**RegionalDeploymentMesh**](RegionalDeploymentMesh.md) | | [optional] [default to RegionalDeploymentMesh.REGIONAL_DEPLOYMENT_MESH_AUTO] +**docker** | [**DockerSource**](DockerSource.md) | | [optional] +**git** | [**GitSource**](GitSource.md) | | [optional] +**archive** | [**ArchiveSource**](ArchiveSource.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.regional_deployment_definition import RegionalDeploymentDefinition + +# TODO update the JSON string below +json = "{}" +# create an instance of RegionalDeploymentDefinition from a JSON string +regional_deployment_definition_instance = RegionalDeploymentDefinition.from_json(json) +# print the JSON string representation of the object +print(RegionalDeploymentDefinition.to_json()) + +# convert the object into a dict +regional_deployment_definition_dict = regional_deployment_definition_instance.to_dict() +# create an instance of RegionalDeploymentDefinition from a dict +regional_deployment_definition_from_dict = RegionalDeploymentDefinition.from_dict(regional_deployment_definition_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionalDeploymentDefinitionType.md b/koyeb/api_async/docs/RegionalDeploymentDefinitionType.md new file mode 100644 index 00000000..edc19805 --- /dev/null +++ b/koyeb/api_async/docs/RegionalDeploymentDefinitionType.md @@ -0,0 +1,18 @@ +# RegionalDeploymentDefinitionType + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `WEB` (value: `'WEB'`) + +* `WORKER` (value: `'WORKER'`) + +* `UNDERSCORE` (value: `'_'`) + +* `SANDBOX` (value: `'SANDBOX'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionalDeploymentEvent.md b/koyeb/api_async/docs/RegionalDeploymentEvent.md new file mode 100644 index 00000000..7316424a --- /dev/null +++ b/koyeb/api_async/docs/RegionalDeploymentEvent.md @@ -0,0 +1,35 @@ +# RegionalDeploymentEvent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**when** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**regional_deployment_id** | **str** | | [optional] +**type** | **str** | | [optional] +**message** | **str** | | [optional] +**metadata** | **object** | | [optional] + +## Example + +```python +from koyeb.api_async.models.regional_deployment_event import RegionalDeploymentEvent + +# TODO update the JSON string below +json = "{}" +# create an instance of RegionalDeploymentEvent from a JSON string +regional_deployment_event_instance = RegionalDeploymentEvent.from_json(json) +# print the JSON string representation of the object +print(RegionalDeploymentEvent.to_json()) + +# convert the object into a dict +regional_deployment_event_dict = regional_deployment_event_instance.to_dict() +# create an instance of RegionalDeploymentEvent from a dict +regional_deployment_event_from_dict = RegionalDeploymentEvent.from_dict(regional_deployment_event_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionalDeploymentListItem.md b/koyeb/api_async/docs/RegionalDeploymentListItem.md new file mode 100644 index 00000000..620d46a3 --- /dev/null +++ b/koyeb/api_async/docs/RegionalDeploymentListItem.md @@ -0,0 +1,35 @@ +# RegionalDeploymentListItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**region** | **str** | | [optional] +**status** | [**RegionalDeploymentStatus**](RegionalDeploymentStatus.md) | | [optional] [default to RegionalDeploymentStatus.PENDING] +**messages** | **List[str]** | | [optional] +**definition** | [**RegionalDeploymentDefinition**](RegionalDeploymentDefinition.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.regional_deployment_list_item import RegionalDeploymentListItem + +# TODO update the JSON string below +json = "{}" +# create an instance of RegionalDeploymentListItem from a JSON string +regional_deployment_list_item_instance = RegionalDeploymentListItem.from_json(json) +# print the JSON string representation of the object +print(RegionalDeploymentListItem.to_json()) + +# convert the object into a dict +regional_deployment_list_item_dict = regional_deployment_list_item_instance.to_dict() +# create an instance of RegionalDeploymentListItem from a dict +regional_deployment_list_item_from_dict = RegionalDeploymentListItem.from_dict(regional_deployment_list_item_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionalDeploymentMesh.md b/koyeb/api_async/docs/RegionalDeploymentMesh.md new file mode 100644 index 00000000..3aca96c9 --- /dev/null +++ b/koyeb/api_async/docs/RegionalDeploymentMesh.md @@ -0,0 +1,14 @@ +# RegionalDeploymentMesh + + +## Enum + +* `REGIONAL_DEPLOYMENT_MESH_AUTO` (value: `'REGIONAL_DEPLOYMENT_MESH_AUTO'`) + +* `REGIONAL_DEPLOYMENT_MESH_ENABLED` (value: `'REGIONAL_DEPLOYMENT_MESH_ENABLED'`) + +* `REGIONAL_DEPLOYMENT_MESH_DISABLED` (value: `'REGIONAL_DEPLOYMENT_MESH_DISABLED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionalDeploymentRole.md b/koyeb/api_async/docs/RegionalDeploymentRole.md new file mode 100644 index 00000000..f4db0d74 --- /dev/null +++ b/koyeb/api_async/docs/RegionalDeploymentRole.md @@ -0,0 +1,16 @@ +# RegionalDeploymentRole + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `ACTIVE` (value: `'ACTIVE'`) + +* `UPCOMING` (value: `'UPCOMING'`) + +* `CURRENT` (value: `'CURRENT'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionalDeploymentStatus.md b/koyeb/api_async/docs/RegionalDeploymentStatus.md new file mode 100644 index 00000000..7abaad70 --- /dev/null +++ b/koyeb/api_async/docs/RegionalDeploymentStatus.md @@ -0,0 +1,38 @@ +# RegionalDeploymentStatus + + +## Enum + +* `PENDING` (value: `'PENDING'`) + +* `PROVISIONING` (value: `'PROVISIONING'`) + +* `SCHEDULED` (value: `'SCHEDULED'`) + +* `CANCELING` (value: `'CANCELING'`) + +* `CANCELED` (value: `'CANCELED'`) + +* `ALLOCATING` (value: `'ALLOCATING'`) + +* `STARTING` (value: `'STARTING'`) + +* `HEALTHY` (value: `'HEALTHY'`) + +* `DEGRADED` (value: `'DEGRADED'`) + +* `UNHEALTHY` (value: `'UNHEALTHY'`) + +* `STOPPING` (value: `'STOPPING'`) + +* `STOPPED` (value: `'STOPPED'`) + +* `ERRORING` (value: `'ERRORING'`) + +* `ERROR` (value: `'ERROR'`) + +* `SLEEPING` (value: `'SLEEPING'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionalDeploymentVolume.md b/koyeb/api_async/docs/RegionalDeploymentVolume.md new file mode 100644 index 00000000..2553ed62 --- /dev/null +++ b/koyeb/api_async/docs/RegionalDeploymentVolume.md @@ -0,0 +1,31 @@ +# RegionalDeploymentVolume + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**path** | **str** | | [optional] +**replica_index** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.regional_deployment_volume import RegionalDeploymentVolume + +# TODO update the JSON string below +json = "{}" +# create an instance of RegionalDeploymentVolume from a JSON string +regional_deployment_volume_instance = RegionalDeploymentVolume.from_json(json) +# print the JSON string representation of the object +print(RegionalDeploymentVolume.to_json()) + +# convert the object into a dict +regional_deployment_volume_dict = regional_deployment_volume_instance.to_dict() +# create an instance of RegionalDeploymentVolume from a dict +regional_deployment_volume_from_dict = RegionalDeploymentVolume.from_dict(regional_deployment_volume_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RegionalDeploymentsApi.md b/koyeb/api_async/docs/RegionalDeploymentsApi.md new file mode 100644 index 00000000..03c7cfff --- /dev/null +++ b/koyeb/api_async/docs/RegionalDeploymentsApi.md @@ -0,0 +1,279 @@ +# koyeb.api_async.RegionalDeploymentsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_regional_deployment**](RegionalDeploymentsApi.md#get_regional_deployment) | **GET** /v1/regional_deployments/{id} | Get Regional Deployment +[**list_regional_deployment_events**](RegionalDeploymentsApi.md#list_regional_deployment_events) | **GET** /v1/regional_deployment_events | List Regional Deployment events +[**list_regional_deployments**](RegionalDeploymentsApi.md#list_regional_deployments) | **GET** /v1/regional_deployments | List Regional Deployments + + +# **get_regional_deployment** +> GetRegionalDeploymentReply get_regional_deployment(id) + +Get Regional Deployment + +Experimental: use at your own risk + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_regional_deployment_reply import GetRegionalDeploymentReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.RegionalDeploymentsApi(api_client) + id = 'id_example' # str | The id of the regional deployment + + try: + # Get Regional Deployment + api_response = await api_instance.get_regional_deployment(id) + print("The response of RegionalDeploymentsApi->get_regional_deployment:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RegionalDeploymentsApi->get_regional_deployment: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the regional deployment | + +### Return type + +[**GetRegionalDeploymentReply**](GetRegionalDeploymentReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_regional_deployment_events** +> ListRegionalDeploymentEventsReply list_regional_deployment_events(regional_deployment_id=regional_deployment_id, types=types, limit=limit, offset=offset, order=order) + +List Regional Deployment events + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_regional_deployment_events_reply import ListRegionalDeploymentEventsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.RegionalDeploymentsApi(api_client) + regional_deployment_id = 'regional_deployment_id_example' # str | (Optional) Filter on regional deployment id (optional) + types = ['types_example'] # List[str] | (Optional) Filter on regional deployment event types (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + order = 'order_example' # str | (Optional) Sorts the list in the ascending or the descending order (optional) + + try: + # List Regional Deployment events + api_response = await api_instance.list_regional_deployment_events(regional_deployment_id=regional_deployment_id, types=types, limit=limit, offset=offset, order=order) + print("The response of RegionalDeploymentsApi->list_regional_deployment_events:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RegionalDeploymentsApi->list_regional_deployment_events: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **regional_deployment_id** | **str**| (Optional) Filter on regional deployment id | [optional] + **types** | [**List[str]**](str.md)| (Optional) Filter on regional deployment event types | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **order** | **str**| (Optional) Sorts the list in the ascending or the descending order | [optional] + +### Return type + +[**ListRegionalDeploymentEventsReply**](ListRegionalDeploymentEventsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_regional_deployments** +> ListRegionalDeploymentsReply list_regional_deployments(deployment_id=deployment_id, limit=limit, offset=offset) + +List Regional Deployments + +Experimental: use at your own risk + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_regional_deployments_reply import ListRegionalDeploymentsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.RegionalDeploymentsApi(api_client) + deployment_id = 'deployment_id_example' # str | (Optional) Filter on deployment id (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + + try: + # List Regional Deployments + api_response = await api_instance.list_regional_deployments(deployment_id=deployment_id, limit=limit, offset=offset) + print("The response of RegionalDeploymentsApi->list_regional_deployments:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RegionalDeploymentsApi->list_regional_deployments: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **deployment_id** | **str**| (Optional) Filter on deployment id | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + +### Return type + +[**ListRegionalDeploymentsReply**](ListRegionalDeploymentsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/RemoveOrganizationMemberReply.md b/koyeb/api_async/docs/RemoveOrganizationMemberReply.md new file mode 100644 index 00000000..2adb0c44 --- /dev/null +++ b/koyeb/api_async/docs/RemoveOrganizationMemberReply.md @@ -0,0 +1,29 @@ +# RemoveOrganizationMemberReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**member** | [**OrganizationMember**](OrganizationMember.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.remove_organization_member_reply import RemoveOrganizationMemberReply + +# TODO update the JSON string below +json = "{}" +# create an instance of RemoveOrganizationMemberReply from a JSON string +remove_organization_member_reply_instance = RemoveOrganizationMemberReply.from_json(json) +# print the JSON string representation of the object +print(RemoveOrganizationMemberReply.to_json()) + +# convert the object into a dict +remove_organization_member_reply_dict = remove_organization_member_reply_instance.to_dict() +# create an instance of RemoveOrganizationMemberReply from a dict +remove_organization_member_reply_from_dict = RemoveOrganizationMemberReply.from_dict(remove_organization_member_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RepositoriesApi.md b/koyeb/api_async/docs/RepositoriesApi.md new file mode 100644 index 00000000..e116e426 --- /dev/null +++ b/koyeb/api_async/docs/RepositoriesApi.md @@ -0,0 +1,274 @@ +# koyeb.api_async.RepositoriesApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**list_branches**](RepositoriesApi.md#list_branches) | **GET** /v1/git/branches | List Branches +[**list_repositories**](RepositoriesApi.md#list_repositories) | **GET** /v1/git/repositories | List Repositories +[**resync_organization**](RepositoriesApi.md#resync_organization) | **POST** /v1/git/sync/organization/{organization_id} | Resync Organization + + +# **list_branches** +> KgitproxyListBranchesReply list_branches(repository_id=repository_id, name=name, limit=limit, offset=offset) + +List Branches + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.kgitproxy_list_branches_reply import KgitproxyListBranchesReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.RepositoriesApi(api_client) + repository_id = 'repository_id_example' # str | (Optional) Filter on one repository. (optional) + name = 'name_example' # str | (Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter. (optional) + limit = 'limit_example' # str | (Optional) The number of items to return. (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return. (optional) + + try: + # List Branches + api_response = await api_instance.list_branches(repository_id=repository_id, name=name, limit=limit, offset=offset) + print("The response of RepositoriesApi->list_branches:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RepositoriesApi->list_branches: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **repository_id** | **str**| (Optional) Filter on one repository. | [optional] + **name** | **str**| (Optional) Filter on branch name using a fuzzy search. Repository filter is required to enable this filter. | [optional] + **limit** | **str**| (Optional) The number of items to return. | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return. | [optional] + +### Return type + +[**KgitproxyListBranchesReply**](KgitproxyListBranchesReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_repositories** +> KgitproxyListRepositoriesReply list_repositories(name=name, name_search_op=name_search_op, limit=limit, offset=offset) + +List Repositories + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.kgitproxy_list_repositories_reply import KgitproxyListRepositoriesReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.RepositoriesApi(api_client) + name = 'name_example' # str | (Optional) Filter on repository name using a fuzzy search. (optional) + name_search_op = 'name_search_op_example' # str | (Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default. (optional) + limit = 'limit_example' # str | (Optional) The number of items to return. (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return. (optional) + + try: + # List Repositories + api_response = await api_instance.list_repositories(name=name, name_search_op=name_search_op, limit=limit, offset=offset) + print("The response of RepositoriesApi->list_repositories:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RepositoriesApi->list_repositories: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **name** | **str**| (Optional) Filter on repository name using a fuzzy search. | [optional] + **name_search_op** | **str**| (Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default. | [optional] + **limit** | **str**| (Optional) The number of items to return. | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return. | [optional] + +### Return type + +[**KgitproxyListRepositoriesReply**](KgitproxyListRepositoriesReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **resync_organization** +> object resync_organization(organization_id) + +Resync Organization + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.RepositoriesApi(api_client) + organization_id = 'organization_id_example' # str | + + try: + # Resync Organization + api_response = await api_instance.resync_organization(organization_id) + print("The response of RepositoriesApi->resync_organization:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RepositoriesApi->resync_organization: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **organization_id** | **str**| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/ResendOrganizationInvitationReply.md b/koyeb/api_async/docs/ResendOrganizationInvitationReply.md new file mode 100644 index 00000000..3388bb7d --- /dev/null +++ b/koyeb/api_async/docs/ResendOrganizationInvitationReply.md @@ -0,0 +1,29 @@ +# ResendOrganizationInvitationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**invitation** | [**OrganizationInvitation**](OrganizationInvitation.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.resend_organization_invitation_reply import ResendOrganizationInvitationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ResendOrganizationInvitationReply from a JSON string +resend_organization_invitation_reply_instance = ResendOrganizationInvitationReply.from_json(json) +# print the JSON string representation of the object +print(ResendOrganizationInvitationReply.to_json()) + +# convert the object into a dict +resend_organization_invitation_reply_dict = resend_organization_invitation_reply_instance.to_dict() +# create an instance of ResendOrganizationInvitationReply from a dict +resend_organization_invitation_reply_from_dict = ResendOrganizationInvitationReply.from_dict(resend_organization_invitation_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ResetPasswordRequest.md b/koyeb/api_async/docs/ResetPasswordRequest.md new file mode 100644 index 00000000..c0309d39 --- /dev/null +++ b/koyeb/api_async/docs/ResetPasswordRequest.md @@ -0,0 +1,29 @@ +# ResetPasswordRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.reset_password_request import ResetPasswordRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ResetPasswordRequest from a JSON string +reset_password_request_instance = ResetPasswordRequest.from_json(json) +# print the JSON string representation of the object +print(ResetPasswordRequest.to_json()) + +# convert the object into a dict +reset_password_request_dict = reset_password_request_instance.to_dict() +# create an instance of ResetPasswordRequest from a dict +reset_password_request_from_dict = ResetPasswordRequest.from_dict(reset_password_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/RevealSecretReply.md b/koyeb/api_async/docs/RevealSecretReply.md new file mode 100644 index 00000000..f8e47c5e --- /dev/null +++ b/koyeb/api_async/docs/RevealSecretReply.md @@ -0,0 +1,29 @@ +# RevealSecretReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **object** | | [optional] + +## Example + +```python +from koyeb.api_async.models.reveal_secret_reply import RevealSecretReply + +# TODO update the JSON string below +json = "{}" +# create an instance of RevealSecretReply from a JSON string +reveal_secret_reply_instance = RevealSecretReply.from_json(json) +# print the JSON string representation of the object +print(RevealSecretReply.to_json()) + +# convert the object into a dict +reveal_secret_reply_dict = reveal_secret_reply_instance.to_dict() +# create an instance of RevealSecretReply from a dict +reveal_secret_reply_from_dict = RevealSecretReply.from_dict(reveal_secret_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ReviewOrganizationCapacityReply.md b/koyeb/api_async/docs/ReviewOrganizationCapacityReply.md new file mode 100644 index 00000000..e0069405 --- /dev/null +++ b/koyeb/api_async/docs/ReviewOrganizationCapacityReply.md @@ -0,0 +1,29 @@ +# ReviewOrganizationCapacityReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**has_capacity** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.review_organization_capacity_reply import ReviewOrganizationCapacityReply + +# TODO update the JSON string below +json = "{}" +# create an instance of ReviewOrganizationCapacityReply from a JSON string +review_organization_capacity_reply_instance = ReviewOrganizationCapacityReply.from_json(json) +# print the JSON string representation of the object +print(ReviewOrganizationCapacityReply.to_json()) + +# convert the object into a dict +review_organization_capacity_reply_dict = review_organization_capacity_reply_instance.to_dict() +# create an instance of ReviewOrganizationCapacityReply from a dict +review_organization_capacity_reply_from_dict = ReviewOrganizationCapacityReply.from_dict(review_organization_capacity_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ReviewOrganizationCapacityRequest.md b/koyeb/api_async/docs/ReviewOrganizationCapacityRequest.md new file mode 100644 index 00000000..d161d02a --- /dev/null +++ b/koyeb/api_async/docs/ReviewOrganizationCapacityRequest.md @@ -0,0 +1,30 @@ +# ReviewOrganizationCapacityRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**plan** | **str** | | [optional] +**trialing** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.review_organization_capacity_request import ReviewOrganizationCapacityRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ReviewOrganizationCapacityRequest from a JSON string +review_organization_capacity_request_instance = ReviewOrganizationCapacityRequest.from_json(json) +# print the JSON string representation of the object +print(ReviewOrganizationCapacityRequest.to_json()) + +# convert the object into a dict +review_organization_capacity_request_dict = review_organization_capacity_request_instance.to_dict() +# create an instance of ReviewOrganizationCapacityRequest from a dict +review_organization_capacity_request_from_dict = ReviewOrganizationCapacityRequest.from_dict(review_organization_capacity_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Route.md b/koyeb/api_async/docs/Route.md new file mode 100644 index 00000000..8f463d9f --- /dev/null +++ b/koyeb/api_async/docs/Route.md @@ -0,0 +1,31 @@ +# Route + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**port** | **int** | | [optional] +**path** | **str** | | [optional] +**security_policies** | [**SecurityPolicies**](SecurityPolicies.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.route import Route + +# TODO update the JSON string below +json = "{}" +# create an instance of Route from a JSON string +route_instance = Route.from_json(json) +# print the JSON string representation of the object +print(Route.to_json()) + +# convert the object into a dict +route_dict = route_instance.to_dict() +# create an instance of Route from a dict +route_from_dict = Route.from_dict(route_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Sample.md b/koyeb/api_async/docs/Sample.md new file mode 100644 index 00000000..3990ee03 --- /dev/null +++ b/koyeb/api_async/docs/Sample.md @@ -0,0 +1,30 @@ +# Sample + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**timestamp** | **str** | | [optional] +**value** | **float** | | [optional] + +## Example + +```python +from koyeb.api_async.models.sample import Sample + +# TODO update the JSON string below +json = "{}" +# create an instance of Sample from a JSON string +sample_instance = Sample.from_json(json) +# print the JSON string representation of the object +print(Sample.to_json()) + +# convert the object into a dict +sample_dict = sample_instance.to_dict() +# create an instance of Sample from a dict +sample_from_dict = Sample.from_dict(sample_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SandboxMetadata.md b/koyeb/api_async/docs/SandboxMetadata.md new file mode 100644 index 00000000..f199bf1a --- /dev/null +++ b/koyeb/api_async/docs/SandboxMetadata.md @@ -0,0 +1,30 @@ +# SandboxMetadata + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**public_url** | **str** | | [optional] +**routing_key** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.sandbox_metadata import SandboxMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of SandboxMetadata from a JSON string +sandbox_metadata_instance = SandboxMetadata.from_json(json) +# print the JSON string representation of the object +print(SandboxMetadata.to_json()) + +# convert the object into a dict +sandbox_metadata_dict = sandbox_metadata_instance.to_dict() +# create an instance of SandboxMetadata from a dict +sandbox_metadata_from_dict = SandboxMetadata.from_dict(sandbox_metadata_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ScaleToZeroQuotas.md b/koyeb/api_async/docs/ScaleToZeroQuotas.md new file mode 100644 index 00000000..138453be --- /dev/null +++ b/koyeb/api_async/docs/ScaleToZeroQuotas.md @@ -0,0 +1,34 @@ +# ScaleToZeroQuotas + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**is_deep_sleep_enabled** | **bool** | | [optional] +**deep_sleep_idle_delay_min** | **int** | | [optional] +**deep_sleep_idle_delay_max** | **int** | | [optional] +**is_light_sleep_enabled** | **bool** | | [optional] +**light_sleep_idle_delay_min** | **int** | | [optional] +**light_sleep_idle_delay_max** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.scale_to_zero_quotas import ScaleToZeroQuotas + +# TODO update the JSON string below +json = "{}" +# create an instance of ScaleToZeroQuotas from a JSON string +scale_to_zero_quotas_instance = ScaleToZeroQuotas.from_json(json) +# print the JSON string representation of the object +print(ScaleToZeroQuotas.to_json()) + +# convert the object into a dict +scale_to_zero_quotas_dict = scale_to_zero_quotas_instance.to_dict() +# create an instance of ScaleToZeroQuotas from a dict +scale_to_zero_quotas_from_dict = ScaleToZeroQuotas.from_dict(scale_to_zero_quotas_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Scaling.md b/koyeb/api_async/docs/Scaling.md new file mode 100644 index 00000000..459ac7b0 --- /dev/null +++ b/koyeb/api_async/docs/Scaling.md @@ -0,0 +1,31 @@ +# Scaling + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**min** | **int** | | [optional] +**max** | **int** | | [optional] +**targets** | [**List[DeploymentScalingTarget]**](DeploymentScalingTarget.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.scaling import Scaling + +# TODO update the JSON string below +json = "{}" +# create an instance of Scaling from a JSON string +scaling_instance = Scaling.from_json(json) +# print the JSON string representation of the object +print(Scaling.to_json()) + +# convert the object into a dict +scaling_dict = scaling_instance.to_dict() +# create an instance of Scaling from a dict +scaling_from_dict = Scaling.from_dict(scaling_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SearchApi.md b/koyeb/api_async/docs/SearchApi.md new file mode 100644 index 00000000..e44c3cfb --- /dev/null +++ b/koyeb/api_async/docs/SearchApi.md @@ -0,0 +1,93 @@ +# koyeb.api_async.SearchApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**search**](SearchApi.md#search) | **GET** /v1/search | Search + + +# **search** +> KsearchSearchReply search(query=query) + +Search + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.ksearch_search_reply import KsearchSearchReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SearchApi(api_client) + query = 'query_example' # str | (Optional) Search query (optional) + + try: + # Search + api_response = await api_instance.search(query=query) + print("The response of SearchApi->search:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SearchApi->search: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **query** | **str**| (Optional) Search query | [optional] + +### Return type + +[**KsearchSearchReply**](KsearchSearchReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/Secret.md b/koyeb/api_async/docs/Secret.md new file mode 100644 index 00000000..fc803433 --- /dev/null +++ b/koyeb/api_async/docs/Secret.md @@ -0,0 +1,44 @@ +# Secret + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**type** | [**SecretType**](SecretType.md) | | [optional] [default to SecretType.SIMPLE] +**updated_at** | **datetime** | | [optional] +**created_at** | **datetime** | | [optional] +**project_id** | **str** | The project ID this secret belongs to. Empty if the secret is organization-level. | [optional] +**value** | **str** | | [optional] +**docker_hub_registry** | [**DockerHubRegistryConfiguration**](DockerHubRegistryConfiguration.md) | | [optional] +**private_registry** | [**PrivateRegistryConfiguration**](PrivateRegistryConfiguration.md) | | [optional] +**digital_ocean_registry** | [**DigitalOceanRegistryConfiguration**](DigitalOceanRegistryConfiguration.md) | | [optional] +**github_registry** | [**GitHubRegistryConfiguration**](GitHubRegistryConfiguration.md) | | [optional] +**gitlab_registry** | [**GitLabRegistryConfiguration**](GitLabRegistryConfiguration.md) | | [optional] +**gcp_container_registry** | [**GCPContainerRegistryConfiguration**](GCPContainerRegistryConfiguration.md) | | [optional] +**azure_container_registry** | [**AzureContainerRegistryConfiguration**](AzureContainerRegistryConfiguration.md) | | [optional] +**database_role_password** | [**DatabaseRolePassword**](DatabaseRolePassword.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.secret import Secret + +# TODO update the JSON string below +json = "{}" +# create an instance of Secret from a JSON string +secret_instance = Secret.from_json(json) +# print the JSON string representation of the object +print(Secret.to_json()) + +# convert the object into a dict +secret_dict = secret_instance.to_dict() +# create an instance of Secret from a dict +secret_from_dict = Secret.from_dict(secret_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SecretType.md b/koyeb/api_async/docs/SecretType.md new file mode 100644 index 00000000..b511e975 --- /dev/null +++ b/koyeb/api_async/docs/SecretType.md @@ -0,0 +1,14 @@ +# SecretType + + +## Enum + +* `SIMPLE` (value: `'SIMPLE'`) + +* `REGISTRY` (value: `'REGISTRY'`) + +* `MANAGED` (value: `'MANAGED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SecretsApi.md b/koyeb/api_async/docs/SecretsApi.md new file mode 100644 index 00000000..a6664687 --- /dev/null +++ b/koyeb/api_async/docs/SecretsApi.md @@ -0,0 +1,623 @@ +# koyeb.api_async.SecretsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_secret**](SecretsApi.md#create_secret) | **POST** /v1/secrets | Create Secret +[**delete_secret**](SecretsApi.md#delete_secret) | **DELETE** /v1/secrets/{id} | Delete Secret +[**get_secret**](SecretsApi.md#get_secret) | **GET** /v1/secrets/{id} | Get Secret +[**list_secrets**](SecretsApi.md#list_secrets) | **GET** /v1/secrets | List Secrets +[**reveal_secret**](SecretsApi.md#reveal_secret) | **POST** /v1/secrets/{id}/reveal | Reveal Secret +[**update_secret**](SecretsApi.md#update_secret) | **PUT** /v1/secrets/{id} | Update Secret +[**update_secret2**](SecretsApi.md#update_secret2) | **PATCH** /v1/secrets/{id} | Update Secret + + +# **create_secret** +> CreateSecretReply create_secret(secret) + +Create Secret + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_secret import CreateSecret +from koyeb.api_async.models.create_secret_reply import CreateSecretReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SecretsApi(api_client) + secret = koyeb.api_async.CreateSecret() # CreateSecret | + + try: + # Create Secret + api_response = await api_instance.create_secret(secret) + print("The response of SecretsApi->create_secret:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SecretsApi->create_secret: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **secret** | [**CreateSecret**](CreateSecret.md)| | + +### Return type + +[**CreateSecretReply**](CreateSecretReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_secret** +> object delete_secret(id) + +Delete Secret + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SecretsApi(api_client) + id = 'id_example' # str | + + try: + # Delete Secret + api_response = await api_instance.delete_secret(id) + print("The response of SecretsApi->delete_secret:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SecretsApi->delete_secret: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_secret** +> GetSecretReply get_secret(id) + +Get Secret + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_secret_reply import GetSecretReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SecretsApi(api_client) + id = 'id_example' # str | + + try: + # Get Secret + api_response = await api_instance.get_secret(id) + print("The response of SecretsApi->get_secret:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SecretsApi->get_secret: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**GetSecretReply**](GetSecretReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_secrets** +> ListSecretsReply list_secrets(name=name, limit=limit, offset=offset, types=types, project_id=project_id) + +List Secrets + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_secrets_reply import ListSecretsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SecretsApi(api_client) + name = 'name_example' # str | (optional) + limit = 'limit_example' # str | (optional) + offset = 'offset_example' # str | (optional) + types = ['types_example'] # List[str] | Filter by secret types (optional) + project_id = 'project_id_example' # str | (Optional) A filter for the project ID (optional) + + try: + # List Secrets + api_response = await api_instance.list_secrets(name=name, limit=limit, offset=offset, types=types, project_id=project_id) + print("The response of SecretsApi->list_secrets:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SecretsApi->list_secrets: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **name** | **str**| | [optional] + **limit** | **str**| | [optional] + **offset** | **str**| | [optional] + **types** | [**List[str]**](str.md)| Filter by secret types | [optional] + **project_id** | **str**| (Optional) A filter for the project ID | [optional] + +### Return type + +[**ListSecretsReply**](ListSecretsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **reveal_secret** +> RevealSecretReply reveal_secret(id, body) + +Reveal Secret + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.reveal_secret_reply import RevealSecretReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SecretsApi(api_client) + id = 'id_example' # str | + body = None # object | + + try: + # Reveal Secret + api_response = await api_instance.reveal_secret(id, body) + print("The response of SecretsApi->reveal_secret:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SecretsApi->reveal_secret: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **body** | **object**| | + +### Return type + +[**RevealSecretReply**](RevealSecretReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_secret** +> UpdateSecretReply update_secret(id, secret, update_mask=update_mask) + +Update Secret + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.secret import Secret +from koyeb.api_async.models.update_secret_reply import UpdateSecretReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SecretsApi(api_client) + id = 'id_example' # str | + secret = koyeb.api_async.Secret() # Secret | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update Secret + api_response = await api_instance.update_secret(id, secret, update_mask=update_mask) + print("The response of SecretsApi->update_secret:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SecretsApi->update_secret: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **secret** | [**Secret**](Secret.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UpdateSecretReply**](UpdateSecretReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_secret2** +> UpdateSecretReply update_secret2(id, secret, update_mask=update_mask) + +Update Secret + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.secret import Secret +from koyeb.api_async.models.update_secret_reply import UpdateSecretReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SecretsApi(api_client) + id = 'id_example' # str | + secret = koyeb.api_async.Secret() # Secret | + update_mask = 'update_mask_example' # str | (optional) + + try: + # Update Secret + api_response = await api_instance.update_secret2(id, secret, update_mask=update_mask) + print("The response of SecretsApi->update_secret2:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SecretsApi->update_secret2: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **secret** | [**Secret**](Secret.md)| | + **update_mask** | **str**| | [optional] + +### Return type + +[**UpdateSecretReply**](UpdateSecretReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/SecretsSummary.md b/koyeb/api_async/docs/SecretsSummary.md new file mode 100644 index 00000000..bfacd82b --- /dev/null +++ b/koyeb/api_async/docs/SecretsSummary.md @@ -0,0 +1,30 @@ +# SecretsSummary + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total** | **str** | | [optional] +**by_type** | **Dict[str, str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.secrets_summary import SecretsSummary + +# TODO update the JSON string below +json = "{}" +# create an instance of SecretsSummary from a JSON string +secrets_summary_instance = SecretsSummary.from_json(json) +# print the JSON string representation of the object +print(SecretsSummary.to_json()) + +# convert the object into a dict +secrets_summary_dict = secrets_summary_instance.to_dict() +# create an instance of SecretsSummary from a dict +secrets_summary_from_dict = SecretsSummary.from_dict(secrets_summary_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SecurityPolicies.md b/koyeb/api_async/docs/SecurityPolicies.md new file mode 100644 index 00000000..af187733 --- /dev/null +++ b/koyeb/api_async/docs/SecurityPolicies.md @@ -0,0 +1,30 @@ +# SecurityPolicies + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**basic_auths** | [**List[BasicAuthPolicy]**](BasicAuthPolicy.md) | | [optional] +**api_keys** | **List[str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.security_policies import SecurityPolicies + +# TODO update the JSON string below +json = "{}" +# create an instance of SecurityPolicies from a JSON string +security_policies_instance = SecurityPolicies.from_json(json) +# print the JSON string representation of the object +print(SecurityPolicies.to_json()) + +# convert the object into a dict +security_policies_dict = security_policies_instance.to_dict() +# create an instance of SecurityPolicies from a dict +security_policies_from_dict = SecurityPolicies.from_dict(security_policies_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Service.md b/koyeb/api_async/docs/Service.md new file mode 100644 index 00000000..1a680a77 --- /dev/null +++ b/koyeb/api_async/docs/Service.md @@ -0,0 +1,48 @@ +# Service + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**started_at** | **datetime** | | [optional] +**succeeded_at** | **datetime** | | [optional] +**paused_at** | **datetime** | | [optional] +**resumed_at** | **datetime** | | [optional] +**terminated_at** | **datetime** | | [optional] +**name** | **str** | | [optional] +**type** | [**ServiceType**](ServiceType.md) | | [optional] [default to ServiceType.INVALID_TYPE] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**status** | [**ServiceStatus**](ServiceStatus.md) | | [optional] [default to ServiceStatus.STARTING] +**messages** | **List[str]** | | [optional] +**version** | **str** | | [optional] +**active_deployment_id** | **str** | | [optional] +**latest_deployment_id** | **str** | | [optional] +**last_provisioned_deployment_id** | **str** | | [optional] +**state** | [**ServiceState**](ServiceState.md) | | [optional] +**life_cycle** | [**ServiceLifeCycle**](ServiceLifeCycle.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.service import Service + +# TODO update the JSON string below +json = "{}" +# create an instance of Service from a JSON string +service_instance = Service.from_json(json) +# print the JSON string representation of the object +print(Service.to_json()) + +# convert the object into a dict +service_dict = service_instance.to_dict() +# create an instance of Service from a dict +service_from_dict = Service.from_dict(service_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ServiceEvent.md b/koyeb/api_async/docs/ServiceEvent.md new file mode 100644 index 00000000..34c4151d --- /dev/null +++ b/koyeb/api_async/docs/ServiceEvent.md @@ -0,0 +1,35 @@ +# ServiceEvent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**when** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**service_id** | **str** | | [optional] +**type** | **str** | | [optional] +**message** | **str** | | [optional] +**metadata** | **object** | | [optional] + +## Example + +```python +from koyeb.api_async.models.service_event import ServiceEvent + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceEvent from a JSON string +service_event_instance = ServiceEvent.from_json(json) +# print the JSON string representation of the object +print(ServiceEvent.to_json()) + +# convert the object into a dict +service_event_dict = service_event_instance.to_dict() +# create an instance of ServiceEvent from a dict +service_event_from_dict = ServiceEvent.from_dict(service_event_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ServiceLifeCycle.md b/koyeb/api_async/docs/ServiceLifeCycle.md new file mode 100644 index 00000000..f922151b --- /dev/null +++ b/koyeb/api_async/docs/ServiceLifeCycle.md @@ -0,0 +1,30 @@ +# ServiceLifeCycle + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**delete_after_sleep** | **int** | | [optional] +**delete_after_create** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.service_life_cycle import ServiceLifeCycle + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceLifeCycle from a JSON string +service_life_cycle_instance = ServiceLifeCycle.from_json(json) +# print the JSON string representation of the object +print(ServiceLifeCycle.to_json()) + +# convert the object into a dict +service_life_cycle_dict = service_life_cycle_instance.to_dict() +# create an instance of ServiceLifeCycle from a dict +service_life_cycle_from_dict = ServiceLifeCycle.from_dict(service_life_cycle_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ServiceListItem.md b/koyeb/api_async/docs/ServiceListItem.md new file mode 100644 index 00000000..a94b8691 --- /dev/null +++ b/koyeb/api_async/docs/ServiceListItem.md @@ -0,0 +1,42 @@ +# ServiceListItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] +**type** | [**ServiceType**](ServiceType.md) | | [optional] [default to ServiceType.INVALID_TYPE] +**organization_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**updated_at** | **datetime** | | [optional] +**created_at** | **datetime** | | [optional] +**status** | [**ServiceStatus**](ServiceStatus.md) | | [optional] [default to ServiceStatus.STARTING] +**messages** | **List[str]** | | [optional] +**version** | **str** | | [optional] +**state** | [**ServiceState**](ServiceState.md) | | [optional] +**active_deployment_id** | **str** | | [optional] +**latest_deployment_id** | **str** | | [optional] +**life_cycle** | [**ServiceLifeCycle**](ServiceLifeCycle.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.service_list_item import ServiceListItem + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceListItem from a JSON string +service_list_item_instance = ServiceListItem.from_json(json) +# print the JSON string representation of the object +print(ServiceListItem.to_json()) + +# convert the object into a dict +service_list_item_dict = service_list_item_instance.to_dict() +# create an instance of ServiceListItem from a dict +service_list_item_from_dict = ServiceListItem.from_dict(service_list_item_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ServiceState.md b/koyeb/api_async/docs/ServiceState.md new file mode 100644 index 00000000..c22d3eef --- /dev/null +++ b/koyeb/api_async/docs/ServiceState.md @@ -0,0 +1,30 @@ +# ServiceState + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**desired_deployment** | [**DesiredDeployment**](DesiredDeployment.md) | | [optional] +**auto_release** | [**AutoRelease**](AutoRelease.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.service_state import ServiceState + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceState from a JSON string +service_state_instance = ServiceState.from_json(json) +# print the JSON string representation of the object +print(ServiceState.to_json()) + +# convert the object into a dict +service_state_dict = service_state_instance.to_dict() +# create an instance of ServiceState from a dict +service_state_from_dict = ServiceState.from_dict(service_state_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ServiceStatus.md b/koyeb/api_async/docs/ServiceStatus.md new file mode 100644 index 00000000..fc08874a --- /dev/null +++ b/koyeb/api_async/docs/ServiceStatus.md @@ -0,0 +1,26 @@ +# ServiceStatus + + +## Enum + +* `STARTING` (value: `'STARTING'`) + +* `HEALTHY` (value: `'HEALTHY'`) + +* `DEGRADED` (value: `'DEGRADED'`) + +* `UNHEALTHY` (value: `'UNHEALTHY'`) + +* `DELETING` (value: `'DELETING'`) + +* `DELETED` (value: `'DELETED'`) + +* `PAUSING` (value: `'PAUSING'`) + +* `PAUSED` (value: `'PAUSED'`) + +* `RESUMING` (value: `'RESUMING'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ServiceSummary.md b/koyeb/api_async/docs/ServiceSummary.md new file mode 100644 index 00000000..54647c96 --- /dev/null +++ b/koyeb/api_async/docs/ServiceSummary.md @@ -0,0 +1,30 @@ +# ServiceSummary + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total** | **str** | | [optional] +**by_status** | **Dict[str, str]** | | [optional] + +## Example + +```python +from koyeb.api_async.models.service_summary import ServiceSummary + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceSummary from a JSON string +service_summary_instance = ServiceSummary.from_json(json) +# print the JSON string representation of the object +print(ServiceSummary.to_json()) + +# convert the object into a dict +service_summary_dict = service_summary_instance.to_dict() +# create an instance of ServiceSummary from a dict +service_summary_from_dict = ServiceSummary.from_dict(service_summary_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ServiceType.md b/koyeb/api_async/docs/ServiceType.md new file mode 100644 index 00000000..688b1198 --- /dev/null +++ b/koyeb/api_async/docs/ServiceType.md @@ -0,0 +1,18 @@ +# ServiceType + + +## Enum + +* `INVALID_TYPE` (value: `'INVALID_TYPE'`) + +* `WEB` (value: `'WEB'`) + +* `WORKER` (value: `'WORKER'`) + +* `DATABASE` (value: `'DATABASE'`) + +* `SANDBOX` (value: `'SANDBOX'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ServiceUsage.md b/koyeb/api_async/docs/ServiceUsage.md new file mode 100644 index 00000000..af9ad6dd --- /dev/null +++ b/koyeb/api_async/docs/ServiceUsage.md @@ -0,0 +1,31 @@ +# ServiceUsage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**service_id** | **str** | | [optional] +**service_name** | **str** | | [optional] +**regions** | [**Dict[str, RegionUsage]**](RegionUsage.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.service_usage import ServiceUsage + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceUsage from a JSON string +service_usage_instance = ServiceUsage.from_json(json) +# print the JSON string representation of the object +print(ServiceUsage.to_json()) + +# convert the object into a dict +service_usage_dict = service_usage_instance.to_dict() +# create an instance of ServiceUsage from a dict +service_usage_from_dict = ServiceUsage.from_dict(service_usage_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/ServicesApi.md b/koyeb/api_async/docs/ServicesApi.md new file mode 100644 index 00000000..132bf248 --- /dev/null +++ b/koyeb/api_async/docs/ServicesApi.md @@ -0,0 +1,1264 @@ +# koyeb.api_async.ServicesApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**autocomplete**](ServicesApi.md#autocomplete) | **POST** /v1/services-autocomplete | Autocomplete definition +[**create_service**](ServicesApi.md#create_service) | **POST** /v1/services | Create Service +[**delete_service**](ServicesApi.md#delete_service) | **DELETE** /v1/services/{id} | Delete Service +[**delete_service_scaling**](ServicesApi.md#delete_service_scaling) | **DELETE** /v1/services/{id}/scale | Delete Service Scaling +[**get_service**](ServicesApi.md#get_service) | **GET** /v1/services/{id} | Get Service +[**get_service_scaling**](ServicesApi.md#get_service_scaling) | **GET** /v1/services/{id}/scale | Get Service Scaling +[**list_service_events**](ServicesApi.md#list_service_events) | **GET** /v1/service_events | List Service events +[**list_services**](ServicesApi.md#list_services) | **GET** /v1/services | List Services +[**pause_service**](ServicesApi.md#pause_service) | **POST** /v1/services/{id}/pause | Pause Service +[**re_deploy**](ServicesApi.md#re_deploy) | **POST** /v1/services/{id}/redeploy | ReDeploy Service +[**resume_service**](ServicesApi.md#resume_service) | **POST** /v1/services/{id}/resume | Resume Service +[**update_service**](ServicesApi.md#update_service) | **PUT** /v1/services/{id} | Update Service +[**update_service2**](ServicesApi.md#update_service2) | **PATCH** /v1/services/{id} | Update Service +[**update_service_scaling**](ServicesApi.md#update_service_scaling) | **PUT** /v1/services/{id}/scale | Update Service Scaling + + +# **autocomplete** +> AutocompleteReply autocomplete(body) + +Autocomplete definition + +Generate autocomplete definition for a service + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.autocomplete_reply import AutocompleteReply +from koyeb.api_async.models.autocomplete_request import AutocompleteRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + body = koyeb.api_async.AutocompleteRequest() # AutocompleteRequest | + + try: + # Autocomplete definition + api_response = await api_instance.autocomplete(body) + print("The response of ServicesApi->autocomplete:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->autocomplete: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**AutocompleteRequest**](AutocompleteRequest.md)| | + +### Return type + +[**AutocompleteReply**](AutocompleteReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_service** +> CreateServiceReply create_service(service, dry_run=dry_run) + +Create Service + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_service import CreateService +from koyeb.api_async.models.create_service_reply import CreateServiceReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + service = koyeb.api_async.CreateService() # CreateService | + dry_run = True # bool | If set only run validation (optional) + + try: + # Create Service + api_response = await api_instance.create_service(service, dry_run=dry_run) + print("The response of ServicesApi->create_service:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->create_service: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service** | [**CreateService**](CreateService.md)| | + **dry_run** | **bool**| If set only run validation | [optional] + +### Return type + +[**CreateServiceReply**](CreateServiceReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_service** +> object delete_service(id) + +Delete Service + +Service deletion is allowed for all status. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + id = 'id_example' # str | The id of the entity to delete + + try: + # Delete Service + api_response = await api_instance.delete_service(id) + print("The response of ServicesApi->delete_service:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->delete_service: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the entity to delete | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_service_scaling** +> object delete_service_scaling(id) + +Delete Service Scaling + +Deletes the manual scaling configuration for a service, reverting to +the scaling defined in the deployment definition. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + id = 'id_example' # str | The id of the service + + try: + # Delete Service Scaling + api_response = await api_instance.delete_service_scaling(id) + print("The response of ServicesApi->delete_service_scaling:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->delete_service_scaling: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the service | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_service** +> GetServiceReply get_service(id) + +Get Service + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_service_reply import GetServiceReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + id = 'id_example' # str | The id of the Service + + try: + # Get Service + api_response = await api_instance.get_service(id) + print("The response of ServicesApi->get_service:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->get_service: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the Service | + +### Return type + +[**GetServiceReply**](GetServiceReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_service_scaling** +> GetServiceScalingReply get_service_scaling(id) + +Get Service Scaling + +Returns the current scaling configuration for a service + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_service_scaling_reply import GetServiceScalingReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + id = 'id_example' # str | The id of the service + + try: + # Get Service Scaling + api_response = await api_instance.get_service_scaling(id) + print("The response of ServicesApi->get_service_scaling:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->get_service_scaling: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the service | + +### Return type + +[**GetServiceScalingReply**](GetServiceScalingReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_service_events** +> ListServiceEventsReply list_service_events(service_id=service_id, types=types, limit=limit, offset=offset, order=order) + +List Service events + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_service_events_reply import ListServiceEventsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + service_id = 'service_id_example' # str | (Optional) Filter on service id (optional) + types = ['types_example'] # List[str] | (Optional) Filter on service event types (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + order = 'order_example' # str | (Optional) Sorts the list in the ascending or the descending order (optional) + + try: + # List Service events + api_response = await api_instance.list_service_events(service_id=service_id, types=types, limit=limit, offset=offset, order=order) + print("The response of ServicesApi->list_service_events:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->list_service_events: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_id** | **str**| (Optional) Filter on service id | [optional] + **types** | [**List[str]**](str.md)| (Optional) Filter on service event types | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **order** | **str**| (Optional) Sorts the list in the ascending or the descending order | [optional] + +### Return type + +[**ListServiceEventsReply**](ListServiceEventsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_services** +> ListServicesReply list_services(app_id=app_id, limit=limit, offset=offset, name=name, types=types, statuses=statuses, regions=regions, project_id=project_id) + +List Services + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_services_reply import ListServicesReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + app_id = 'app_id_example' # str | (Optional) The id of the app (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + name = 'name_example' # str | (Optional) A filter for name (optional) + types = ['types_example'] # List[str] | (Optional) Filter on service types (optional) + statuses = ['statuses_example'] # List[str] | (Optional) Filter on service statuses (optional) + regions = ['regions_example'] # List[str] | (Optional) Filter on regions (optional) + project_id = 'project_id_example' # str | (Optional) A filter for the project ID (optional) + + try: + # List Services + api_response = await api_instance.list_services(app_id=app_id, limit=limit, offset=offset, name=name, types=types, statuses=statuses, regions=regions, project_id=project_id) + print("The response of ServicesApi->list_services:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->list_services: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **app_id** | **str**| (Optional) The id of the app | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **name** | **str**| (Optional) A filter for name | [optional] + **types** | [**List[str]**](str.md)| (Optional) Filter on service types | [optional] + **statuses** | [**List[str]**](str.md)| (Optional) Filter on service statuses | [optional] + **regions** | [**List[str]**](str.md)| (Optional) Filter on regions | [optional] + **project_id** | **str**| (Optional) A filter for the project ID | [optional] + +### Return type + +[**ListServicesReply**](ListServicesReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **pause_service** +> object pause_service(id) + +Pause Service + +Service pause action is allowed for the following status: + - starting + - healthy + - degraded + - unhealthy + - resuming + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + id = 'id_example' # str | The id of the service to pause. + + try: + # Pause Service + api_response = await api_instance.pause_service(id) + print("The response of ServicesApi->pause_service:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->pause_service: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the service to pause. | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **re_deploy** +> RedeployReply re_deploy(id, info) + +ReDeploy Service + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.redeploy_reply import RedeployReply +from koyeb.api_async.models.redeploy_request_info import RedeployRequestInfo +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + id = 'id_example' # str | + info = koyeb.api_async.RedeployRequestInfo() # RedeployRequestInfo | + + try: + # ReDeploy Service + api_response = await api_instance.re_deploy(id, info) + print("The response of ServicesApi->re_deploy:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->re_deploy: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **info** | [**RedeployRequestInfo**](RedeployRequestInfo.md)| | + +### Return type + +[**RedeployReply**](RedeployReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **resume_service** +> object resume_service(id, skip_build=skip_build, use_cache=use_cache) + +Resume Service + +Service resume action is allowed for the following status: + - paused + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + id = 'id_example' # str | The id of the service to pause. + skip_build = True # bool | If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened. (optional) + use_cache = True # bool | (optional) + + try: + # Resume Service + api_response = await api_instance.resume_service(id, skip_build=skip_build, use_cache=use_cache) + print("The response of ServicesApi->resume_service:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->resume_service: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the service to pause. | + **skip_build** | **bool**| If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened. | [optional] + **use_cache** | **bool**| | [optional] + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_service** +> UpdateServiceReply update_service(id, service, update_mask=update_mask, dry_run=dry_run) + +Update Service + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_service import UpdateService +from koyeb.api_async.models.update_service_reply import UpdateServiceReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + id = 'id_example' # str | The id of the entity to update + service = koyeb.api_async.UpdateService() # UpdateService | + update_mask = 'update_mask_example' # str | (optional) + dry_run = True # bool | If set, run validation and check that the service exists (optional) + + try: + # Update Service + api_response = await api_instance.update_service(id, service, update_mask=update_mask, dry_run=dry_run) + print("The response of ServicesApi->update_service:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->update_service: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the entity to update | + **service** | [**UpdateService**](UpdateService.md)| | + **update_mask** | **str**| | [optional] + **dry_run** | **bool**| If set, run validation and check that the service exists | [optional] + +### Return type + +[**UpdateServiceReply**](UpdateServiceReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_service2** +> UpdateServiceReply update_service2(id, service, update_mask=update_mask, dry_run=dry_run) + +Update Service + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_service import UpdateService +from koyeb.api_async.models.update_service_reply import UpdateServiceReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + id = 'id_example' # str | The id of the entity to update + service = koyeb.api_async.UpdateService() # UpdateService | + update_mask = 'update_mask_example' # str | (optional) + dry_run = True # bool | If set, run validation and check that the service exists (optional) + + try: + # Update Service + api_response = await api_instance.update_service2(id, service, update_mask=update_mask, dry_run=dry_run) + print("The response of ServicesApi->update_service2:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->update_service2: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the entity to update | + **service** | [**UpdateService**](UpdateService.md)| | + **update_mask** | **str**| | [optional] + **dry_run** | **bool**| If set, run validation and check that the service exists | [optional] + +### Return type + +[**UpdateServiceReply**](UpdateServiceReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_service_scaling** +> object update_service_scaling(id, body) + +Update Service Scaling + +Stores or updates the scaling configuration for a service to use manual scaling + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_service_scaling_request import UpdateServiceScalingRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.ServicesApi(api_client) + id = 'id_example' # str | The id of the service to scale + body = koyeb.api_async.UpdateServiceScalingRequest() # UpdateServiceScalingRequest | + + try: + # Update Service Scaling + api_response = await api_instance.update_service_scaling(id, body) + print("The response of ServicesApi->update_service_scaling:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServicesApi->update_service_scaling: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the service to scale | + **body** | [**UpdateServiceScalingRequest**](UpdateServiceScalingRequest.md)| | + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/SessionsApi.md b/koyeb/api_async/docs/SessionsApi.md new file mode 100644 index 00000000..cf437279 --- /dev/null +++ b/koyeb/api_async/docs/SessionsApi.md @@ -0,0 +1,342 @@ +# koyeb.api_async.SessionsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**login**](SessionsApi.md#login) | **POST** /v1/account/login | Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**logout**](SessionsApi.md#logout) | **DELETE** /v1/account/logout | Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +[**new_session**](SessionsApi.md#new_session) | **POST** /v1/account/session | New session +[**refresh_token**](SessionsApi.md#refresh_token) | **PUT** /v1/account/refresh | Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + + +# **login** +> LoginReply login(body, seon_fp=seon_fp) + +Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.models.login_request import LoginRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SessionsApi(api_client) + body = koyeb.api_async.LoginRequest() # LoginRequest | + seon_fp = 'seon_fp_example' # str | Seon Fingerprint (optional) + + try: + # Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.login(body, seon_fp=seon_fp) + print("The response of SessionsApi->login:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SessionsApi->login: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**LoginRequest**](LoginRequest.md)| | + **seon_fp** | **str**| Seon Fingerprint | [optional] + +### Return type + +[**LoginReply**](LoginReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **logout** +> object logout() + +Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SessionsApi(api_client) + + try: + # Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.logout() + print("The response of SessionsApi->logout:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SessionsApi->logout: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **new_session** +> LoginReply new_session() + +New session + +Creates a new session without an organization for current user. +NOTE: If you want a session linked to another organization, please use "Switch organization". +DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SessionsApi(api_client) + + try: + # New session + api_response = await api_instance.new_session() + print("The response of SessionsApi->new_session:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SessionsApi->new_session: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**LoginReply**](LoginReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **refresh_token** +> LoginReply refresh_token() + +Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SessionsApi(api_client) + + try: + # Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + api_response = await api_instance.refresh_token() + print("The response of SessionsApi->refresh_token:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SessionsApi->refresh_token: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**LoginReply**](LoginReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/Snapshot.md b/koyeb/api_async/docs/Snapshot.md new file mode 100644 index 00000000..c83c061d --- /dev/null +++ b/koyeb/api_async/docs/Snapshot.md @@ -0,0 +1,40 @@ +# Snapshot + +The object that represents a snapshot. It can either be local, on a node, or remote, in a cold storage. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**name** | **str** | | [optional] +**size** | **int** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**deleted_at** | **datetime** | | [optional] +**organization_id** | **str** | | [optional] +**parent_volume_id** | **str** | | [optional] +**region** | **str** | | [optional] +**status** | [**SnapshotStatus**](SnapshotStatus.md) | | [optional] [default to SnapshotStatus.SNAPSHOT_STATUS_INVALID] +**type** | [**SnapshotType**](SnapshotType.md) | | [optional] [default to SnapshotType.SNAPSHOT_TYPE_INVALID] + +## Example + +```python +from koyeb.api_async.models.snapshot import Snapshot + +# TODO update the JSON string below +json = "{}" +# create an instance of Snapshot from a JSON string +snapshot_instance = Snapshot.from_json(json) +# print the JSON string representation of the object +print(Snapshot.to_json()) + +# convert the object into a dict +snapshot_dict = snapshot_instance.to_dict() +# create an instance of Snapshot from a dict +snapshot_from_dict = Snapshot.from_dict(snapshot_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SnapshotStatus.md b/koyeb/api_async/docs/SnapshotStatus.md new file mode 100644 index 00000000..bbc2964f --- /dev/null +++ b/koyeb/api_async/docs/SnapshotStatus.md @@ -0,0 +1,20 @@ +# SnapshotStatus + + +## Enum + +* `SNAPSHOT_STATUS_INVALID` (value: `'SNAPSHOT_STATUS_INVALID'`) + +* `SNAPSHOT_STATUS_CREATING` (value: `'SNAPSHOT_STATUS_CREATING'`) + +* `SNAPSHOT_STATUS_AVAILABLE` (value: `'SNAPSHOT_STATUS_AVAILABLE'`) + +* `SNAPSHOT_STATUS_MIGRATING` (value: `'SNAPSHOT_STATUS_MIGRATING'`) + +* `SNAPSHOT_STATUS_DELETING` (value: `'SNAPSHOT_STATUS_DELETING'`) + +* `SNAPSHOT_STATUS_DELETED` (value: `'SNAPSHOT_STATUS_DELETED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SnapshotType.md b/koyeb/api_async/docs/SnapshotType.md new file mode 100644 index 00000000..cf4ab80c --- /dev/null +++ b/koyeb/api_async/docs/SnapshotType.md @@ -0,0 +1,14 @@ +# SnapshotType + + +## Enum + +* `SNAPSHOT_TYPE_INVALID` (value: `'SNAPSHOT_TYPE_INVALID'`) + +* `SNAPSHOT_TYPE_LOCAL` (value: `'SNAPSHOT_TYPE_LOCAL'`) + +* `SNAPSHOT_TYPE_REMOTE` (value: `'SNAPSHOT_TYPE_REMOTE'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SnapshotsApi.md b/koyeb/api_async/docs/SnapshotsApi.md new file mode 100644 index 00000000..34057c07 --- /dev/null +++ b/koyeb/api_async/docs/SnapshotsApi.md @@ -0,0 +1,445 @@ +# koyeb.api_async.SnapshotsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_snapshot**](SnapshotsApi.md#create_snapshot) | **POST** /v1/snapshots | Create a Snapshot +[**delete_snapshot**](SnapshotsApi.md#delete_snapshot) | **DELETE** /v1/snapshots/{id} | Delete a Snapshot +[**get_snapshot**](SnapshotsApi.md#get_snapshot) | **GET** /v1/snapshots/{id} | Get a Snapshot +[**list_snapshots**](SnapshotsApi.md#list_snapshots) | **GET** /v1/snapshots | List all Snapshots +[**update_snapshot**](SnapshotsApi.md#update_snapshot) | **POST** /v1/snapshots/{id} | Update a Snapshot + + +# **create_snapshot** +> CreateSnapshotReply create_snapshot(body) + +Create a Snapshot + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.create_snapshot_reply import CreateSnapshotReply +from koyeb.api_async.models.create_snapshot_request import CreateSnapshotRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SnapshotsApi(api_client) + body = koyeb.api_async.CreateSnapshotRequest() # CreateSnapshotRequest | + + try: + # Create a Snapshot + api_response = await api_instance.create_snapshot(body) + print("The response of SnapshotsApi->create_snapshot:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SnapshotsApi->create_snapshot: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**CreateSnapshotRequest**](CreateSnapshotRequest.md)| | + +### Return type + +[**CreateSnapshotReply**](CreateSnapshotReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_snapshot** +> DeleteSnapshotReply delete_snapshot(id) + +Delete a Snapshot + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.delete_snapshot_reply import DeleteSnapshotReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SnapshotsApi(api_client) + id = 'id_example' # str | + + try: + # Delete a Snapshot + api_response = await api_instance.delete_snapshot(id) + print("The response of SnapshotsApi->delete_snapshot:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SnapshotsApi->delete_snapshot: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**DeleteSnapshotReply**](DeleteSnapshotReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_snapshot** +> GetSnapshotReply get_snapshot(id) + +Get a Snapshot + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_snapshot_reply import GetSnapshotReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SnapshotsApi(api_client) + id = 'id_example' # str | + + try: + # Get a Snapshot + api_response = await api_instance.get_snapshot(id) + print("The response of SnapshotsApi->get_snapshot:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SnapshotsApi->get_snapshot: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +[**GetSnapshotReply**](GetSnapshotReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_snapshots** +> ListSnapshotsReply list_snapshots(limit=limit, offset=offset, organization_id=organization_id, statuses=statuses, region=region) + +List all Snapshots + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.list_snapshots_reply import ListSnapshotsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SnapshotsApi(api_client) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + organization_id = 'organization_id_example' # str | (Optional) Filter by organization_id (optional) + statuses = ['statuses_example'] # List[str] | (Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted (optional) + region = 'region_example' # str | (Optional) A filter for the region (optional) + + try: + # List all Snapshots + api_response = await api_instance.list_snapshots(limit=limit, offset=offset, organization_id=organization_id, statuses=statuses, region=region) + print("The response of SnapshotsApi->list_snapshots:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SnapshotsApi->list_snapshots: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **organization_id** | **str**| (Optional) Filter by organization_id | [optional] + **statuses** | [**List[str]**](str.md)| (Optional) Filter by status - SNAPSHOT_STATUS_INVALID: zero value, invalid - SNAPSHOT_STATUS_CREATING: the snapshot is being created - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - SNAPSHOT_STATUS_DELETED: the snapshot is deleted | [optional] + **region** | **str**| (Optional) A filter for the region | [optional] + +### Return type + +[**ListSnapshotsReply**](ListSnapshotsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_snapshot** +> UpdateSnapshotReply update_snapshot(id, body) + +Update a Snapshot + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.update_snapshot_reply import UpdateSnapshotReply +from koyeb.api_async.models.update_snapshot_request import UpdateSnapshotRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SnapshotsApi(api_client) + id = 'id_example' # str | The id of the snapshot + body = koyeb.api_async.UpdateSnapshotRequest() # UpdateSnapshotRequest | + + try: + # Update a Snapshot + api_response = await api_instance.update_snapshot(id, body) + print("The response of SnapshotsApi->update_snapshot:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SnapshotsApi->update_snapshot: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the snapshot | + **body** | [**UpdateSnapshotRequest**](UpdateSnapshotRequest.md)| | + +### Return type + +[**UpdateSnapshotReply**](UpdateSnapshotReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/SsoApi.md b/koyeb/api_async/docs/SsoApi.md new file mode 100644 index 00000000..6b6f3abe --- /dev/null +++ b/koyeb/api_async/docs/SsoApi.md @@ -0,0 +1,173 @@ +# koyeb.api_async.SsoApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**canny_auth**](SsoApi.md#canny_auth) | **POST** /v1/sso/canny | +[**discourse_auth**](SsoApi.md#discourse_auth) | **POST** /v1/sso/discourse | + + +# **canny_auth** +> CannyAuthReply canny_auth(body) + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.canny_auth_reply import CannyAuthReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SsoApi(api_client) + body = None # object | + + try: + api_response = await api_instance.canny_auth(body) + print("The response of SsoApi->canny_auth:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SsoApi->canny_auth: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | **object**| | + +### Return type + +[**CannyAuthReply**](CannyAuthReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **discourse_auth** +> DiscourseAuthReply discourse_auth(body) + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.discourse_auth_reply import DiscourseAuthReply +from koyeb.api_async.models.discourse_auth_request import DiscourseAuthRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SsoApi(api_client) + body = koyeb.api_async.DiscourseAuthRequest() # DiscourseAuthRequest | + + try: + api_response = await api_instance.discourse_auth(body) + print("The response of SsoApi->discourse_auth:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SsoApi->discourse_auth: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**DiscourseAuthRequest**](DiscourseAuthRequest.md)| | + +### Return type + +[**DiscourseAuthReply**](DiscourseAuthReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/StreamResultOfExecCommandReply.md b/koyeb/api_async/docs/StreamResultOfExecCommandReply.md new file mode 100644 index 00000000..1898b236 --- /dev/null +++ b/koyeb/api_async/docs/StreamResultOfExecCommandReply.md @@ -0,0 +1,30 @@ +# StreamResultOfExecCommandReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**result** | [**ExecCommandReply**](ExecCommandReply.md) | | [optional] +**error** | [**GoogleRpcStatus**](GoogleRpcStatus.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.stream_result_of_exec_command_reply import StreamResultOfExecCommandReply + +# TODO update the JSON string below +json = "{}" +# create an instance of StreamResultOfExecCommandReply from a JSON string +stream_result_of_exec_command_reply_instance = StreamResultOfExecCommandReply.from_json(json) +# print the JSON string representation of the object +print(StreamResultOfExecCommandReply.to_json()) + +# convert the object into a dict +stream_result_of_exec_command_reply_dict = stream_result_of_exec_command_reply_instance.to_dict() +# create an instance of StreamResultOfExecCommandReply from a dict +stream_result_of_exec_command_reply_from_dict = StreamResultOfExecCommandReply.from_dict(stream_result_of_exec_command_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/StreamResultOfLogEntry.md b/koyeb/api_async/docs/StreamResultOfLogEntry.md new file mode 100644 index 00000000..3be1c0db --- /dev/null +++ b/koyeb/api_async/docs/StreamResultOfLogEntry.md @@ -0,0 +1,30 @@ +# StreamResultOfLogEntry + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**result** | [**LogEntry**](LogEntry.md) | | [optional] +**error** | [**GoogleRpcStatus**](GoogleRpcStatus.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.stream_result_of_log_entry import StreamResultOfLogEntry + +# TODO update the JSON string below +json = "{}" +# create an instance of StreamResultOfLogEntry from a JSON string +stream_result_of_log_entry_instance = StreamResultOfLogEntry.from_json(json) +# print the JSON string representation of the object +print(StreamResultOfLogEntry.to_json()) + +# convert the object into a dict +stream_result_of_log_entry_dict = stream_result_of_log_entry_instance.to_dict() +# create an instance of StreamResultOfLogEntry from a dict +stream_result_of_log_entry_from_dict = StreamResultOfLogEntry.from_dict(stream_result_of_log_entry_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Subscription.md b/koyeb/api_async/docs/Subscription.md new file mode 100644 index 00000000..bc2b6517 --- /dev/null +++ b/koyeb/api_async/docs/Subscription.md @@ -0,0 +1,52 @@ +# Subscription + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**created_at** | **datetime** | | [optional] +**updated_at** | **datetime** | | [optional] +**version** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**stripe_subscription_id** | **str** | | [optional] +**status** | [**SubscriptionStatus**](SubscriptionStatus.md) | | [optional] [default to SubscriptionStatus.INVALID] +**messages** | **List[str]** | | [optional] +**has_pending_update** | **bool** | | [optional] +**stripe_pending_invoice_id** | **str** | | [optional] +**terminate_at** | **datetime** | | [optional] +**canceled_at** | **datetime** | | [optional] +**terminated_at** | **datetime** | | [optional] +**current_period_start** | **datetime** | | [optional] +**current_period_end** | **datetime** | | [optional] +**currency** | **str** | | [optional] +**amount_payable** | **str** | | [optional] +**amount_paid** | **str** | | [optional] +**amount_remaining** | **str** | | [optional] +**payment_failure** | [**SubscriptionPaymentFailure**](SubscriptionPaymentFailure.md) | | [optional] +**trialing** | **bool** | | [optional] +**trial_ends_at** | **datetime** | | [optional] +**trial_max_spend** | **str** | | [optional] +**current_spend** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.subscription import Subscription + +# TODO update the JSON string below +json = "{}" +# create an instance of Subscription from a JSON string +subscription_instance = Subscription.from_json(json) +# print the JSON string representation of the object +print(Subscription.to_json()) + +# convert the object into a dict +subscription_dict = subscription_instance.to_dict() +# create an instance of Subscription from a dict +subscription_from_dict = Subscription.from_dict(subscription_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SubscriptionPaymentFailure.md b/koyeb/api_async/docs/SubscriptionPaymentFailure.md new file mode 100644 index 00000000..bf151a10 --- /dev/null +++ b/koyeb/api_async/docs/SubscriptionPaymentFailure.md @@ -0,0 +1,38 @@ +# SubscriptionPaymentFailure + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**failed_at** | **datetime** | | [optional] +**next_attempt** | **datetime** | | [optional] +**attempt_count** | **str** | | [optional] +**error_code** | **str** | | [optional] +**error_reason** | **str** | | [optional] +**error_type** | **str** | | [optional] +**error_message** | **str** | | [optional] +**payment_method_required** | **bool** | | [optional] +**redirect_url** | **str** | | [optional] +**stripe_sdk** | [**SubscriptionPaymentFailureStripeSDK**](SubscriptionPaymentFailureStripeSDK.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.subscription_payment_failure import SubscriptionPaymentFailure + +# TODO update the JSON string below +json = "{}" +# create an instance of SubscriptionPaymentFailure from a JSON string +subscription_payment_failure_instance = SubscriptionPaymentFailure.from_json(json) +# print the JSON string representation of the object +print(SubscriptionPaymentFailure.to_json()) + +# convert the object into a dict +subscription_payment_failure_dict = subscription_payment_failure_instance.to_dict() +# create an instance of SubscriptionPaymentFailure from a dict +subscription_payment_failure_from_dict = SubscriptionPaymentFailure.from_dict(subscription_payment_failure_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SubscriptionPaymentFailureStripeSDK.md b/koyeb/api_async/docs/SubscriptionPaymentFailureStripeSDK.md new file mode 100644 index 00000000..a0c1340e --- /dev/null +++ b/koyeb/api_async/docs/SubscriptionPaymentFailureStripeSDK.md @@ -0,0 +1,30 @@ +# SubscriptionPaymentFailureStripeSDK + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_secret_key** | **str** | | [optional] +**raw_json** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.subscription_payment_failure_stripe_sdk import SubscriptionPaymentFailureStripeSDK + +# TODO update the JSON string below +json = "{}" +# create an instance of SubscriptionPaymentFailureStripeSDK from a JSON string +subscription_payment_failure_stripe_sdk_instance = SubscriptionPaymentFailureStripeSDK.from_json(json) +# print the JSON string representation of the object +print(SubscriptionPaymentFailureStripeSDK.to_json()) + +# convert the object into a dict +subscription_payment_failure_stripe_sdk_dict = subscription_payment_failure_stripe_sdk_instance.to_dict() +# create an instance of SubscriptionPaymentFailureStripeSDK from a dict +subscription_payment_failure_stripe_sdk_from_dict = SubscriptionPaymentFailureStripeSDK.from_dict(subscription_payment_failure_stripe_sdk_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SubscriptionStatus.md b/koyeb/api_async/docs/SubscriptionStatus.md new file mode 100644 index 00000000..3eb23374 --- /dev/null +++ b/koyeb/api_async/docs/SubscriptionStatus.md @@ -0,0 +1,26 @@ +# SubscriptionStatus + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `CREATED` (value: `'CREATED'`) + +* `ACTIVE` (value: `'ACTIVE'`) + +* `WARNING` (value: `'WARNING'`) + +* `URGENT` (value: `'URGENT'`) + +* `CANCELING` (value: `'CANCELING'`) + +* `CANCELED` (value: `'CANCELED'`) + +* `TERMINATING` (value: `'TERMINATING'`) + +* `TERMINATED` (value: `'TERMINATED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/SubscriptionsApi.md b/koyeb/api_async/docs/SubscriptionsApi.md new file mode 100644 index 00000000..0d22a236 --- /dev/null +++ b/koyeb/api_async/docs/SubscriptionsApi.md @@ -0,0 +1,93 @@ +# koyeb.api_async.SubscriptionsApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_subscription**](SubscriptionsApi.md#get_subscription) | **GET** /v1/subscriptions/{id} | Get Subscription + + +# **get_subscription** +> GetSubscriptionReply get_subscription(id) + +Get Subscription + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_subscription_reply import GetSubscriptionReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SubscriptionsApi(api_client) + id = 'id_example' # str | The id of the instance + + try: + # Get Subscription + api_response = await api_instance.get_subscription(id) + print("The response of SubscriptionsApi->get_subscription:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SubscriptionsApi->get_subscription: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the instance | + +### Return type + +[**GetSubscriptionReply**](GetSubscriptionReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/SummaryApi.md b/koyeb/api_async/docs/SummaryApi.md new file mode 100644 index 00000000..190ab164 --- /dev/null +++ b/koyeb/api_async/docs/SummaryApi.md @@ -0,0 +1,93 @@ +# koyeb.api_async.SummaryApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_organization_summary**](SummaryApi.md#get_organization_summary) | **GET** /v1/organizations/{organization_id}/summary | Get organization usage summary + + +# **get_organization_summary** +> GetOrganizationSummaryReply get_organization_summary(organization_id) + +Get organization usage summary + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_organization_summary_reply import GetOrganizationSummaryReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.SummaryApi(api_client) + organization_id = 'organization_id_example' # str | Organization ID + + try: + # Get organization usage summary + api_response = await api_instance.get_organization_summary(organization_id) + print("The response of SummaryApi->get_organization_summary:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SummaryApi->get_organization_summary: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **organization_id** | **str**| Organization ID | + +### Return type + +[**GetOrganizationSummaryReply**](GetOrganizationSummaryReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/TCPHealthCheck.md b/koyeb/api_async/docs/TCPHealthCheck.md new file mode 100644 index 00000000..b09ca734 --- /dev/null +++ b/koyeb/api_async/docs/TCPHealthCheck.md @@ -0,0 +1,29 @@ +# TCPHealthCheck + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**port** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.tcp_health_check import TCPHealthCheck + +# TODO update the JSON string below +json = "{}" +# create an instance of TCPHealthCheck from a JSON string +tcp_health_check_instance = TCPHealthCheck.from_json(json) +# print the JSON string representation of the object +print(TCPHealthCheck.to_json()) + +# convert the object into a dict +tcp_health_check_dict = tcp_health_check_instance.to_dict() +# create an instance of TCPHealthCheck from a dict +tcp_health_check_from_dict = TCPHealthCheck.from_dict(tcp_health_check_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/TestApi.md b/koyeb/api_async/docs/TestApi.md new file mode 100644 index 00000000..2a6dd5b8 --- /dev/null +++ b/koyeb/api_async/docs/TestApi.md @@ -0,0 +1,174 @@ +# koyeb.api_async.TestApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**test_anon**](TestApi.md#test_anon) | **GET** /v1/test/anon | Test anonymous call +[**test_auth**](TestApi.md#test_auth) | **POST** /v1/test/auth | Test authenticated call + + +# **test_anon** +> object test_anon() + +Test anonymous call + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.TestApi(api_client) + + try: + # Test anonymous call + api_response = await api_instance.test_anon() + print("The response of TestApi->test_anon:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TestApi->test_anon: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +**object** + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **test_auth** +> KtestTestAuthReply test_auth(body) + +Test authenticated call + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.ktest_test_auth_reply import KtestTestAuthReply +from koyeb.api_async.models.ktest_test_auth_request import KtestTestAuthRequest +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.TestApi(api_client) + body = koyeb.api_async.KtestTestAuthRequest() # KtestTestAuthRequest | + + try: + # Test authenticated call + api_response = await api_instance.test_auth(body) + print("The response of TestApi->test_auth:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TestApi->test_auth: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **body** | [**KtestTestAuthRequest**](KtestTestAuthRequest.md)| | + +### Return type + +[**KtestTestAuthReply**](KtestTestAuthReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/Token.md b/koyeb/api_async/docs/Token.md new file mode 100644 index 00000000..d45f88b7 --- /dev/null +++ b/koyeb/api_async/docs/Token.md @@ -0,0 +1,32 @@ +# Token + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**user_id** | **str** | | [optional] +**organization_id** | **str** | | [optional] +**expires_at** | **datetime** | | [optional] + +## Example + +```python +from koyeb.api_async.models.token import Token + +# TODO update the JSON string below +json = "{}" +# create an instance of Token from a JSON string +token_instance = Token.from_json(json) +# print the JSON string representation of the object +print(Token.to_json()) + +# convert the object into a dict +token_dict = token_instance.to_dict() +# create an instance of Token from a dict +token_from_dict = Token.from_dict(token_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/TriggerDeploymentMetadata.md b/koyeb/api_async/docs/TriggerDeploymentMetadata.md new file mode 100644 index 00000000..8110e267 --- /dev/null +++ b/koyeb/api_async/docs/TriggerDeploymentMetadata.md @@ -0,0 +1,31 @@ +# TriggerDeploymentMetadata + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**TriggerDeploymentMetadataTriggerType**](TriggerDeploymentMetadataTriggerType.md) | | [optional] [default to TriggerDeploymentMetadataTriggerType.UNKNOWN_TYPE] +**actor** | [**TriggerDeploymentMetadataActorType**](TriggerDeploymentMetadataActorType.md) | | [optional] [default to TriggerDeploymentMetadataActorType.UNKNOWN_ACTOR] +**git** | [**TriggerGitDeploymentMetadata**](TriggerGitDeploymentMetadata.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.trigger_deployment_metadata import TriggerDeploymentMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of TriggerDeploymentMetadata from a JSON string +trigger_deployment_metadata_instance = TriggerDeploymentMetadata.from_json(json) +# print the JSON string representation of the object +print(TriggerDeploymentMetadata.to_json()) + +# convert the object into a dict +trigger_deployment_metadata_dict = trigger_deployment_metadata_instance.to_dict() +# create an instance of TriggerDeploymentMetadata from a dict +trigger_deployment_metadata_from_dict = TriggerDeploymentMetadata.from_dict(trigger_deployment_metadata_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/TriggerDeploymentMetadataActorType.md b/koyeb/api_async/docs/TriggerDeploymentMetadataActorType.md new file mode 100644 index 00000000..86adbddc --- /dev/null +++ b/koyeb/api_async/docs/TriggerDeploymentMetadataActorType.md @@ -0,0 +1,14 @@ +# TriggerDeploymentMetadataActorType + + +## Enum + +* `UNKNOWN_ACTOR` (value: `'UNKNOWN_ACTOR'`) + +* `USER` (value: `'USER'`) + +* `SYSTEM` (value: `'SYSTEM'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/TriggerDeploymentMetadataTriggerType.md b/koyeb/api_async/docs/TriggerDeploymentMetadataTriggerType.md new file mode 100644 index 00000000..0157b394 --- /dev/null +++ b/koyeb/api_async/docs/TriggerDeploymentMetadataTriggerType.md @@ -0,0 +1,16 @@ +# TriggerDeploymentMetadataTriggerType + + +## Enum + +* `UNKNOWN_TYPE` (value: `'UNKNOWN_TYPE'`) + +* `GIT` (value: `'GIT'`) + +* `RESUME` (value: `'RESUME'`) + +* `DATABASE_SYNC` (value: `'DATABASE_SYNC'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/TriggerGitDeploymentMetadata.md b/koyeb/api_async/docs/TriggerGitDeploymentMetadata.md new file mode 100644 index 00000000..1a8d30a9 --- /dev/null +++ b/koyeb/api_async/docs/TriggerGitDeploymentMetadata.md @@ -0,0 +1,36 @@ +# TriggerGitDeploymentMetadata + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**provider** | [**TriggerGitDeploymentMetadataProvider**](TriggerGitDeploymentMetadataProvider.md) | | [optional] [default to TriggerGitDeploymentMetadataProvider.UNKNOWN] +**repository** | **str** | | [optional] +**branch** | **str** | | [optional] +**sha** | **str** | | [optional] +**message** | **str** | | [optional] +**sender_username** | **str** | | [optional] +**sender_avatar_url** | **str** | | [optional] +**sender_profile_url** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.trigger_git_deployment_metadata import TriggerGitDeploymentMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of TriggerGitDeploymentMetadata from a JSON string +trigger_git_deployment_metadata_instance = TriggerGitDeploymentMetadata.from_json(json) +# print the JSON string representation of the object +print(TriggerGitDeploymentMetadata.to_json()) + +# convert the object into a dict +trigger_git_deployment_metadata_dict = trigger_git_deployment_metadata_instance.to_dict() +# create an instance of TriggerGitDeploymentMetadata from a dict +trigger_git_deployment_metadata_from_dict = TriggerGitDeploymentMetadata.from_dict(trigger_git_deployment_metadata_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/TriggerGitDeploymentMetadataProvider.md b/koyeb/api_async/docs/TriggerGitDeploymentMetadataProvider.md new file mode 100644 index 00000000..83cc6291 --- /dev/null +++ b/koyeb/api_async/docs/TriggerGitDeploymentMetadataProvider.md @@ -0,0 +1,12 @@ +# TriggerGitDeploymentMetadataProvider + + +## Enum + +* `UNKNOWN` (value: `'UNKNOWN'`) + +* `GITHUB` (value: `'GITHUB'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateApp.md b/koyeb/api_async/docs/UpdateApp.md new file mode 100644 index 00000000..7ce841e7 --- /dev/null +++ b/koyeb/api_async/docs/UpdateApp.md @@ -0,0 +1,30 @@ +# UpdateApp + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**life_cycle** | [**AppLifeCycle**](AppLifeCycle.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_app import UpdateApp + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateApp from a JSON string +update_app_instance = UpdateApp.from_json(json) +# print the JSON string representation of the object +print(UpdateApp.to_json()) + +# convert the object into a dict +update_app_dict = update_app_instance.to_dict() +# create an instance of UpdateApp from a dict +update_app_from_dict = UpdateApp.from_dict(update_app_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateAppReply.md b/koyeb/api_async/docs/UpdateAppReply.md new file mode 100644 index 00000000..ecd3ef5a --- /dev/null +++ b/koyeb/api_async/docs/UpdateAppReply.md @@ -0,0 +1,29 @@ +# UpdateAppReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app** | [**App**](App.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_app_reply import UpdateAppReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateAppReply from a JSON string +update_app_reply_instance = UpdateAppReply.from_json(json) +# print the JSON string representation of the object +print(UpdateAppReply.to_json()) + +# convert the object into a dict +update_app_reply_dict = update_app_reply_instance.to_dict() +# create an instance of UpdateAppReply from a dict +update_app_reply_from_dict = UpdateAppReply.from_dict(update_app_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateBudgetReply.md b/koyeb/api_async/docs/UpdateBudgetReply.md new file mode 100644 index 00000000..7b83685c --- /dev/null +++ b/koyeb/api_async/docs/UpdateBudgetReply.md @@ -0,0 +1,29 @@ +# UpdateBudgetReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**budget** | [**Budget**](Budget.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_budget_reply import UpdateBudgetReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateBudgetReply from a JSON string +update_budget_reply_instance = UpdateBudgetReply.from_json(json) +# print the JSON string representation of the object +print(UpdateBudgetReply.to_json()) + +# convert the object into a dict +update_budget_reply_dict = update_budget_reply_instance.to_dict() +# create an instance of UpdateBudgetReply from a dict +update_budget_reply_from_dict = UpdateBudgetReply.from_dict(update_budget_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateBudgetRequest.md b/koyeb/api_async/docs/UpdateBudgetRequest.md new file mode 100644 index 00000000..76225a75 --- /dev/null +++ b/koyeb/api_async/docs/UpdateBudgetRequest.md @@ -0,0 +1,29 @@ +# UpdateBudgetRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**amount** | **str** | In cents. | [optional] + +## Example + +```python +from koyeb.api_async.models.update_budget_request import UpdateBudgetRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateBudgetRequest from a JSON string +update_budget_request_instance = UpdateBudgetRequest.from_json(json) +# print the JSON string representation of the object +print(UpdateBudgetRequest.to_json()) + +# convert the object into a dict +update_budget_request_dict = update_budget_request_instance.to_dict() +# create an instance of UpdateBudgetRequest from a dict +update_budget_request_from_dict = UpdateBudgetRequest.from_dict(update_budget_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateCredentialReply.md b/koyeb/api_async/docs/UpdateCredentialReply.md new file mode 100644 index 00000000..4abf5638 --- /dev/null +++ b/koyeb/api_async/docs/UpdateCredentialReply.md @@ -0,0 +1,29 @@ +# UpdateCredentialReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**credential** | [**Credential**](Credential.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_credential_reply import UpdateCredentialReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateCredentialReply from a JSON string +update_credential_reply_instance = UpdateCredentialReply.from_json(json) +# print the JSON string representation of the object +print(UpdateCredentialReply.to_json()) + +# convert the object into a dict +update_credential_reply_dict = update_credential_reply_instance.to_dict() +# create an instance of UpdateCredentialReply from a dict +update_credential_reply_from_dict = UpdateCredentialReply.from_dict(update_credential_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateDomain.md b/koyeb/api_async/docs/UpdateDomain.md new file mode 100644 index 00000000..8b6c278e --- /dev/null +++ b/koyeb/api_async/docs/UpdateDomain.md @@ -0,0 +1,30 @@ +# UpdateDomain + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**app_id** | **str** | To attach or detach from an app for custom domain. | [optional] +**subdomain** | **str** | To change subdomain for auto-assigned domain. | [optional] + +## Example + +```python +from koyeb.api_async.models.update_domain import UpdateDomain + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateDomain from a JSON string +update_domain_instance = UpdateDomain.from_json(json) +# print the JSON string representation of the object +print(UpdateDomain.to_json()) + +# convert the object into a dict +update_domain_dict = update_domain_instance.to_dict() +# create an instance of UpdateDomain from a dict +update_domain_from_dict = UpdateDomain.from_dict(update_domain_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateDomainReply.md b/koyeb/api_async/docs/UpdateDomainReply.md new file mode 100644 index 00000000..d00a831b --- /dev/null +++ b/koyeb/api_async/docs/UpdateDomainReply.md @@ -0,0 +1,29 @@ +# UpdateDomainReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**domain** | [**Domain**](Domain.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_domain_reply import UpdateDomainReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateDomainReply from a JSON string +update_domain_reply_instance = UpdateDomainReply.from_json(json) +# print the JSON string representation of the object +print(UpdateDomainReply.to_json()) + +# convert the object into a dict +update_domain_reply_dict = update_domain_reply_instance.to_dict() +# create an instance of UpdateDomainReply from a dict +update_domain_reply_from_dict = UpdateDomainReply.from_dict(update_domain_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateOrganizationDefaultProjectReply.md b/koyeb/api_async/docs/UpdateOrganizationDefaultProjectReply.md new file mode 100644 index 00000000..72553536 --- /dev/null +++ b/koyeb/api_async/docs/UpdateOrganizationDefaultProjectReply.md @@ -0,0 +1,29 @@ +# UpdateOrganizationDefaultProjectReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | [**Organization**](Organization.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_organization_default_project_reply import UpdateOrganizationDefaultProjectReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateOrganizationDefaultProjectReply from a JSON string +update_organization_default_project_reply_instance = UpdateOrganizationDefaultProjectReply.from_json(json) +# print the JSON string representation of the object +print(UpdateOrganizationDefaultProjectReply.to_json()) + +# convert the object into a dict +update_organization_default_project_reply_dict = update_organization_default_project_reply_instance.to_dict() +# create an instance of UpdateOrganizationDefaultProjectReply from a dict +update_organization_default_project_reply_from_dict = UpdateOrganizationDefaultProjectReply.from_dict(update_organization_default_project_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateOrganizationDefaultProjectRequest.md b/koyeb/api_async/docs/UpdateOrganizationDefaultProjectRequest.md new file mode 100644 index 00000000..74a12fab --- /dev/null +++ b/koyeb/api_async/docs/UpdateOrganizationDefaultProjectRequest.md @@ -0,0 +1,29 @@ +# UpdateOrganizationDefaultProjectRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**default_project_id** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_organization_default_project_request import UpdateOrganizationDefaultProjectRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateOrganizationDefaultProjectRequest from a JSON string +update_organization_default_project_request_instance = UpdateOrganizationDefaultProjectRequest.from_json(json) +# print the JSON string representation of the object +print(UpdateOrganizationDefaultProjectRequest.to_json()) + +# convert the object into a dict +update_organization_default_project_request_dict = update_organization_default_project_request_instance.to_dict() +# create an instance of UpdateOrganizationDefaultProjectRequest from a dict +update_organization_default_project_request_from_dict = UpdateOrganizationDefaultProjectRequest.from_dict(update_organization_default_project_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateOrganizationNameReply.md b/koyeb/api_async/docs/UpdateOrganizationNameReply.md new file mode 100644 index 00000000..d2cb553f --- /dev/null +++ b/koyeb/api_async/docs/UpdateOrganizationNameReply.md @@ -0,0 +1,29 @@ +# UpdateOrganizationNameReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | [**Organization**](Organization.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_organization_name_reply import UpdateOrganizationNameReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateOrganizationNameReply from a JSON string +update_organization_name_reply_instance = UpdateOrganizationNameReply.from_json(json) +# print the JSON string representation of the object +print(UpdateOrganizationNameReply.to_json()) + +# convert the object into a dict +update_organization_name_reply_dict = update_organization_name_reply_instance.to_dict() +# create an instance of UpdateOrganizationNameReply from a dict +update_organization_name_reply_from_dict = UpdateOrganizationNameReply.from_dict(update_organization_name_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateOrganizationNameRequest.md b/koyeb/api_async/docs/UpdateOrganizationNameRequest.md new file mode 100644 index 00000000..74fbe57b --- /dev/null +++ b/koyeb/api_async/docs/UpdateOrganizationNameRequest.md @@ -0,0 +1,29 @@ +# UpdateOrganizationNameRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_organization_name_request import UpdateOrganizationNameRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateOrganizationNameRequest from a JSON string +update_organization_name_request_instance = UpdateOrganizationNameRequest.from_json(json) +# print the JSON string representation of the object +print(UpdateOrganizationNameRequest.to_json()) + +# convert the object into a dict +update_organization_name_request_dict = update_organization_name_request_instance.to_dict() +# create an instance of UpdateOrganizationNameRequest from a dict +update_organization_name_request_from_dict = UpdateOrganizationNameRequest.from_dict(update_organization_name_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateOrganizationPlanReply.md b/koyeb/api_async/docs/UpdateOrganizationPlanReply.md new file mode 100644 index 00000000..5f12ca62 --- /dev/null +++ b/koyeb/api_async/docs/UpdateOrganizationPlanReply.md @@ -0,0 +1,29 @@ +# UpdateOrganizationPlanReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | [**Organization**](Organization.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_organization_plan_reply import UpdateOrganizationPlanReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateOrganizationPlanReply from a JSON string +update_organization_plan_reply_instance = UpdateOrganizationPlanReply.from_json(json) +# print the JSON string representation of the object +print(UpdateOrganizationPlanReply.to_json()) + +# convert the object into a dict +update_organization_plan_reply_dict = update_organization_plan_reply_instance.to_dict() +# create an instance of UpdateOrganizationPlanReply from a dict +update_organization_plan_reply_from_dict = UpdateOrganizationPlanReply.from_dict(update_organization_plan_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateOrganizationPlanRequest.md b/koyeb/api_async/docs/UpdateOrganizationPlanRequest.md new file mode 100644 index 00000000..4d7eb68b --- /dev/null +++ b/koyeb/api_async/docs/UpdateOrganizationPlanRequest.md @@ -0,0 +1,30 @@ +# UpdateOrganizationPlanRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**plan** | [**Plan**](Plan.md) | | [optional] [default to Plan.HOBBY] +**coupon_code** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_organization_plan_request import UpdateOrganizationPlanRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateOrganizationPlanRequest from a JSON string +update_organization_plan_request_instance = UpdateOrganizationPlanRequest.from_json(json) +# print the JSON string representation of the object +print(UpdateOrganizationPlanRequest.to_json()) + +# convert the object into a dict +update_organization_plan_request_dict = update_organization_plan_request_instance.to_dict() +# create an instance of UpdateOrganizationPlanRequest from a dict +update_organization_plan_request_from_dict = UpdateOrganizationPlanRequest.from_dict(update_organization_plan_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateOrganizationReply.md b/koyeb/api_async/docs/UpdateOrganizationReply.md new file mode 100644 index 00000000..a389bce1 --- /dev/null +++ b/koyeb/api_async/docs/UpdateOrganizationReply.md @@ -0,0 +1,29 @@ +# UpdateOrganizationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | [**Organization**](Organization.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_organization_reply import UpdateOrganizationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateOrganizationReply from a JSON string +update_organization_reply_instance = UpdateOrganizationReply.from_json(json) +# print the JSON string representation of the object +print(UpdateOrganizationReply.to_json()) + +# convert the object into a dict +update_organization_reply_dict = update_organization_reply_instance.to_dict() +# create an instance of UpdateOrganizationReply from a dict +update_organization_reply_from_dict = UpdateOrganizationReply.from_dict(update_organization_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdatePasswordRequest.md b/koyeb/api_async/docs/UpdatePasswordRequest.md new file mode 100644 index 00000000..65c267ec --- /dev/null +++ b/koyeb/api_async/docs/UpdatePasswordRequest.md @@ -0,0 +1,30 @@ +# UpdatePasswordRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**password** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_password_request import UpdatePasswordRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdatePasswordRequest from a JSON string +update_password_request_instance = UpdatePasswordRequest.from_json(json) +# print the JSON string representation of the object +print(UpdatePasswordRequest.to_json()) + +# convert the object into a dict +update_password_request_dict = update_password_request_instance.to_dict() +# create an instance of UpdatePasswordRequest from a dict +update_password_request_from_dict = UpdatePasswordRequest.from_dict(update_password_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdatePersistentVolumeReply.md b/koyeb/api_async/docs/UpdatePersistentVolumeReply.md new file mode 100644 index 00000000..9b0b0bcd --- /dev/null +++ b/koyeb/api_async/docs/UpdatePersistentVolumeReply.md @@ -0,0 +1,29 @@ +# UpdatePersistentVolumeReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**volume** | [**PersistentVolume**](PersistentVolume.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_persistent_volume_reply import UpdatePersistentVolumeReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdatePersistentVolumeReply from a JSON string +update_persistent_volume_reply_instance = UpdatePersistentVolumeReply.from_json(json) +# print the JSON string representation of the object +print(UpdatePersistentVolumeReply.to_json()) + +# convert the object into a dict +update_persistent_volume_reply_dict = update_persistent_volume_reply_instance.to_dict() +# create an instance of UpdatePersistentVolumeReply from a dict +update_persistent_volume_reply_from_dict = UpdatePersistentVolumeReply.from_dict(update_persistent_volume_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdatePersistentVolumeRequest.md b/koyeb/api_async/docs/UpdatePersistentVolumeRequest.md new file mode 100644 index 00000000..3c30098f --- /dev/null +++ b/koyeb/api_async/docs/UpdatePersistentVolumeRequest.md @@ -0,0 +1,30 @@ +# UpdatePersistentVolumeRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**max_size** | **int** | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_persistent_volume_request import UpdatePersistentVolumeRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdatePersistentVolumeRequest from a JSON string +update_persistent_volume_request_instance = UpdatePersistentVolumeRequest.from_json(json) +# print the JSON string representation of the object +print(UpdatePersistentVolumeRequest.to_json()) + +# convert the object into a dict +update_persistent_volume_request_dict = update_persistent_volume_request_instance.to_dict() +# create an instance of UpdatePersistentVolumeRequest from a dict +update_persistent_volume_request_from_dict = UpdatePersistentVolumeRequest.from_dict(update_persistent_volume_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateProjectReply.md b/koyeb/api_async/docs/UpdateProjectReply.md new file mode 100644 index 00000000..9b47978e --- /dev/null +++ b/koyeb/api_async/docs/UpdateProjectReply.md @@ -0,0 +1,29 @@ +# UpdateProjectReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**project** | [**Project**](Project.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_project_reply import UpdateProjectReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateProjectReply from a JSON string +update_project_reply_instance = UpdateProjectReply.from_json(json) +# print the JSON string representation of the object +print(UpdateProjectReply.to_json()) + +# convert the object into a dict +update_project_reply_dict = update_project_reply_instance.to_dict() +# create an instance of UpdateProjectReply from a dict +update_project_reply_from_dict = UpdateProjectReply.from_dict(update_project_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateSecretReply.md b/koyeb/api_async/docs/UpdateSecretReply.md new file mode 100644 index 00000000..3933aeee --- /dev/null +++ b/koyeb/api_async/docs/UpdateSecretReply.md @@ -0,0 +1,29 @@ +# UpdateSecretReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**secret** | [**Secret**](Secret.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_secret_reply import UpdateSecretReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateSecretReply from a JSON string +update_secret_reply_instance = UpdateSecretReply.from_json(json) +# print the JSON string representation of the object +print(UpdateSecretReply.to_json()) + +# convert the object into a dict +update_secret_reply_dict = update_secret_reply_instance.to_dict() +# create an instance of UpdateSecretReply from a dict +update_secret_reply_from_dict = UpdateSecretReply.from_dict(update_secret_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateService.md b/koyeb/api_async/docs/UpdateService.md new file mode 100644 index 00000000..bb3aa9cd --- /dev/null +++ b/koyeb/api_async/docs/UpdateService.md @@ -0,0 +1,33 @@ +# UpdateService + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**definition** | [**DeploymentDefinition**](DeploymentDefinition.md) | | [optional] +**metadata** | [**DeploymentMetadata**](DeploymentMetadata.md) | | [optional] +**skip_build** | **bool** | If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened. | [optional] +**save_only** | **bool** | | [optional] +**life_cycle** | [**ServiceLifeCycle**](ServiceLifeCycle.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_service import UpdateService + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateService from a JSON string +update_service_instance = UpdateService.from_json(json) +# print the JSON string representation of the object +print(UpdateService.to_json()) + +# convert the object into a dict +update_service_dict = update_service_instance.to_dict() +# create an instance of UpdateService from a dict +update_service_from_dict = UpdateService.from_dict(update_service_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateServiceReply.md b/koyeb/api_async/docs/UpdateServiceReply.md new file mode 100644 index 00000000..ea841a12 --- /dev/null +++ b/koyeb/api_async/docs/UpdateServiceReply.md @@ -0,0 +1,29 @@ +# UpdateServiceReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**service** | [**Service**](Service.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_service_reply import UpdateServiceReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateServiceReply from a JSON string +update_service_reply_instance = UpdateServiceReply.from_json(json) +# print the JSON string representation of the object +print(UpdateServiceReply.to_json()) + +# convert the object into a dict +update_service_reply_dict = update_service_reply_instance.to_dict() +# create an instance of UpdateServiceReply from a dict +update_service_reply_from_dict = UpdateServiceReply.from_dict(update_service_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateServiceScalingRequest.md b/koyeb/api_async/docs/UpdateServiceScalingRequest.md new file mode 100644 index 00000000..17106fe2 --- /dev/null +++ b/koyeb/api_async/docs/UpdateServiceScalingRequest.md @@ -0,0 +1,29 @@ +# UpdateServiceScalingRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**scalings** | [**List[ManualServiceScaling]**](ManualServiceScaling.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_service_scaling_request import UpdateServiceScalingRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateServiceScalingRequest from a JSON string +update_service_scaling_request_instance = UpdateServiceScalingRequest.from_json(json) +# print the JSON string representation of the object +print(UpdateServiceScalingRequest.to_json()) + +# convert the object into a dict +update_service_scaling_request_dict = update_service_scaling_request_instance.to_dict() +# create an instance of UpdateServiceScalingRequest from a dict +update_service_scaling_request_from_dict = UpdateServiceScalingRequest.from_dict(update_service_scaling_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateSnapshotReply.md b/koyeb/api_async/docs/UpdateSnapshotReply.md new file mode 100644 index 00000000..85007711 --- /dev/null +++ b/koyeb/api_async/docs/UpdateSnapshotReply.md @@ -0,0 +1,29 @@ +# UpdateSnapshotReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**snapshot** | [**Snapshot**](Snapshot.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_snapshot_reply import UpdateSnapshotReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateSnapshotReply from a JSON string +update_snapshot_reply_instance = UpdateSnapshotReply.from_json(json) +# print the JSON string representation of the object +print(UpdateSnapshotReply.to_json()) + +# convert the object into a dict +update_snapshot_reply_dict = update_snapshot_reply_instance.to_dict() +# create an instance of UpdateSnapshotReply from a dict +update_snapshot_reply_from_dict = UpdateSnapshotReply.from_dict(update_snapshot_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateSnapshotRequest.md b/koyeb/api_async/docs/UpdateSnapshotRequest.md new file mode 100644 index 00000000..3f5cd996 --- /dev/null +++ b/koyeb/api_async/docs/UpdateSnapshotRequest.md @@ -0,0 +1,29 @@ +# UpdateSnapshotRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_snapshot_request import UpdateSnapshotRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateSnapshotRequest from a JSON string +update_snapshot_request_instance = UpdateSnapshotRequest.from_json(json) +# print the JSON string representation of the object +print(UpdateSnapshotRequest.to_json()) + +# convert the object into a dict +update_snapshot_request_dict = update_snapshot_request_instance.to_dict() +# create an instance of UpdateSnapshotRequest from a dict +update_snapshot_request_from_dict = UpdateSnapshotRequest.from_dict(update_snapshot_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateUserRequestUserUpdateBody.md b/koyeb/api_async/docs/UpdateUserRequestUserUpdateBody.md new file mode 100644 index 00000000..9a6ee86a --- /dev/null +++ b/koyeb/api_async/docs/UpdateUserRequestUserUpdateBody.md @@ -0,0 +1,34 @@ +# UpdateUserRequestUserUpdateBody + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**email** | **str** | | [optional] +**current_password** | **str** | | [optional] +**password** | **str** | | [optional] +**newsletter_subscribed** | **bool** | | [optional] +**name** | **str** | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_user_request_user_update_body import UpdateUserRequestUserUpdateBody + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateUserRequestUserUpdateBody from a JSON string +update_user_request_user_update_body_instance = UpdateUserRequestUserUpdateBody.from_json(json) +# print the JSON string representation of the object +print(UpdateUserRequestUserUpdateBody.to_json()) + +# convert the object into a dict +update_user_request_user_update_body_dict = update_user_request_user_update_body_instance.to_dict() +# create an instance of UpdateUserRequestUserUpdateBody from a dict +update_user_request_user_update_body_from_dict = UpdateUserRequestUserUpdateBody.from_dict(update_user_request_user_update_body_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateUserSettingsReply.md b/koyeb/api_async/docs/UpdateUserSettingsReply.md new file mode 100644 index 00000000..1f77d212 --- /dev/null +++ b/koyeb/api_async/docs/UpdateUserSettingsReply.md @@ -0,0 +1,29 @@ +# UpdateUserSettingsReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**settings** | [**UserSettings**](UserSettings.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.update_user_settings_reply import UpdateUserSettingsReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateUserSettingsReply from a JSON string +update_user_settings_reply_instance = UpdateUserSettingsReply.from_json(json) +# print the JSON string representation of the object +print(UpdateUserSettingsReply.to_json()) + +# convert the object into a dict +update_user_settings_reply_dict = update_user_settings_reply_instance.to_dict() +# create an instance of UpdateUserSettingsReply from a dict +update_user_settings_reply_from_dict = UpdateUserSettingsReply.from_dict(update_user_settings_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpdateUserSettingsRequest.md b/koyeb/api_async/docs/UpdateUserSettingsRequest.md new file mode 100644 index 00000000..5c55b6c3 --- /dev/null +++ b/koyeb/api_async/docs/UpdateUserSettingsRequest.md @@ -0,0 +1,29 @@ +# UpdateUserSettingsRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**failed_deployment_email_notification** | **bool** | (Optional) Toggle failed deployment email notification. | [optional] + +## Example + +```python +from koyeb.api_async.models.update_user_settings_request import UpdateUserSettingsRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpdateUserSettingsRequest from a JSON string +update_user_settings_request_instance = UpdateUserSettingsRequest.from_json(json) +# print the JSON string representation of the object +print(UpdateUserSettingsRequest.to_json()) + +# convert the object into a dict +update_user_settings_request_dict = update_user_settings_request_instance.to_dict() +# create an instance of UpdateUserSettingsRequest from a dict +update_user_settings_request_from_dict = UpdateUserSettingsRequest.from_dict(update_user_settings_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpsertSignupQualificationReply.md b/koyeb/api_async/docs/UpsertSignupQualificationReply.md new file mode 100644 index 00000000..84ba64f6 --- /dev/null +++ b/koyeb/api_async/docs/UpsertSignupQualificationReply.md @@ -0,0 +1,29 @@ +# UpsertSignupQualificationReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization** | [**Organization**](Organization.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.upsert_signup_qualification_reply import UpsertSignupQualificationReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UpsertSignupQualificationReply from a JSON string +upsert_signup_qualification_reply_instance = UpsertSignupQualificationReply.from_json(json) +# print the JSON string representation of the object +print(UpsertSignupQualificationReply.to_json()) + +# convert the object into a dict +upsert_signup_qualification_reply_dict = upsert_signup_qualification_reply_instance.to_dict() +# create an instance of UpsertSignupQualificationReply from a dict +upsert_signup_qualification_reply_from_dict = UpsertSignupQualificationReply.from_dict(upsert_signup_qualification_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UpsertSignupQualificationRequest.md b/koyeb/api_async/docs/UpsertSignupQualificationRequest.md new file mode 100644 index 00000000..ac7e8efd --- /dev/null +++ b/koyeb/api_async/docs/UpsertSignupQualificationRequest.md @@ -0,0 +1,29 @@ +# UpsertSignupQualificationRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**signup_qualification** | **object** | | [optional] + +## Example + +```python +from koyeb.api_async.models.upsert_signup_qualification_request import UpsertSignupQualificationRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of UpsertSignupQualificationRequest from a JSON string +upsert_signup_qualification_request_instance = UpsertSignupQualificationRequest.from_json(json) +# print the JSON string representation of the object +print(UpsertSignupQualificationRequest.to_json()) + +# convert the object into a dict +upsert_signup_qualification_request_dict = upsert_signup_qualification_request_instance.to_dict() +# create an instance of UpsertSignupQualificationRequest from a dict +upsert_signup_qualification_request_from_dict = UpsertSignupQualificationRequest.from_dict(upsert_signup_qualification_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/Usage.md b/koyeb/api_async/docs/Usage.md new file mode 100644 index 00000000..f6e82cda --- /dev/null +++ b/koyeb/api_async/docs/Usage.md @@ -0,0 +1,30 @@ +# Usage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization_id** | **str** | | [optional] +**periods** | [**Dict[str, PeriodUsage]**](PeriodUsage.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.usage import Usage + +# TODO update the JSON string below +json = "{}" +# create an instance of Usage from a JSON string +usage_instance = Usage.from_json(json) +# print the JSON string representation of the object +print(Usage.to_json()) + +# convert the object into a dict +usage_dict = usage_instance.to_dict() +# create an instance of Usage from a dict +usage_from_dict = Usage.from_dict(usage_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UsageDetails.md b/koyeb/api_async/docs/UsageDetails.md new file mode 100644 index 00000000..6a794ef3 --- /dev/null +++ b/koyeb/api_async/docs/UsageDetails.md @@ -0,0 +1,41 @@ +# UsageDetails + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**organization_id** | **str** | | [optional] +**instance_id** | **str** | | [optional] +**app_id** | **str** | | [optional] +**app_name** | **str** | | [optional] +**service_id** | **str** | | [optional] +**service_name** | **str** | | [optional] +**regional_deployment_id** | **str** | | [optional] +**region** | **str** | | [optional] +**deployment_id** | **str** | | [optional] +**instance_type** | **str** | | [optional] +**duration_seconds** | **int** | | [optional] +**started_at** | **datetime** | | [optional] +**terminated_at** | **datetime** | | [optional] + +## Example + +```python +from koyeb.api_async.models.usage_details import UsageDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of UsageDetails from a JSON string +usage_details_instance = UsageDetails.from_json(json) +# print the JSON string representation of the object +print(UsageDetails.to_json()) + +# convert the object into a dict +usage_details_dict = usage_details_instance.to_dict() +# create an instance of UsageDetails from a dict +usage_details_from_dict = UsageDetails.from_dict(usage_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UsagesApi.md b/koyeb/api_async/docs/UsagesApi.md new file mode 100644 index 00000000..1899fd0a --- /dev/null +++ b/koyeb/api_async/docs/UsagesApi.md @@ -0,0 +1,178 @@ +# koyeb.api_async.UsagesApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_organization_usage**](UsagesApi.md#get_organization_usage) | **GET** /v1/usages | Get organization usage +[**get_organization_usage_details**](UsagesApi.md#get_organization_usage_details) | **GET** /v1/usages/details | Get organization usage details + + +# **get_organization_usage** +> GetOrganizationUsageReply get_organization_usage(starting_time=starting_time, ending_time=ending_time) + +Get organization usage + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_organization_usage_reply import GetOrganizationUsageReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.UsagesApi(api_client) + starting_time = '2013-10-20T19:20:30+01:00' # datetime | The starting time of the period to get data from (optional) + ending_time = '2013-10-20T19:20:30+01:00' # datetime | The ending time of the period to get data from (optional) + + try: + # Get organization usage + api_response = await api_instance.get_organization_usage(starting_time=starting_time, ending_time=ending_time) + print("The response of UsagesApi->get_organization_usage:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsagesApi->get_organization_usage: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **starting_time** | **datetime**| The starting time of the period to get data from | [optional] + **ending_time** | **datetime**| The ending time of the period to get data from | [optional] + +### Return type + +[**GetOrganizationUsageReply**](GetOrganizationUsageReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_organization_usage_details** +> GetOrganizationUsageDetailsReply get_organization_usage_details(starting_time=starting_time, ending_time=ending_time, limit=limit, offset=offset, order=order, accept=accept) + +Get organization usage details + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.get_organization_usage_details_reply import GetOrganizationUsageDetailsReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.UsagesApi(api_client) + starting_time = '2013-10-20T19:20:30+01:00' # datetime | The starting time of the period to get data from (optional) + ending_time = '2013-10-20T19:20:30+01:00' # datetime | The ending time of the period to get data from (optional) + limit = 'limit_example' # str | (Optional) The number of items to return (optional) + offset = 'offset_example' # str | (Optional) The offset in the list of item to return (optional) + order = 'order_example' # str | (Optional) Sorts the list in the ascending or the descending order (optional) + accept = 'accept_example' # str | If defined with the value 'text/csv', a csv file is returned (optional) + + try: + # Get organization usage details + api_response = await api_instance.get_organization_usage_details(starting_time=starting_time, ending_time=ending_time, limit=limit, offset=offset, order=order, accept=accept) + print("The response of UsagesApi->get_organization_usage_details:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsagesApi->get_organization_usage_details: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **starting_time** | **datetime**| The starting time of the period to get data from | [optional] + **ending_time** | **datetime**| The ending time of the period to get data from | [optional] + **limit** | **str**| (Optional) The number of items to return | [optional] + **offset** | **str**| (Optional) The offset in the list of item to return | [optional] + **order** | **str**| (Optional) Sorts the list in the ascending or the descending order | [optional] + **accept** | **str**| If defined with the value 'text/csv', a csv file is returned | [optional] + +### Return type + +[**GetOrganizationUsageDetailsReply**](GetOrganizationUsageDetailsReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/User.md b/koyeb/api_async/docs/User.md new file mode 100644 index 00000000..bd48f8d1 --- /dev/null +++ b/koyeb/api_async/docs/User.md @@ -0,0 +1,43 @@ +# User + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**email** | **str** | | [optional] +**avatar_url** | **str** | | [optional] +**two_factor_authentication** | **bool** | | [optional] +**last_login** | **datetime** | | [optional] +**last_login_ip** | **str** | | [optional] +**updated_at** | **datetime** | | [optional] +**created_at** | **datetime** | | [optional] +**newsletter_subscribed** | **bool** | | [optional] +**github_id** | **str** | | [optional] +**github_user** | **str** | | [optional] +**flags** | [**List[UserFlags]**](UserFlags.md) | | [optional] +**name** | **str** | | [optional] +**email_validated** | **bool** | | [optional] +**trialed** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.user import User + +# TODO update the JSON string below +json = "{}" +# create an instance of User from a JSON string +user_instance = User.from_json(json) +# print the JSON string representation of the object +print(User.to_json()) + +# convert the object into a dict +user_dict = user_instance.to_dict() +# create an instance of User from a dict +user_from_dict = User.from_dict(user_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UserFlags.md b/koyeb/api_async/docs/UserFlags.md new file mode 100644 index 00000000..eca41a6a --- /dev/null +++ b/koyeb/api_async/docs/UserFlags.md @@ -0,0 +1,34 @@ +# UserFlags + + +## Enum + +* `ADMIN` (value: `'ADMIN'`) + +* `TEST` (value: `'TEST'`) + +* `RESTRICTED` (value: `'RESTRICTED'`) + +* `ACTIVE` (value: `'ACTIVE'`) + +* `BETA` (value: `'BETA'`) + +* `MAX_ORGANIZATIONS_25` (value: `'MAX_ORGANIZATIONS_25'`) + +* `MAX_ORGANIZATIONS_100` (value: `'MAX_ORGANIZATIONS_100'`) + +* `MAX_ORGANIZATIONS_1000` (value: `'MAX_ORGANIZATIONS_1000'`) + +* `MAX_ORGANIZATIONS_10000` (value: `'MAX_ORGANIZATIONS_10000'`) + +* `MAX_ORGANIZATIONS_100000` (value: `'MAX_ORGANIZATIONS_100000'`) + +* `MAX_ORGANIZATIONS_1000000` (value: `'MAX_ORGANIZATIONS_1000000'`) + +* `PARTNER_CSP` (value: `'PARTNER_CSP'`) + +* `IGNORE_ORGANIZATION_NAME_RESERVATION_RULE_NEON_PREFIX` (value: `'IGNORE_ORGANIZATION_NAME_RESERVATION_RULE_NEON_PREFIX'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UserReply.md b/koyeb/api_async/docs/UserReply.md new file mode 100644 index 00000000..cd06995e --- /dev/null +++ b/koyeb/api_async/docs/UserReply.md @@ -0,0 +1,29 @@ +# UserReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**user** | [**User**](User.md) | | [optional] + +## Example + +```python +from koyeb.api_async.models.user_reply import UserReply + +# TODO update the JSON string below +json = "{}" +# create an instance of UserReply from a JSON string +user_reply_instance = UserReply.from_json(json) +# print the JSON string representation of the object +print(UserReply.to_json()) + +# convert the object into a dict +user_reply_dict = user_reply_instance.to_dict() +# create an instance of UserReply from a dict +user_reply_from_dict = UserReply.from_dict(user_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UserRoleRole.md b/koyeb/api_async/docs/UserRoleRole.md new file mode 100644 index 00000000..8d133679 --- /dev/null +++ b/koyeb/api_async/docs/UserRoleRole.md @@ -0,0 +1,12 @@ +# UserRoleRole + + +## Enum + +* `INVALID` (value: `'INVALID'`) + +* `OWNER` (value: `'OWNER'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UserSettings.md b/koyeb/api_async/docs/UserSettings.md new file mode 100644 index 00000000..a6ce9009 --- /dev/null +++ b/koyeb/api_async/docs/UserSettings.md @@ -0,0 +1,31 @@ +# UserSettings + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | | [optional] +**user_id** | **str** | | [optional] +**failed_deployment_email_notification** | **bool** | | [optional] + +## Example + +```python +from koyeb.api_async.models.user_settings import UserSettings + +# TODO update the JSON string below +json = "{}" +# create an instance of UserSettings from a JSON string +user_settings_instance = UserSettings.from_json(json) +# print the JSON string representation of the object +print(UserSettings.to_json()) + +# convert the object into a dict +user_settings_dict = user_settings_instance.to_dict() +# create an instance of UserSettings from a dict +user_settings_from_dict = UserSettings.from_dict(user_settings_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/UsersApi.md b/koyeb/api_async/docs/UsersApi.md new file mode 100644 index 00000000..fd656598 --- /dev/null +++ b/koyeb/api_async/docs/UsersApi.md @@ -0,0 +1,178 @@ +# koyeb.api_async.UsersApi + +All URIs are relative to *https://app.koyeb.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete_user**](UsersApi.md#delete_user) | **DELETE** /v1/users/{id} | Delete user +[**delete_user_v2**](UsersApi.md#delete_user_v2) | **DELETE** /v2/users/{id} | V2 Delete user + + +# **delete_user** +> DeleteUserReply delete_user(id) + +Delete user + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.delete_user_reply import DeleteUserReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.UsersApi(api_client) + id = 'id_example' # str | The id of the user + + try: + # Delete user + api_response = await api_instance.delete_user(id) + print("The response of UsersApi->delete_user:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersApi->delete_user: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the user | + +### Return type + +[**DeleteUserReply**](DeleteUserReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_user_v2** +> DeleteUserReply delete_user_v2(id) + +V2 Delete user + +### Example + +* Api Key Authentication (Bearer): + +```python +import koyeb.api_async +from koyeb.api_async.models.delete_user_reply import DeleteUserReply +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.UsersApi(api_client) + id = 'id_example' # str | The id of the user + + try: + # V2 Delete user + api_response = await api_instance.delete_user_v2(id) + print("The response of UsersApi->delete_user_v2:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersApi->delete_user_v2: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| The id of the user | + +### Return type + +[**DeleteUserReply**](DeleteUserReply.md) + +### Authorization + +[Bearer](../README.md#Bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: */* + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | A successful response. | - | +**400** | Validation error | - | +**401** | Returned when the token is not valid. | - | +**403** | Returned when the user does not have permission to access the resource. | - | +**404** | Returned when the resource does not exist. | - | +**500** | Returned in case of server error. | - | +**503** | Service is unavailable. | - | +**0** | An unexpected error response. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/koyeb/api_async/docs/VerifyDockerImageReply.md b/koyeb/api_async/docs/VerifyDockerImageReply.md new file mode 100644 index 00000000..7356f869 --- /dev/null +++ b/koyeb/api_async/docs/VerifyDockerImageReply.md @@ -0,0 +1,31 @@ +# VerifyDockerImageReply + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**success** | **bool** | | [optional] +**reason** | **str** | | [optional] +**code** | [**VerifyDockerImageReplyErrCode**](VerifyDockerImageReplyErrCode.md) | | [optional] [default to VerifyDockerImageReplyErrCode.UNKNOWN] + +## Example + +```python +from koyeb.api_async.models.verify_docker_image_reply import VerifyDockerImageReply + +# TODO update the JSON string below +json = "{}" +# create an instance of VerifyDockerImageReply from a JSON string +verify_docker_image_reply_instance = VerifyDockerImageReply.from_json(json) +# print the JSON string representation of the object +print(VerifyDockerImageReply.to_json()) + +# convert the object into a dict +verify_docker_image_reply_dict = verify_docker_image_reply_instance.to_dict() +# create an instance of VerifyDockerImageReply from a dict +verify_docker_image_reply_from_dict = VerifyDockerImageReply.from_dict(verify_docker_image_reply_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/docs/VerifyDockerImageReplyErrCode.md b/koyeb/api_async/docs/VerifyDockerImageReplyErrCode.md new file mode 100644 index 00000000..ee8cc374 --- /dev/null +++ b/koyeb/api_async/docs/VerifyDockerImageReplyErrCode.md @@ -0,0 +1,35 @@ +# VerifyDockerImageReplyErrCode + +- UNKNOWN: Default value - AUTH_ACCESS_DENIED: The registry denied access to an authenticated request - ANON_ACCESS_DENIED: The registry denied access to an anonymous request - AUTH_NOT_FOUND: The image has not been found after an authenticated request - ANON_NOT_FOUND: The image has not been found after an anonymous request - REGISTRY_ERROR: The registry returned an error - TIMEOUT: The request to the registry timed out - DNS: There was an error trying to resolve the name of the registry - MALFORMED: The provided image name is malformed - INVALID_OS: The operating system is not supported - INVALID_ARCH: The architecture is not supported - INVALID_SCHEME: The scheme is not https - GENERIC: Generic catch-all error code + +## Enum + +* `UNKNOWN` (value: `'UNKNOWN'`) + +* `AUTH_ACCESS_DENIED` (value: `'AUTH_ACCESS_DENIED'`) + +* `ANON_ACCESS_DENIED` (value: `'ANON_ACCESS_DENIED'`) + +* `AUTH_NOT_FOUND` (value: `'AUTH_NOT_FOUND'`) + +* `ANON_NOT_FOUND` (value: `'ANON_NOT_FOUND'`) + +* `REGISTRY_ERROR` (value: `'REGISTRY_ERROR'`) + +* `TIMEOUT` (value: `'TIMEOUT'`) + +* `DNS` (value: `'DNS'`) + +* `MALFORMED` (value: `'MALFORMED'`) + +* `INVALID_OS` (value: `'INVALID_OS'`) + +* `INVALID_ARCH` (value: `'INVALID_ARCH'`) + +* `INVALID_SCHEME` (value: `'INVALID_SCHEME'`) + +* `GENERIC` (value: `'GENERIC'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/koyeb/api_async/exceptions.py b/koyeb/api_async/exceptions.py new file mode 100644 index 00000000..1caa226e --- /dev/null +++ b/koyeb/api_async/exceptions.py @@ -0,0 +1,218 @@ +""" + 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. +""" # noqa: E501 + + +from typing import Any, Optional +from typing_extensions import Self + +class OpenApiException(Exception): + """The base exception class for all OpenAPIExceptions""" + + +class ApiTypeError(OpenApiException, TypeError): + def __init__(self, msg, path_to_item=None, valid_classes=None, + key_type=None) -> None: + """ Raises an exception for TypeErrors + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list): a list of keys an indices to get to the + current_item + None if unset + valid_classes (tuple): the primitive classes that current item + should be an instance of + None if unset + key_type (bool): False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a list + None if unset + """ + self.path_to_item = path_to_item + self.valid_classes = valid_classes + self.key_type = key_type + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiTypeError, self).__init__(full_msg) + + +class ApiValueError(OpenApiException, ValueError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list) the path to the exception in the + received_data dict. None if unset + """ + + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiValueError, self).__init__(full_msg) + + +class ApiAttributeError(OpenApiException, AttributeError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Raised when an attribute reference or assignment fails. + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiAttributeError, self).__init__(full_msg) + + +class ApiKeyError(OpenApiException, KeyError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiKeyError, self).__init__(full_msg) + + +class ApiException(OpenApiException): + + def __init__( + self, + status=None, + reason=None, + http_resp=None, + *, + body: Optional[str] = None, + data: Optional[Any] = None, + ) -> None: + self.status = status + self.reason = reason + self.body = body + self.data = data + self.headers = None + + if http_resp: + if self.status is None: + self.status = http_resp.status + if self.reason is None: + self.reason = http_resp.reason + if self.body is None: + try: + self.body = http_resp.data.decode('utf-8') + except Exception: + pass + self.headers = http_resp.headers + + @classmethod + def from_response( + cls, + *, + http_resp, + body: Optional[str], + data: Optional[Any], + ) -> Self: + if http_resp.status == 400: + raise BadRequestException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 401: + raise UnauthorizedException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 403: + raise ForbiddenException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 404: + raise NotFoundException(http_resp=http_resp, body=body, data=data) + + # Added new conditions for 409 and 422 + if http_resp.status == 409: + raise ConflictException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 422: + raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data) + + if 500 <= http_resp.status <= 599: + raise ServiceException(http_resp=http_resp, body=body, data=data) + raise ApiException(http_resp=http_resp, body=body, data=data) + + def __str__(self): + """Custom error messages for exception""" + error_message = "({0})\n"\ + "Reason: {1}\n".format(self.status, self.reason) + if self.headers: + error_message += "HTTP response headers: {0}\n".format( + self.headers) + + if self.body: + error_message += "HTTP response body: {0}\n".format(self.body) + + if self.data: + error_message += "HTTP response data: {0}\n".format(self.data) + + return error_message + + +class BadRequestException(ApiException): + pass + + +class NotFoundException(ApiException): + pass + + +class UnauthorizedException(ApiException): + pass + + +class ForbiddenException(ApiException): + pass + + +class ServiceException(ApiException): + pass + + +class ConflictException(ApiException): + """Exception for HTTP 409 Conflict.""" + pass + + +class UnprocessableEntityException(ApiException): + """Exception for HTTP 422 Unprocessable Entity.""" + pass + + +def render_path(path_to_item): + """Returns a string representation of a path""" + result = "" + for pth in path_to_item: + if isinstance(pth, int): + result += "[{0}]".format(pth) + else: + result += "['{0}']".format(pth) + return result diff --git a/koyeb/api_async/models/__init__.py b/koyeb/api_async/models/__init__.py new file mode 100644 index 00000000..b08cbf6f --- /dev/null +++ b/koyeb/api_async/models/__init__.py @@ -0,0 +1,401 @@ +# coding: utf-8 + +# flake8: noqa +""" + 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. +""" # noqa: E501 + +# import models into model package +from koyeb.api_async.models.accept_organization_invitation_reply import AcceptOrganizationInvitationReply +from koyeb.api_async.models.action import Action +from koyeb.api_async.models.activity import Activity +from koyeb.api_async.models.activity_list import ActivityList +from koyeb.api_async.models.app import App +from koyeb.api_async.models.app_event import AppEvent +from koyeb.api_async.models.app_life_cycle import AppLifeCycle +from koyeb.api_async.models.app_list_item import AppListItem +from koyeb.api_async.models.app_status import AppStatus +from koyeb.api_async.models.app_usage import AppUsage +from koyeb.api_async.models.apps_summary import AppsSummary +from koyeb.api_async.models.archive import Archive +from koyeb.api_async.models.archive_deployment_metadata import ArchiveDeploymentMetadata +from koyeb.api_async.models.archive_source import ArchiveSource +from koyeb.api_async.models.auto_release import AutoRelease +from koyeb.api_async.models.auto_release_group import AutoReleaseGroup +from koyeb.api_async.models.autocomplete_reply import AutocompleteReply +from koyeb.api_async.models.autocomplete_request import AutocompleteRequest +from koyeb.api_async.models.availability_level import AvailabilityLevel +from koyeb.api_async.models.azure_container_registry_configuration import AzureContainerRegistryConfiguration +from koyeb.api_async.models.basic_auth_policy import BasicAuthPolicy +from koyeb.api_async.models.budget import Budget +from koyeb.api_async.models.buildpack_builder import BuildpackBuilder +from koyeb.api_async.models.canny_auth_reply import CannyAuthReply +from koyeb.api_async.models.catalog_gpu_details import CatalogGPUDetails +from koyeb.api_async.models.catalog_instance import CatalogInstance +from koyeb.api_async.models.catalog_instance_list_item import CatalogInstanceListItem +from koyeb.api_async.models.catalog_usage import CatalogUsage +from koyeb.api_async.models.check_coupon_reply import CheckCouponReply +from koyeb.api_async.models.clear_idenfy_verification_result_request import ClearIdenfyVerificationResultRequest +from koyeb.api_async.models.compose_reply import ComposeReply +from koyeb.api_async.models.config_file import ConfigFile +from koyeb.api_async.models.confirm_payment_authorization_reply import ConfirmPaymentAuthorizationReply +from koyeb.api_async.models.create_access_token_reply import CreateAccessTokenReply +from koyeb.api_async.models.create_access_token_request import CreateAccessTokenRequest +from koyeb.api_async.models.create_account_request import CreateAccountRequest +from koyeb.api_async.models.create_app import CreateApp +from koyeb.api_async.models.create_app_reply import CreateAppReply +from koyeb.api_async.models.create_archive import CreateArchive +from koyeb.api_async.models.create_archive_reply import CreateArchiveReply +from koyeb.api_async.models.create_budget_reply import CreateBudgetReply +from koyeb.api_async.models.create_compose import CreateCompose +from koyeb.api_async.models.create_credential import CreateCredential +from koyeb.api_async.models.create_credential_reply import CreateCredentialReply +from koyeb.api_async.models.create_domain import CreateDomain +from koyeb.api_async.models.create_domain_reply import CreateDomainReply +from koyeb.api_async.models.create_organization_invitation_reply import CreateOrganizationInvitationReply +from koyeb.api_async.models.create_organization_invitation_request import CreateOrganizationInvitationRequest +from koyeb.api_async.models.create_organization_reply import CreateOrganizationReply +from koyeb.api_async.models.create_organization_request import CreateOrganizationRequest +from koyeb.api_async.models.create_payment_authorization_reply import CreatePaymentAuthorizationReply +from koyeb.api_async.models.create_persistent_volume_reply import CreatePersistentVolumeReply +from koyeb.api_async.models.create_persistent_volume_request import CreatePersistentVolumeRequest +from koyeb.api_async.models.create_project import CreateProject +from koyeb.api_async.models.create_project_reply import CreateProjectReply +from koyeb.api_async.models.create_secret import CreateSecret +from koyeb.api_async.models.create_secret_reply import CreateSecretReply +from koyeb.api_async.models.create_service import CreateService +from koyeb.api_async.models.create_service_reply import CreateServiceReply +from koyeb.api_async.models.create_snapshot_reply import CreateSnapshotReply +from koyeb.api_async.models.create_snapshot_request import CreateSnapshotRequest +from koyeb.api_async.models.create_stage_attempt_request import CreateStageAttemptRequest +from koyeb.api_async.models.credential import Credential +from koyeb.api_async.models.credential_type import CredentialType +from koyeb.api_async.models.database_deployment_metadata import DatabaseDeploymentMetadata +from koyeb.api_async.models.database_role_password import DatabaseRolePassword +from koyeb.api_async.models.database_source import DatabaseSource +from koyeb.api_async.models.database_usage import DatabaseUsage +from koyeb.api_async.models.database_usage_details import DatabaseUsageDetails +from koyeb.api_async.models.datacenter_list_item import DatacenterListItem +from koyeb.api_async.models.deactivate_organization_reply import DeactivateOrganizationReply +from koyeb.api_async.models.deactivate_organization_request import DeactivateOrganizationRequest +from koyeb.api_async.models.declare_stage_progress_request import DeclareStageProgressRequest +from koyeb.api_async.models.declare_step_progress_request import DeclareStepProgressRequest +from koyeb.api_async.models.decline_organization_invitation_reply import DeclineOrganizationInvitationReply +from koyeb.api_async.models.delete_organization_reply import DeleteOrganizationReply +from koyeb.api_async.models.delete_persistent_volume_reply import DeletePersistentVolumeReply +from koyeb.api_async.models.delete_snapshot_reply import DeleteSnapshotReply +from koyeb.api_async.models.delete_user_reply import DeleteUserReply +from koyeb.api_async.models.deployment import Deployment +from koyeb.api_async.models.deployment_database_info import DeploymentDatabaseInfo +from koyeb.api_async.models.deployment_definition import DeploymentDefinition +from koyeb.api_async.models.deployment_definition_type import DeploymentDefinitionType +from koyeb.api_async.models.deployment_env import DeploymentEnv +from koyeb.api_async.models.deployment_event import DeploymentEvent +from koyeb.api_async.models.deployment_health_check import DeploymentHealthCheck +from koyeb.api_async.models.deployment_instance_type import DeploymentInstanceType +from koyeb.api_async.models.deployment_list_item import DeploymentListItem +from koyeb.api_async.models.deployment_mesh import DeploymentMesh +from koyeb.api_async.models.deployment_metadata import DeploymentMetadata +from koyeb.api_async.models.deployment_neon_postgres_database_info import DeploymentNeonPostgresDatabaseInfo +from koyeb.api_async.models.deployment_neon_postgres_database_info_role import DeploymentNeonPostgresDatabaseInfoRole +from koyeb.api_async.models.deployment_port import DeploymentPort +from koyeb.api_async.models.deployment_provisioning_info import DeploymentProvisioningInfo +from koyeb.api_async.models.deployment_provisioning_info_stage import DeploymentProvisioningInfoStage +from koyeb.api_async.models.deployment_provisioning_info_stage_build_attempt import DeploymentProvisioningInfoStageBuildAttempt +from koyeb.api_async.models.deployment_provisioning_info_stage_build_attempt_build_step import DeploymentProvisioningInfoStageBuildAttemptBuildStep +from koyeb.api_async.models.deployment_provisioning_info_stage_status import DeploymentProvisioningInfoStageStatus +from koyeb.api_async.models.deployment_proxy_port import DeploymentProxyPort +from koyeb.api_async.models.deployment_proxy_port_metadata import DeploymentProxyPortMetadata +from koyeb.api_async.models.deployment_role import DeploymentRole +from koyeb.api_async.models.deployment_route import DeploymentRoute +from koyeb.api_async.models.deployment_scaling import DeploymentScaling +from koyeb.api_async.models.deployment_scaling_target import DeploymentScalingTarget +from koyeb.api_async.models.deployment_scaling_target_average_cpu import DeploymentScalingTargetAverageCPU +from koyeb.api_async.models.deployment_scaling_target_average_mem import DeploymentScalingTargetAverageMem +from koyeb.api_async.models.deployment_scaling_target_concurrent_requests import DeploymentScalingTargetConcurrentRequests +from koyeb.api_async.models.deployment_scaling_target_requests_per_second import DeploymentScalingTargetRequestsPerSecond +from koyeb.api_async.models.deployment_scaling_target_requests_response_time import DeploymentScalingTargetRequestsResponseTime +from koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay import DeploymentScalingTargetSleepIdleDelay +from koyeb.api_async.models.deployment_status import DeploymentStatus +from koyeb.api_async.models.deployment_strategy import DeploymentStrategy +from koyeb.api_async.models.deployment_strategy_type import DeploymentStrategyType +from koyeb.api_async.models.deployment_volume import DeploymentVolume +from koyeb.api_async.models.desired_deployment import DesiredDeployment +from koyeb.api_async.models.desired_deployment_group import DesiredDeploymentGroup +from koyeb.api_async.models.digital_ocean_registry_configuration import DigitalOceanRegistryConfiguration +from koyeb.api_async.models.discourse_auth_reply import DiscourseAuthReply +from koyeb.api_async.models.discourse_auth_request import DiscourseAuthRequest +from koyeb.api_async.models.docker_builder import DockerBuilder +from koyeb.api_async.models.docker_hub_registry_configuration import DockerHubRegistryConfiguration +from koyeb.api_async.models.docker_source import DockerSource +from koyeb.api_async.models.domain import Domain +from koyeb.api_async.models.domain_load_balancer_koyeb import DomainLoadBalancerKoyeb +from koyeb.api_async.models.domain_load_balancer_quotas import DomainLoadBalancerQuotas +from koyeb.api_async.models.domain_status import DomainStatus +from koyeb.api_async.models.domain_type import DomainType +from koyeb.api_async.models.domains_summary import DomainsSummary +from koyeb.api_async.models.env import Env +from koyeb.api_async.models.error import Error +from koyeb.api_async.models.error_field import ErrorField +from koyeb.api_async.models.error_with_fields import ErrorWithFields +from koyeb.api_async.models.exec_command_io import ExecCommandIO +from koyeb.api_async.models.exec_command_reply import ExecCommandReply +from koyeb.api_async.models.exec_command_request_body import ExecCommandRequestBody +from koyeb.api_async.models.exec_command_request_id_type import ExecCommandRequestIdType +from koyeb.api_async.models.exec_command_request_terminal_size import ExecCommandRequestTerminalSize +from koyeb.api_async.models.gcp_container_registry_configuration import GCPContainerRegistryConfiguration +from koyeb.api_async.models.get_app_reply import GetAppReply +from koyeb.api_async.models.get_budget_reply import GetBudgetReply +from koyeb.api_async.models.get_catalog_instance_reply import GetCatalogInstanceReply +from koyeb.api_async.models.get_credential_reply import GetCredentialReply +from koyeb.api_async.models.get_deployment_reply import GetDeploymentReply +from koyeb.api_async.models.get_deployment_scaling_reply import GetDeploymentScalingReply +from koyeb.api_async.models.get_deployment_scaling_reply_item import GetDeploymentScalingReplyItem +from koyeb.api_async.models.get_domain_reply import GetDomainReply +from koyeb.api_async.models.get_github_installation_reply import GetGithubInstallationReply +from koyeb.api_async.models.get_idenfy_token_reply import GetIdenfyTokenReply +from koyeb.api_async.models.get_instance_reply import GetInstanceReply +from koyeb.api_async.models.get_intercom_profile_reply import GetIntercomProfileReply +from koyeb.api_async.models.get_metrics_reply import GetMetricsReply +from koyeb.api_async.models.get_metrics_reply_metric import GetMetricsReplyMetric +from koyeb.api_async.models.get_o_auth_options_reply import GetOAuthOptionsReply +from koyeb.api_async.models.get_organization_invitation_reply import GetOrganizationInvitationReply +from koyeb.api_async.models.get_organization_reply import GetOrganizationReply +from koyeb.api_async.models.get_organization_summary_reply import GetOrganizationSummaryReply +from koyeb.api_async.models.get_organization_usage_details_reply import GetOrganizationUsageDetailsReply +from koyeb.api_async.models.get_organization_usage_reply import GetOrganizationUsageReply +from koyeb.api_async.models.get_payment_method_reply import GetPaymentMethodReply +from koyeb.api_async.models.get_persistent_volume_reply import GetPersistentVolumeReply +from koyeb.api_async.models.get_project_reply import GetProjectReply +from koyeb.api_async.models.get_quotas_reply import GetQuotasReply +from koyeb.api_async.models.get_region_reply import GetRegionReply +from koyeb.api_async.models.get_regional_deployment_reply import GetRegionalDeploymentReply +from koyeb.api_async.models.get_secret_reply import GetSecretReply +from koyeb.api_async.models.get_service_reply import GetServiceReply +from koyeb.api_async.models.get_service_scaling_reply import GetServiceScalingReply +from koyeb.api_async.models.get_snapshot_reply import GetSnapshotReply +from koyeb.api_async.models.get_subscription_reply import GetSubscriptionReply +from koyeb.api_async.models.get_user_organization_invitation_reply import GetUserOrganizationInvitationReply +from koyeb.api_async.models.get_user_settings_reply import GetUserSettingsReply +from koyeb.api_async.models.git_deployment_metadata import GitDeploymentMetadata +from koyeb.api_async.models.git_env_deployment_metadata import GitEnvDeploymentMetadata +from koyeb.api_async.models.git_hub_registry_configuration import GitHubRegistryConfiguration +from koyeb.api_async.models.git_lab_registry_configuration import GitLabRegistryConfiguration +from koyeb.api_async.models.git_source import GitSource +from koyeb.api_async.models.github_installation_reply import GithubInstallationReply +from koyeb.api_async.models.github_installation_request import GithubInstallationRequest +from koyeb.api_async.models.google_protobuf_any import GoogleProtobufAny +from koyeb.api_async.models.google_protobuf_null_value import GoogleProtobufNullValue +from koyeb.api_async.models.google_rpc_status import GoogleRpcStatus +from koyeb.api_async.models.http_header import HTTPHeader +from koyeb.api_async.models.http_health_check import HTTPHealthCheck +from koyeb.api_async.models.has_unpaid_invoices_reply import HasUnpaidInvoicesReply +from koyeb.api_async.models.instance import Instance +from koyeb.api_async.models.instance_availability import InstanceAvailability +from koyeb.api_async.models.instance_event import InstanceEvent +from koyeb.api_async.models.instance_list_item import InstanceListItem +from koyeb.api_async.models.instance_status import InstanceStatus +from koyeb.api_async.models.instance_usage import InstanceUsage +from koyeb.api_async.models.instances_summary import InstancesSummary +from koyeb.api_async.models.invite_user_request import InviteUserRequest +from koyeb.api_async.models.kgitproxy_branch import KgitproxyBranch +from koyeb.api_async.models.kgitproxy_git_hub_repository import KgitproxyGitHubRepository +from koyeb.api_async.models.kgitproxy_github_installation_status import KgitproxyGithubInstallationStatus +from koyeb.api_async.models.kgitproxy_indexing_status import KgitproxyIndexingStatus +from koyeb.api_async.models.kgitproxy_list_branches_reply import KgitproxyListBranchesReply +from koyeb.api_async.models.kgitproxy_list_repositories_reply import KgitproxyListRepositoriesReply +from koyeb.api_async.models.kgitproxy_repository import KgitproxyRepository +from koyeb.api_async.models.kgitproxy_repository_provider import KgitproxyRepositoryProvider +from koyeb.api_async.models.ksearch_app import KsearchApp +from koyeb.api_async.models.ksearch_global_deployment import KsearchGlobalDeployment +from koyeb.api_async.models.ksearch_instance import KsearchInstance +from koyeb.api_async.models.ksearch_organization import KsearchOrganization +from koyeb.api_async.models.ksearch_regional_deployment import KsearchRegionalDeployment +from koyeb.api_async.models.ksearch_search_reply import KsearchSearchReply +from koyeb.api_async.models.ksearch_service import KsearchService +from koyeb.api_async.models.ksearch_user import KsearchUser +from koyeb.api_async.models.ktest_test_auth_reply import KtestTestAuthReply +from koyeb.api_async.models.ktest_test_auth_request import KtestTestAuthRequest +from koyeb.api_async.models.lifecycle_quotas import LifecycleQuotas +from koyeb.api_async.models.list_app_events_reply import ListAppEventsReply +from koyeb.api_async.models.list_apps_reply import ListAppsReply +from koyeb.api_async.models.list_catalog_instances_reply import ListCatalogInstancesReply +from koyeb.api_async.models.list_credentials_reply import ListCredentialsReply +from koyeb.api_async.models.list_datacenters_reply import ListDatacentersReply +from koyeb.api_async.models.list_deployment_events_reply import ListDeploymentEventsReply +from koyeb.api_async.models.list_deployments_reply import ListDeploymentsReply +from koyeb.api_async.models.list_domains_reply import ListDomainsReply +from koyeb.api_async.models.list_instance_events_reply import ListInstanceEventsReply +from koyeb.api_async.models.list_instances_reply import ListInstancesReply +from koyeb.api_async.models.list_organization_invitations_reply import ListOrganizationInvitationsReply +from koyeb.api_async.models.list_organization_members_reply import ListOrganizationMembersReply +from koyeb.api_async.models.list_payment_methods_reply import ListPaymentMethodsReply +from koyeb.api_async.models.list_persistent_volume_events_reply import ListPersistentVolumeEventsReply +from koyeb.api_async.models.list_persistent_volumes_reply import ListPersistentVolumesReply +from koyeb.api_async.models.list_projects_reply import ListProjectsReply +from koyeb.api_async.models.list_regional_deployment_events_reply import ListRegionalDeploymentEventsReply +from koyeb.api_async.models.list_regional_deployments_reply import ListRegionalDeploymentsReply +from koyeb.api_async.models.list_regions_reply import ListRegionsReply +from koyeb.api_async.models.list_secrets_reply import ListSecretsReply +from koyeb.api_async.models.list_service_events_reply import ListServiceEventsReply +from koyeb.api_async.models.list_services_reply import ListServicesReply +from koyeb.api_async.models.list_snapshots_reply import ListSnapshotsReply +from koyeb.api_async.models.list_usage_reply import ListUsageReply +from koyeb.api_async.models.list_user_organization_invitations_reply import ListUserOrganizationInvitationsReply +from koyeb.api_async.models.list_user_organizations_reply import ListUserOrganizationsReply +from koyeb.api_async.models.log_entry import LogEntry +from koyeb.api_async.models.login_method_reply import LoginMethodReply +from koyeb.api_async.models.login_method_reply_method import LoginMethodReplyMethod +from koyeb.api_async.models.login_reply import LoginReply +from koyeb.api_async.models.login_request import LoginRequest +from koyeb.api_async.models.manage_reply import ManageReply +from koyeb.api_async.models.manual_service_scaling import ManualServiceScaling +from koyeb.api_async.models.members_summary import MembersSummary +from koyeb.api_async.models.metric_name import MetricName +from koyeb.api_async.models.neon_postgres_database import NeonPostgresDatabase +from koyeb.api_async.models.neon_postgres_database_deployment_metadata import NeonPostgresDatabaseDeploymentMetadata +from koyeb.api_async.models.neon_postgres_database_neon_database import NeonPostgresDatabaseNeonDatabase +from koyeb.api_async.models.neon_postgres_database_neon_role import NeonPostgresDatabaseNeonRole +from koyeb.api_async.models.neon_postgres_summary import NeonPostgresSummary +from koyeb.api_async.models.next_invoice_reply import NextInvoiceReply +from koyeb.api_async.models.next_invoice_reply_discount import NextInvoiceReplyDiscount +from koyeb.api_async.models.next_invoice_reply_discount_type import NextInvoiceReplyDiscountType +from koyeb.api_async.models.next_invoice_reply_line import NextInvoiceReplyLine +from koyeb.api_async.models.next_invoice_reply_line_period import NextInvoiceReplyLinePeriod +from koyeb.api_async.models.next_invoice_reply_line_price import NextInvoiceReplyLinePrice +from koyeb.api_async.models.notification import Notification +from koyeb.api_async.models.notification_list import NotificationList +from koyeb.api_async.models.o_auth_callback_reply import OAuthCallbackReply +from koyeb.api_async.models.o_auth_callback_request import OAuthCallbackRequest +from koyeb.api_async.models.o_auth_provider import OAuthProvider +from koyeb.api_async.models.object import Object +from koyeb.api_async.models.organization import Organization +from koyeb.api_async.models.organization_deactivation_reason import OrganizationDeactivationReason +from koyeb.api_async.models.organization_detailed_status import OrganizationDetailedStatus +from koyeb.api_async.models.organization_invitation import OrganizationInvitation +from koyeb.api_async.models.organization_invitation_status import OrganizationInvitationStatus +from koyeb.api_async.models.organization_member import OrganizationMember +from koyeb.api_async.models.organization_member_status import OrganizationMemberStatus +from koyeb.api_async.models.organization_status import OrganizationStatus +from koyeb.api_async.models.organization_summary import OrganizationSummary +from koyeb.api_async.models.payment_method import PaymentMethod +from koyeb.api_async.models.payment_method_status import PaymentMethodStatus +from koyeb.api_async.models.period_usage import PeriodUsage +from koyeb.api_async.models.persistent_volume import PersistentVolume +from koyeb.api_async.models.persistent_volume_backing_store import PersistentVolumeBackingStore +from koyeb.api_async.models.persistent_volume_event import PersistentVolumeEvent +from koyeb.api_async.models.persistent_volume_quotas import PersistentVolumeQuotas +from koyeb.api_async.models.persistent_volume_status import PersistentVolumeStatus +from koyeb.api_async.models.plan import Plan +from koyeb.api_async.models.port import Port +from koyeb.api_async.models.private_registry_configuration import PrivateRegistryConfiguration +from koyeb.api_async.models.project import Project +from koyeb.api_async.models.proxy_port_protocol import ProxyPortProtocol +from koyeb.api_async.models.public_organization import PublicOrganization +from koyeb.api_async.models.public_user import PublicUser +from koyeb.api_async.models.query_logs_reply import QueryLogsReply +from koyeb.api_async.models.query_logs_reply_pagination import QueryLogsReplyPagination +from koyeb.api_async.models.quotas import Quotas +from koyeb.api_async.models.reactivate_organization_reply import ReactivateOrganizationReply +from koyeb.api_async.models.redeem_coupon_request import RedeemCouponRequest +from koyeb.api_async.models.redeploy_reply import RedeployReply +from koyeb.api_async.models.redeploy_request_info import RedeployRequestInfo +from koyeb.api_async.models.region import Region +from koyeb.api_async.models.region_availability import RegionAvailability +from koyeb.api_async.models.region_list_item import RegionListItem +from koyeb.api_async.models.region_usage import RegionUsage +from koyeb.api_async.models.regional_deployment import RegionalDeployment +from koyeb.api_async.models.regional_deployment_definition import RegionalDeploymentDefinition +from koyeb.api_async.models.regional_deployment_definition_type import RegionalDeploymentDefinitionType +from koyeb.api_async.models.regional_deployment_event import RegionalDeploymentEvent +from koyeb.api_async.models.regional_deployment_list_item import RegionalDeploymentListItem +from koyeb.api_async.models.regional_deployment_mesh import RegionalDeploymentMesh +from koyeb.api_async.models.regional_deployment_role import RegionalDeploymentRole +from koyeb.api_async.models.regional_deployment_status import RegionalDeploymentStatus +from koyeb.api_async.models.regional_deployment_volume import RegionalDeploymentVolume +from koyeb.api_async.models.remove_organization_member_reply import RemoveOrganizationMemberReply +from koyeb.api_async.models.resend_organization_invitation_reply import ResendOrganizationInvitationReply +from koyeb.api_async.models.reset_password_request import ResetPasswordRequest +from koyeb.api_async.models.reveal_secret_reply import RevealSecretReply +from koyeb.api_async.models.review_organization_capacity_reply import ReviewOrganizationCapacityReply +from koyeb.api_async.models.review_organization_capacity_request import ReviewOrganizationCapacityRequest +from koyeb.api_async.models.route import Route +from koyeb.api_async.models.sample import Sample +from koyeb.api_async.models.sandbox_metadata import SandboxMetadata +from koyeb.api_async.models.scale_to_zero_quotas import ScaleToZeroQuotas +from koyeb.api_async.models.scaling import Scaling +from koyeb.api_async.models.secret import Secret +from koyeb.api_async.models.secret_type import SecretType +from koyeb.api_async.models.secrets_summary import SecretsSummary +from koyeb.api_async.models.security_policies import SecurityPolicies +from koyeb.api_async.models.service import Service +from koyeb.api_async.models.service_event import ServiceEvent +from koyeb.api_async.models.service_life_cycle import ServiceLifeCycle +from koyeb.api_async.models.service_list_item import ServiceListItem +from koyeb.api_async.models.service_state import ServiceState +from koyeb.api_async.models.service_status import ServiceStatus +from koyeb.api_async.models.service_summary import ServiceSummary +from koyeb.api_async.models.service_type import ServiceType +from koyeb.api_async.models.service_usage import ServiceUsage +from koyeb.api_async.models.snapshot import Snapshot +from koyeb.api_async.models.snapshot_status import SnapshotStatus +from koyeb.api_async.models.snapshot_type import SnapshotType +from koyeb.api_async.models.stream_result_of_exec_command_reply import StreamResultOfExecCommandReply +from koyeb.api_async.models.stream_result_of_log_entry import StreamResultOfLogEntry +from koyeb.api_async.models.subscription import Subscription +from koyeb.api_async.models.subscription_payment_failure import SubscriptionPaymentFailure +from koyeb.api_async.models.subscription_payment_failure_stripe_sdk import SubscriptionPaymentFailureStripeSDK +from koyeb.api_async.models.subscription_status import SubscriptionStatus +from koyeb.api_async.models.tcp_health_check import TCPHealthCheck +from koyeb.api_async.models.token import Token +from koyeb.api_async.models.trigger_deployment_metadata import TriggerDeploymentMetadata +from koyeb.api_async.models.trigger_deployment_metadata_actor_type import TriggerDeploymentMetadataActorType +from koyeb.api_async.models.trigger_deployment_metadata_trigger_type import TriggerDeploymentMetadataTriggerType +from koyeb.api_async.models.trigger_git_deployment_metadata import TriggerGitDeploymentMetadata +from koyeb.api_async.models.trigger_git_deployment_metadata_provider import TriggerGitDeploymentMetadataProvider +from koyeb.api_async.models.update_app import UpdateApp +from koyeb.api_async.models.update_app_reply import UpdateAppReply +from koyeb.api_async.models.update_budget_reply import UpdateBudgetReply +from koyeb.api_async.models.update_budget_request import UpdateBudgetRequest +from koyeb.api_async.models.update_credential_reply import UpdateCredentialReply +from koyeb.api_async.models.update_domain import UpdateDomain +from koyeb.api_async.models.update_domain_reply import UpdateDomainReply +from koyeb.api_async.models.update_organization_default_project_reply import UpdateOrganizationDefaultProjectReply +from koyeb.api_async.models.update_organization_default_project_request import UpdateOrganizationDefaultProjectRequest +from koyeb.api_async.models.update_organization_name_reply import UpdateOrganizationNameReply +from koyeb.api_async.models.update_organization_name_request import UpdateOrganizationNameRequest +from koyeb.api_async.models.update_organization_plan_reply import UpdateOrganizationPlanReply +from koyeb.api_async.models.update_organization_plan_request import UpdateOrganizationPlanRequest +from koyeb.api_async.models.update_organization_reply import UpdateOrganizationReply +from koyeb.api_async.models.update_password_request import UpdatePasswordRequest +from koyeb.api_async.models.update_persistent_volume_reply import UpdatePersistentVolumeReply +from koyeb.api_async.models.update_persistent_volume_request import UpdatePersistentVolumeRequest +from koyeb.api_async.models.update_project_reply import UpdateProjectReply +from koyeb.api_async.models.update_secret_reply import UpdateSecretReply +from koyeb.api_async.models.update_service import UpdateService +from koyeb.api_async.models.update_service_reply import UpdateServiceReply +from koyeb.api_async.models.update_service_scaling_request import UpdateServiceScalingRequest +from koyeb.api_async.models.update_snapshot_reply import UpdateSnapshotReply +from koyeb.api_async.models.update_snapshot_request import UpdateSnapshotRequest +from koyeb.api_async.models.update_user_request_user_update_body import UpdateUserRequestUserUpdateBody +from koyeb.api_async.models.update_user_settings_reply import UpdateUserSettingsReply +from koyeb.api_async.models.update_user_settings_request import UpdateUserSettingsRequest +from koyeb.api_async.models.upsert_signup_qualification_reply import UpsertSignupQualificationReply +from koyeb.api_async.models.upsert_signup_qualification_request import UpsertSignupQualificationRequest +from koyeb.api_async.models.usage import Usage +from koyeb.api_async.models.usage_details import UsageDetails +from koyeb.api_async.models.user import User +from koyeb.api_async.models.user_flags import UserFlags +from koyeb.api_async.models.user_reply import UserReply +from koyeb.api_async.models.user_role_role import UserRoleRole +from koyeb.api_async.models.user_settings import UserSettings +from koyeb.api_async.models.verify_docker_image_reply import VerifyDockerImageReply +from koyeb.api_async.models.verify_docker_image_reply_err_code import VerifyDockerImageReplyErrCode + diff --git a/koyeb/api_async/models/accept_organization_invitation_reply.py b/koyeb/api_async/models/accept_organization_invitation_reply.py new file mode 100644 index 00000000..f5b160f4 --- /dev/null +++ b/koyeb/api_async/models/accept_organization_invitation_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_invitation import OrganizationInvitation +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AcceptOrganizationInvitationReply(BaseModel): + """ + AcceptOrganizationInvitationReply + """ # noqa: E501 + invitation: Optional[OrganizationInvitation] = None + __properties: ClassVar[List[str]] = ["invitation"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AcceptOrganizationInvitationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of invitation + if self.invitation: + _dict['invitation'] = self.invitation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AcceptOrganizationInvitationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "invitation": OrganizationInvitation.from_dict(obj["invitation"]) if obj.get("invitation") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/action.py b/koyeb/api_async/models/action.py new file mode 100644 index 00000000..2c83db3f --- /dev/null +++ b/koyeb/api_async/models/action.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class Action(str, Enum): + """ + Action + """ + + """ + allowed enum values + """ + SIGNIN = 'signin' + SIGNUP = 'signup' + REGISTER = 'register' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of Action from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/activity.py b/koyeb/api_async/models/activity.py new file mode 100644 index 00000000..add77548 --- /dev/null +++ b/koyeb/api_async/models/activity.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.object import Object +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Activity(BaseModel): + """ + Activity + """ # noqa: E501 + id: Optional[StrictStr] = None + actor: Optional[Object] = None + object: Optional[Object] = None + verb: Optional[StrictStr] = None + metadata: Optional[Dict[str, Any]] = None + created_at: Optional[datetime] = None + __properties: ClassVar[List[str]] = ["id", "actor", "object", "verb", "metadata", "created_at"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Activity from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of actor + if self.actor: + _dict['actor'] = self.actor.to_dict() + # override the default output from pydantic by calling `to_dict()` of object + if self.object: + _dict['object'] = self.object.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Activity from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "actor": Object.from_dict(obj["actor"]) if obj.get("actor") is not None else None, + "object": Object.from_dict(obj["object"]) if obj.get("object") is not None else None, + "verb": obj.get("verb"), + "metadata": obj.get("metadata"), + "created_at": obj.get("created_at") + }) + return _obj + + diff --git a/koyeb/api_async/models/activity_list.py b/koyeb/api_async/models/activity_list.py new file mode 100644 index 00000000..916e4307 --- /dev/null +++ b/koyeb/api_async/models/activity_list.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.activity import Activity +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ActivityList(BaseModel): + """ + ActivityList + """ # noqa: E501 + activities: Optional[List[Activity]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["activities", "limit", "offset", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ActivityList from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in activities (list) + _items = [] + if self.activities: + for _item_activities in self.activities: + if _item_activities: + _items.append(_item_activities.to_dict()) + _dict['activities'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ActivityList from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "activities": [Activity.from_dict(_item) for _item in obj["activities"]] if obj.get("activities") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/app.py b/koyeb/api_async/models/app.py new file mode 100644 index 00000000..60b61f80 --- /dev/null +++ b/koyeb/api_async/models/app.py @@ -0,0 +1,130 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.app_life_cycle import AppLifeCycle +from koyeb.api_async.models.app_status import AppStatus +from koyeb.api_async.models.domain import Domain +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class App(BaseModel): + """ + App + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + started_at: Optional[datetime] = None + succeeded_at: Optional[datetime] = None + paused_at: Optional[datetime] = None + resumed_at: Optional[datetime] = None + terminated_at: Optional[datetime] = None + status: Optional[AppStatus] = AppStatus.STARTING + messages: Optional[List[StrictStr]] = None + version: Optional[StrictStr] = None + domains: Optional[List[Domain]] = None + life_cycle: Optional[AppLifeCycle] = None + __properties: ClassVar[List[str]] = ["id", "name", "organization_id", "created_at", "updated_at", "started_at", "succeeded_at", "paused_at", "resumed_at", "terminated_at", "status", "messages", "version", "domains", "life_cycle"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of App from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in domains (list) + _items = [] + if self.domains: + for _item_domains in self.domains: + if _item_domains: + _items.append(_item_domains.to_dict()) + _dict['domains'] = _items + # override the default output from pydantic by calling `to_dict()` of life_cycle + if self.life_cycle: + _dict['life_cycle'] = self.life_cycle.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of App from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "organization_id": obj.get("organization_id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "started_at": obj.get("started_at"), + "succeeded_at": obj.get("succeeded_at"), + "paused_at": obj.get("paused_at"), + "resumed_at": obj.get("resumed_at"), + "terminated_at": obj.get("terminated_at"), + "status": obj.get("status") if obj.get("status") is not None else AppStatus.STARTING, + "messages": obj.get("messages"), + "version": obj.get("version"), + "domains": [Domain.from_dict(_item) for _item in obj["domains"]] if obj.get("domains") is not None else None, + "life_cycle": AppLifeCycle.from_dict(obj["life_cycle"]) if obj.get("life_cycle") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/app_event.py b/koyeb/api_async/models/app_event.py new file mode 100644 index 00000000..3337861a --- /dev/null +++ b/koyeb/api_async/models/app_event.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AppEvent(BaseModel): + """ + AppEvent + """ # noqa: E501 + id: Optional[StrictStr] = None + when: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + type: Optional[StrictStr] = None + message: Optional[StrictStr] = None + metadata: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["id", "when", "organization_id", "app_id", "type", "message", "metadata"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AppEvent from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AppEvent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "when": obj.get("when"), + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "type": obj.get("type"), + "message": obj.get("message"), + "metadata": obj.get("metadata") + }) + return _obj + + diff --git a/koyeb/api_async/models/app_life_cycle.py b/koyeb/api_async/models/app_life_cycle.py new file mode 100644 index 00000000..f5a8b149 --- /dev/null +++ b/koyeb/api_async/models/app_life_cycle.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AppLifeCycle(BaseModel): + """ + AppLifeCycle + """ # noqa: E501 + delete_when_empty: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["delete_when_empty"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AppLifeCycle from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AppLifeCycle from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "delete_when_empty": obj.get("delete_when_empty") + }) + return _obj + + diff --git a/koyeb/api_async/models/app_list_item.py b/koyeb/api_async/models/app_list_item.py new file mode 100644 index 00000000..63ff3d1b --- /dev/null +++ b/koyeb/api_async/models/app_list_item.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.app_status import AppStatus +from koyeb.api_async.models.domain import Domain +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AppListItem(BaseModel): + """ + AppListItem + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + updated_at: Optional[datetime] = None + created_at: Optional[datetime] = None + domains: Optional[List[Domain]] = None + status: Optional[AppStatus] = AppStatus.STARTING + messages: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["id", "name", "organization_id", "updated_at", "created_at", "domains", "status", "messages"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AppListItem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in domains (list) + _items = [] + if self.domains: + for _item_domains in self.domains: + if _item_domains: + _items.append(_item_domains.to_dict()) + _dict['domains'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AppListItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "organization_id": obj.get("organization_id"), + "updated_at": obj.get("updated_at"), + "created_at": obj.get("created_at"), + "domains": [Domain.from_dict(_item) for _item in obj["domains"]] if obj.get("domains") is not None else None, + "status": obj.get("status") if obj.get("status") is not None else AppStatus.STARTING, + "messages": obj.get("messages") + }) + return _obj + + diff --git a/koyeb/api_async/models/app_status.py b/koyeb/api_async/models/app_status.py new file mode 100644 index 00000000..3135ab25 --- /dev/null +++ b/koyeb/api_async/models/app_status.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class AppStatus(str, Enum): + """ + AppStatus + """ + + """ + allowed enum values + """ + STARTING = 'STARTING' + HEALTHY = 'HEALTHY' + DEGRADED = 'DEGRADED' + UNHEALTHY = 'UNHEALTHY' + DELETING = 'DELETING' + DELETED = 'DELETED' + PAUSING = 'PAUSING' + PAUSED = 'PAUSED' + RESUMING = 'RESUMING' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of AppStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/app_usage.py b/koyeb/api_async/models/app_usage.py new file mode 100644 index 00000000..6ad7b4b5 --- /dev/null +++ b/koyeb/api_async/models/app_usage.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.database_usage import DatabaseUsage +from koyeb.api_async.models.service_usage import ServiceUsage +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AppUsage(BaseModel): + """ + AppUsage + """ # noqa: E501 + app_id: Optional[StrictStr] = None + app_name: Optional[StrictStr] = None + services: Optional[List[ServiceUsage]] = None + databases: Optional[List[DatabaseUsage]] = None + __properties: ClassVar[List[str]] = ["app_id", "app_name", "services", "databases"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AppUsage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in services (list) + _items = [] + if self.services: + for _item_services in self.services: + if _item_services: + _items.append(_item_services.to_dict()) + _dict['services'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in databases (list) + _items = [] + if self.databases: + for _item_databases in self.databases: + if _item_databases: + _items.append(_item_databases.to_dict()) + _dict['databases'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AppUsage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "app_id": obj.get("app_id"), + "app_name": obj.get("app_name"), + "services": [ServiceUsage.from_dict(_item) for _item in obj["services"]] if obj.get("services") is not None else None, + "databases": [DatabaseUsage.from_dict(_item) for _item in obj["databases"]] if obj.get("databases") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/apps_summary.py b/koyeb/api_async/models/apps_summary.py new file mode 100644 index 00000000..711af28f --- /dev/null +++ b/koyeb/api_async/models/apps_summary.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AppsSummary(BaseModel): + """ + AppsSummary + """ # noqa: E501 + total: Optional[StrictStr] = None + by_status: Optional[Dict[str, StrictStr]] = None + __properties: ClassVar[List[str]] = ["total", "by_status"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AppsSummary from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AppsSummary from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "total": obj.get("total"), + "by_status": obj.get("by_status") + }) + return _obj + + diff --git a/koyeb/api_async/models/archive.py b/koyeb/api_async/models/archive.py new file mode 100644 index 00000000..0ff4272d --- /dev/null +++ b/koyeb/api_async/models/archive.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Archive(BaseModel): + """ + Archive + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="The archive id, that can be referenced when creating or updating a service.") + organization_id: Optional[StrictStr] = Field(default=None, description="Organization owning the archive.") + upload_url: Optional[StrictStr] = Field(default=None, description="The URL where to upload the archive. This URL is signed and can only be used to upload the archive until `valid_until`.") + size: Optional[StrictStr] = Field(default=None, description="The provisioned space for the archive.") + created_at: Optional[datetime] = Field(default=None, description="Date of creation of the archive.") + deleted_at: Optional[datetime] = Field(default=None, description="This field is automatically set by Koyeb when the archive is garbage collected.") + __properties: ClassVar[List[str]] = ["id", "organization_id", "upload_url", "size", "created_at", "deleted_at"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Archive from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Archive from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "organization_id": obj.get("organization_id"), + "upload_url": obj.get("upload_url"), + "size": obj.get("size"), + "created_at": obj.get("created_at"), + "deleted_at": obj.get("deleted_at") + }) + return _obj + + diff --git a/koyeb/api_async/models/archive_deployment_metadata.py b/koyeb/api_async/models/archive_deployment_metadata.py new file mode 100644 index 00000000..a0e92d47 --- /dev/null +++ b/koyeb/api_async/models/archive_deployment_metadata.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ArchiveDeploymentMetadata(BaseModel): + """ + ArchiveDeploymentMetadata + """ # noqa: E501 + last_provisioned_deployment_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["last_provisioned_deployment_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ArchiveDeploymentMetadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ArchiveDeploymentMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "last_provisioned_deployment_id": obj.get("last_provisioned_deployment_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/archive_source.py b/koyeb/api_async/models/archive_source.py new file mode 100644 index 00000000..44dd2792 --- /dev/null +++ b/koyeb/api_async/models/archive_source.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.buildpack_builder import BuildpackBuilder +from koyeb.api_async.models.docker_builder import DockerBuilder +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ArchiveSource(BaseModel): + """ + ArchiveSource + """ # noqa: E501 + id: Optional[StrictStr] = None + buildpack: Optional[BuildpackBuilder] = None + docker: Optional[DockerBuilder] = None + __properties: ClassVar[List[str]] = ["id", "buildpack", "docker"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ArchiveSource from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of buildpack + if self.buildpack: + _dict['buildpack'] = self.buildpack.to_dict() + # override the default output from pydantic by calling `to_dict()` of docker + if self.docker: + _dict['docker'] = self.docker.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ArchiveSource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "buildpack": BuildpackBuilder.from_dict(obj["buildpack"]) if obj.get("buildpack") is not None else None, + "docker": DockerBuilder.from_dict(obj["docker"]) if obj.get("docker") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/auto_release.py b/koyeb/api_async/models/auto_release.py new file mode 100644 index 00000000..fd7813ca --- /dev/null +++ b/koyeb/api_async/models/auto_release.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.auto_release_group import AutoReleaseGroup +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AutoRelease(BaseModel): + """ + AutoRelease + """ # noqa: E501 + groups: Optional[List[AutoReleaseGroup]] = None + __properties: ClassVar[List[str]] = ["groups"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AutoRelease from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in groups (list) + _items = [] + if self.groups: + for _item_groups in self.groups: + if _item_groups: + _items.append(_item_groups.to_dict()) + _dict['groups'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AutoRelease from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "groups": [AutoReleaseGroup.from_dict(_item) for _item in obj["groups"]] if obj.get("groups") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/auto_release_group.py b/koyeb/api_async/models/auto_release_group.py new file mode 100644 index 00000000..ec0bb0b4 --- /dev/null +++ b/koyeb/api_async/models/auto_release_group.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AutoReleaseGroup(BaseModel): + """ + AutoReleaseGroup + """ # noqa: E501 + name: Optional[StrictStr] = None + repository: Optional[StrictStr] = None + git_ref: Optional[StrictStr] = None + latest_sha: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name", "repository", "git_ref", "latest_sha"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AutoReleaseGroup from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AutoReleaseGroup from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "repository": obj.get("repository"), + "git_ref": obj.get("git_ref"), + "latest_sha": obj.get("latest_sha") + }) + return _obj + + diff --git a/koyeb/api_async/models/autocomplete_reply.py b/koyeb/api_async/models/autocomplete_reply.py new file mode 100644 index 00000000..d43bd098 --- /dev/null +++ b/koyeb/api_async/models/autocomplete_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AutocompleteReply(BaseModel): + """ + AutocompleteReply + """ # noqa: E501 + secrets: Optional[List[StrictStr]] = None + user_env: Optional[List[StrictStr]] = None + system_env: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["secrets", "user_env", "system_env"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AutocompleteReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AutocompleteReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "secrets": obj.get("secrets"), + "user_env": obj.get("user_env"), + "system_env": obj.get("system_env") + }) + return _obj + + diff --git a/koyeb/api_async/models/autocomplete_request.py b/koyeb/api_async/models/autocomplete_request.py new file mode 100644 index 00000000..8a5c303b --- /dev/null +++ b/koyeb/api_async/models/autocomplete_request.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_definition import DeploymentDefinition +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AutocompleteRequest(BaseModel): + """ + AutocompleteRequest + """ # noqa: E501 + definition: Optional[DeploymentDefinition] = None + __properties: ClassVar[List[str]] = ["definition"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AutocompleteRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of definition + if self.definition: + _dict['definition'] = self.definition.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AutocompleteRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "definition": DeploymentDefinition.from_dict(obj["definition"]) if obj.get("definition") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/availability_level.py b/koyeb/api_async/models/availability_level.py new file mode 100644 index 00000000..b3af7346 --- /dev/null +++ b/koyeb/api_async/models/availability_level.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class AvailabilityLevel(str, Enum): + """ + AvailabilityLevel + """ + + """ + allowed enum values + """ + UNKNOWN = 'UNKNOWN' + LOW = 'LOW' + MEDIUM = 'MEDIUM' + HIGH = 'HIGH' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of AvailabilityLevel from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/azure_container_registry_configuration.py b/koyeb/api_async/models/azure_container_registry_configuration.py new file mode 100644 index 00000000..487232a6 --- /dev/null +++ b/koyeb/api_async/models/azure_container_registry_configuration.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class AzureContainerRegistryConfiguration(BaseModel): + """ + AzureContainerRegistryConfiguration + """ # noqa: E501 + registry_name: Optional[StrictStr] = None + username: Optional[StrictStr] = None + password: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["registry_name", "username", "password"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AzureContainerRegistryConfiguration from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AzureContainerRegistryConfiguration from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "registry_name": obj.get("registry_name"), + "username": obj.get("username"), + "password": obj.get("password") + }) + return _obj + + diff --git a/koyeb/api_async/models/basic_auth_policy.py b/koyeb/api_async/models/basic_auth_policy.py new file mode 100644 index 00000000..c280abe2 --- /dev/null +++ b/koyeb/api_async/models/basic_auth_policy.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class BasicAuthPolicy(BaseModel): + """ + BasicAuthPolicy + """ # noqa: E501 + username: Optional[StrictStr] = None + password: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["username", "password"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BasicAuthPolicy from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BasicAuthPolicy from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "username": obj.get("username"), + "password": obj.get("password") + }) + return _obj + + diff --git a/koyeb/api_async/models/budget.py b/koyeb/api_async/models/budget.py new file mode 100644 index 00000000..824506f8 --- /dev/null +++ b/koyeb/api_async/models/budget.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Budget(BaseModel): + """ + Budget + """ # noqa: E501 + amount: Optional[StrictStr] = None + thresholds: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["amount", "thresholds"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Budget from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Budget from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "amount": obj.get("amount"), + "thresholds": obj.get("thresholds") + }) + return _obj + + diff --git a/koyeb/api_async/models/buildpack_builder.py b/koyeb/api_async/models/buildpack_builder.py new file mode 100644 index 00000000..4854af47 --- /dev/null +++ b/koyeb/api_async/models/buildpack_builder.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class BuildpackBuilder(BaseModel): + """ + BuildpackBuilder + """ # noqa: E501 + build_command: Optional[StrictStr] = None + run_command: Optional[StrictStr] = None + privileged: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["build_command", "run_command", "privileged"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BuildpackBuilder from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BuildpackBuilder from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "build_command": obj.get("build_command"), + "run_command": obj.get("run_command"), + "privileged": obj.get("privileged") + }) + return _obj + + diff --git a/koyeb/api_async/models/canny_auth_reply.py b/koyeb/api_async/models/canny_auth_reply.py new file mode 100644 index 00000000..d3c71df3 --- /dev/null +++ b/koyeb/api_async/models/canny_auth_reply.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CannyAuthReply(BaseModel): + """ + CannyAuthReply + """ # noqa: E501 + token: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["token"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CannyAuthReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CannyAuthReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "token": obj.get("token") + }) + return _obj + + diff --git a/koyeb/api_async/models/catalog_gpu_details.py b/koyeb/api_async/models/catalog_gpu_details.py new file mode 100644 index 00000000..4f7a7ad5 --- /dev/null +++ b/koyeb/api_async/models/catalog_gpu_details.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CatalogGPUDetails(BaseModel): + """ + CatalogGPUDetails + """ # noqa: E501 + count: Optional[StrictInt] = None + brand: Optional[StrictStr] = None + memory: Optional[StrictStr] = None + name: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["count", "brand", "memory", "name"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CatalogGPUDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CatalogGPUDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "count": obj.get("count"), + "brand": obj.get("brand"), + "memory": obj.get("memory"), + "name": obj.get("name") + }) + return _obj + + diff --git a/koyeb/api_async/models/catalog_instance.py b/koyeb/api_async/models/catalog_instance.py new file mode 100644 index 00000000..3c00f0e4 --- /dev/null +++ b/koyeb/api_async/models/catalog_instance.py @@ -0,0 +1,128 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from koyeb.api_async.models.catalog_gpu_details import CatalogGPUDetails +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CatalogInstance(BaseModel): + """ + CatalogInstance + """ # noqa: E501 + id: Optional[StrictStr] = None + description: Optional[StrictStr] = None + vcpu: Optional[StrictInt] = Field(default=None, description="The number of cpus. Deprecated. Use vcpu_shares instead.") + memory: Optional[StrictStr] = None + disk: Optional[StrictStr] = None + price_per_second: Optional[StrictStr] = None + price_hourly: Optional[StrictStr] = None + price_monthly: Optional[StrictStr] = None + regions: Optional[List[StrictStr]] = None + status: Optional[StrictStr] = None + require_plan: Optional[List[StrictStr]] = None + vcpu_shares: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The number of vcpu shares reserved for the instance.") + display_name: Optional[StrictStr] = None + aliases: Optional[List[StrictStr]] = None + type: Optional[StrictStr] = None + gpu: Optional[CatalogGPUDetails] = None + service_types: Optional[List[StrictStr]] = None + volumes_enabled: Optional[StrictBool] = None + light_sleep_enabled: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["id", "description", "vcpu", "memory", "disk", "price_per_second", "price_hourly", "price_monthly", "regions", "status", "require_plan", "vcpu_shares", "display_name", "aliases", "type", "gpu", "service_types", "volumes_enabled", "light_sleep_enabled"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CatalogInstance from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of gpu + if self.gpu: + _dict['gpu'] = self.gpu.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CatalogInstance from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "description": obj.get("description"), + "vcpu": obj.get("vcpu"), + "memory": obj.get("memory"), + "disk": obj.get("disk"), + "price_per_second": obj.get("price_per_second"), + "price_hourly": obj.get("price_hourly"), + "price_monthly": obj.get("price_monthly"), + "regions": obj.get("regions"), + "status": obj.get("status"), + "require_plan": obj.get("require_plan"), + "vcpu_shares": obj.get("vcpu_shares"), + "display_name": obj.get("display_name"), + "aliases": obj.get("aliases"), + "type": obj.get("type"), + "gpu": CatalogGPUDetails.from_dict(obj["gpu"]) if obj.get("gpu") is not None else None, + "service_types": obj.get("service_types"), + "volumes_enabled": obj.get("volumes_enabled"), + "light_sleep_enabled": obj.get("light_sleep_enabled") + }) + return _obj + + diff --git a/koyeb/api_async/models/catalog_instance_list_item.py b/koyeb/api_async/models/catalog_instance_list_item.py new file mode 100644 index 00000000..dc43b681 --- /dev/null +++ b/koyeb/api_async/models/catalog_instance_list_item.py @@ -0,0 +1,128 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from koyeb.api_async.models.catalog_gpu_details import CatalogGPUDetails +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CatalogInstanceListItem(BaseModel): + """ + CatalogInstanceListItem + """ # noqa: E501 + id: Optional[StrictStr] = None + description: Optional[StrictStr] = None + vcpu: Optional[StrictInt] = Field(default=None, description="The number of cpus. Deprecated. Use vcpu_shares instead.") + memory: Optional[StrictStr] = None + disk: Optional[StrictStr] = None + price_per_second: Optional[StrictStr] = None + price_hourly: Optional[StrictStr] = None + price_monthly: Optional[StrictStr] = None + regions: Optional[List[StrictStr]] = None + status: Optional[StrictStr] = None + require_plan: Optional[List[StrictStr]] = None + vcpu_shares: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The number of vcpu shares reserved for the instance.") + display_name: Optional[StrictStr] = None + aliases: Optional[List[StrictStr]] = None + type: Optional[StrictStr] = None + gpu: Optional[CatalogGPUDetails] = None + service_types: Optional[List[StrictStr]] = None + volumes_enabled: Optional[StrictBool] = None + light_sleep_enabled: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["id", "description", "vcpu", "memory", "disk", "price_per_second", "price_hourly", "price_monthly", "regions", "status", "require_plan", "vcpu_shares", "display_name", "aliases", "type", "gpu", "service_types", "volumes_enabled", "light_sleep_enabled"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CatalogInstanceListItem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of gpu + if self.gpu: + _dict['gpu'] = self.gpu.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CatalogInstanceListItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "description": obj.get("description"), + "vcpu": obj.get("vcpu"), + "memory": obj.get("memory"), + "disk": obj.get("disk"), + "price_per_second": obj.get("price_per_second"), + "price_hourly": obj.get("price_hourly"), + "price_monthly": obj.get("price_monthly"), + "regions": obj.get("regions"), + "status": obj.get("status"), + "require_plan": obj.get("require_plan"), + "vcpu_shares": obj.get("vcpu_shares"), + "display_name": obj.get("display_name"), + "aliases": obj.get("aliases"), + "type": obj.get("type"), + "gpu": CatalogGPUDetails.from_dict(obj["gpu"]) if obj.get("gpu") is not None else None, + "service_types": obj.get("service_types"), + "volumes_enabled": obj.get("volumes_enabled"), + "light_sleep_enabled": obj.get("light_sleep_enabled") + }) + return _obj + + diff --git a/koyeb/api_async/models/catalog_usage.py b/koyeb/api_async/models/catalog_usage.py new file mode 100644 index 00000000..49f94c01 --- /dev/null +++ b/koyeb/api_async/models/catalog_usage.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.instance_availability import InstanceAvailability +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CatalogUsage(BaseModel): + """ + CatalogUsage + """ # noqa: E501 + instances: Optional[Dict[str, InstanceAvailability]] = None + __properties: ClassVar[List[str]] = ["instances"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CatalogUsage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each value in instances (dict) + _field_dict = {} + if self.instances: + for _key_instances in self.instances: + if self.instances[_key_instances]: + _field_dict[_key_instances] = self.instances[_key_instances].to_dict() + _dict['instances'] = _field_dict + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CatalogUsage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "instances": dict( + (_k, InstanceAvailability.from_dict(_v)) + for _k, _v in obj["instances"].items() + ) + if obj.get("instances") is not None + else None + }) + return _obj + + diff --git a/koyeb/api_async/models/check_coupon_reply.py b/koyeb/api_async/models/check_coupon_reply.py new file mode 100644 index 00000000..2a13bd32 --- /dev/null +++ b/koyeb/api_async/models/check_coupon_reply.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CheckCouponReply(BaseModel): + """ + CheckCouponReply + """ # noqa: E501 + name: Optional[StrictStr] = None + percent_off: Optional[Union[StrictFloat, StrictInt]] = None + amount_off: Optional[StrictStr] = None + currency: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name", "percent_off", "amount_off", "currency"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CheckCouponReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CheckCouponReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "percent_off": obj.get("percent_off"), + "amount_off": obj.get("amount_off"), + "currency": obj.get("currency") + }) + return _obj + + diff --git a/koyeb/api_async/models/clear_idenfy_verification_result_request.py b/koyeb/api_async/models/clear_idenfy_verification_result_request.py new file mode 100644 index 00000000..ebf9fd32 --- /dev/null +++ b/koyeb/api_async/models/clear_idenfy_verification_result_request.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ClearIdenfyVerificationResultRequest(BaseModel): + """ + ClearIdenfyVerificationResultRequest + """ # noqa: E501 + user_id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["user_id", "organization_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ClearIdenfyVerificationResultRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ClearIdenfyVerificationResultRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user_id": obj.get("user_id"), + "organization_id": obj.get("organization_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/compose_reply.py b/koyeb/api_async/models/compose_reply.py new file mode 100644 index 00000000..c70d6f1d --- /dev/null +++ b/koyeb/api_async/models/compose_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.app import App +from koyeb.api_async.models.service import Service +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ComposeReply(BaseModel): + """ + ComposeReply + """ # noqa: E501 + app: Optional[App] = None + services: Optional[List[Service]] = None + __properties: ClassVar[List[str]] = ["app", "services"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ComposeReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of app + if self.app: + _dict['app'] = self.app.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in services (list) + _items = [] + if self.services: + for _item_services in self.services: + if _item_services: + _items.append(_item_services.to_dict()) + _dict['services'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ComposeReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "app": App.from_dict(obj["app"]) if obj.get("app") is not None else None, + "services": [Service.from_dict(_item) for _item in obj["services"]] if obj.get("services") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/config_file.py b/koyeb/api_async/models/config_file.py new file mode 100644 index 00000000..b8e444e5 --- /dev/null +++ b/koyeb/api_async/models/config_file.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ConfigFile(BaseModel): + """ + ConfigFile + """ # noqa: E501 + path: Optional[StrictStr] = None + permissions: Optional[StrictStr] = None + content: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["path", "permissions", "content"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConfigFile from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConfigFile from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "path": obj.get("path"), + "permissions": obj.get("permissions"), + "content": obj.get("content") + }) + return _obj + + diff --git a/koyeb/api_async/models/confirm_payment_authorization_reply.py b/koyeb/api_async/models/confirm_payment_authorization_reply.py new file mode 100644 index 00000000..3dd0b186 --- /dev/null +++ b/koyeb/api_async/models/confirm_payment_authorization_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.payment_method import PaymentMethod +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ConfirmPaymentAuthorizationReply(BaseModel): + """ + ConfirmPaymentAuthorizationReply + """ # noqa: E501 + payment_method: Optional[PaymentMethod] = None + __properties: ClassVar[List[str]] = ["payment_method"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ConfirmPaymentAuthorizationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of payment_method + if self.payment_method: + _dict['payment_method'] = self.payment_method.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConfirmPaymentAuthorizationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "payment_method": PaymentMethod.from_dict(obj["payment_method"]) if obj.get("payment_method") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_access_token_reply.py b/koyeb/api_async/models/create_access_token_reply.py new file mode 100644 index 00000000..23a91db2 --- /dev/null +++ b/koyeb/api_async/models/create_access_token_reply.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateAccessTokenReply(BaseModel): + """ + CreateAccessTokenReply + """ # noqa: E501 + token: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["token"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateAccessTokenReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateAccessTokenReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "token": obj.get("token") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_access_token_request.py b/koyeb/api_async/models/create_access_token_request.py new file mode 100644 index 00000000..fa9b6d85 --- /dev/null +++ b/koyeb/api_async/models/create_access_token_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateAccessTokenRequest(BaseModel): + """ + CreateAccessTokenRequest + """ # noqa: E501 + validity: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["validity"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateAccessTokenRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateAccessTokenRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "validity": obj.get("validity") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_account_request.py b/koyeb/api_async/models/create_account_request.py new file mode 100644 index 00000000..a076eec5 --- /dev/null +++ b/koyeb/api_async/models/create_account_request.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateAccountRequest(BaseModel): + """ + Create new account + """ # noqa: E501 + email: StrictStr + password: StrictStr + name: Optional[StrictStr] = None + captcha: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["email", "password", "name", "captcha"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateAccountRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateAccountRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "email": obj.get("email"), + "password": obj.get("password"), + "name": obj.get("name"), + "captcha": obj.get("captcha") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_app.py b/koyeb/api_async/models/create_app.py new file mode 100644 index 00000000..b1fd6d7c --- /dev/null +++ b/koyeb/api_async/models/create_app.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.app_life_cycle import AppLifeCycle +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateApp(BaseModel): + """ + CreateApp + """ # noqa: E501 + name: Optional[StrictStr] = None + life_cycle: Optional[AppLifeCycle] = None + project_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name", "life_cycle", "project_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateApp from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of life_cycle + if self.life_cycle: + _dict['life_cycle'] = self.life_cycle.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateApp from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "life_cycle": AppLifeCycle.from_dict(obj["life_cycle"]) if obj.get("life_cycle") is not None else None, + "project_id": obj.get("project_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_app_reply.py b/koyeb/api_async/models/create_app_reply.py new file mode 100644 index 00000000..f29d82d5 --- /dev/null +++ b/koyeb/api_async/models/create_app_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.app import App +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateAppReply(BaseModel): + """ + CreateAppReply + """ # noqa: E501 + app: Optional[App] = None + __properties: ClassVar[List[str]] = ["app"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateAppReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of app + if self.app: + _dict['app'] = self.app.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateAppReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "app": App.from_dict(obj["app"]) if obj.get("app") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_archive.py b/koyeb/api_async/models/create_archive.py new file mode 100644 index 00000000..44fa0430 --- /dev/null +++ b/koyeb/api_async/models/create_archive.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateArchive(BaseModel): + """ + CreateArchive + """ # noqa: E501 + size: Optional[StrictStr] = Field(default=None, description="How much space to provision for the archive, in bytes.") + project_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["size", "project_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateArchive from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateArchive from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "size": obj.get("size"), + "project_id": obj.get("project_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_archive_reply.py b/koyeb/api_async/models/create_archive_reply.py new file mode 100644 index 00000000..19cad8ca --- /dev/null +++ b/koyeb/api_async/models/create_archive_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.archive import Archive +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateArchiveReply(BaseModel): + """ + CreateArchiveReply + """ # noqa: E501 + archive: Optional[Archive] = None + __properties: ClassVar[List[str]] = ["archive"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateArchiveReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of archive + if self.archive: + _dict['archive'] = self.archive.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateArchiveReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "archive": Archive.from_dict(obj["archive"]) if obj.get("archive") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_budget_reply.py b/koyeb/api_async/models/create_budget_reply.py new file mode 100644 index 00000000..2c91b2f3 --- /dev/null +++ b/koyeb/api_async/models/create_budget_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.budget import Budget +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateBudgetReply(BaseModel): + """ + CreateBudgetReply + """ # noqa: E501 + budget: Optional[Budget] = None + __properties: ClassVar[List[str]] = ["budget"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateBudgetReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of budget + if self.budget: + _dict['budget'] = self.budget.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateBudgetReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "budget": Budget.from_dict(obj["budget"]) if obj.get("budget") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_compose.py b/koyeb/api_async/models/create_compose.py new file mode 100644 index 00000000..9fc73e6b --- /dev/null +++ b/koyeb/api_async/models/create_compose.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.create_app import CreateApp +from koyeb.api_async.models.create_service import CreateService +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateCompose(BaseModel): + """ + CreateCompose + """ # noqa: E501 + app: Optional[CreateApp] = None + services: Optional[List[CreateService]] = None + __properties: ClassVar[List[str]] = ["app", "services"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateCompose from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of app + if self.app: + _dict['app'] = self.app.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in services (list) + _items = [] + if self.services: + for _item_services in self.services: + if _item_services: + _items.append(_item_services.to_dict()) + _dict['services'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateCompose from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "app": CreateApp.from_dict(obj["app"]) if obj.get("app") is not None else None, + "services": [CreateService.from_dict(_item) for _item in obj["services"]] if obj.get("services") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_credential.py b/koyeb/api_async/models/create_credential.py new file mode 100644 index 00000000..fb219900 --- /dev/null +++ b/koyeb/api_async/models/create_credential.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.credential_type import CredentialType +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateCredential(BaseModel): + """ + CreateCredential + """ # noqa: E501 + name: Optional[StrictStr] = None + description: Optional[StrictStr] = None + type: Optional[CredentialType] = CredentialType.INVALID + organization_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name", "description", "type", "organization_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateCredential from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateCredential from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "description": obj.get("description"), + "type": obj.get("type") if obj.get("type") is not None else CredentialType.INVALID, + "organization_id": obj.get("organization_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_credential_reply.py b/koyeb/api_async/models/create_credential_reply.py new file mode 100644 index 00000000..a3f8b15e --- /dev/null +++ b/koyeb/api_async/models/create_credential_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.credential import Credential +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateCredentialReply(BaseModel): + """ + CreateCredentialReply + """ # noqa: E501 + credential: Optional[Credential] = None + __properties: ClassVar[List[str]] = ["credential"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateCredentialReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of credential + if self.credential: + _dict['credential'] = self.credential.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateCredentialReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "credential": Credential.from_dict(obj["credential"]) if obj.get("credential") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_domain.py b/koyeb/api_async/models/create_domain.py new file mode 100644 index 00000000..6b24942a --- /dev/null +++ b/koyeb/api_async/models/create_domain.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.domain_load_balancer_koyeb import DomainLoadBalancerKoyeb +from koyeb.api_async.models.domain_type import DomainType +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateDomain(BaseModel): + """ + CreateDomain + """ # noqa: E501 + name: Optional[StrictStr] = None + type: Optional[DomainType] = DomainType.AUTOASSIGNED + app_id: Optional[StrictStr] = None + cloudflare: Optional[Dict[str, Any]] = None + koyeb: Optional[DomainLoadBalancerKoyeb] = None + project_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name", "type", "app_id", "cloudflare", "koyeb", "project_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateDomain from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of koyeb + if self.koyeb: + _dict['koyeb'] = self.koyeb.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateDomain from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "type": obj.get("type") if obj.get("type") is not None else DomainType.AUTOASSIGNED, + "app_id": obj.get("app_id"), + "cloudflare": obj.get("cloudflare"), + "koyeb": DomainLoadBalancerKoyeb.from_dict(obj["koyeb"]) if obj.get("koyeb") is not None else None, + "project_id": obj.get("project_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_domain_reply.py b/koyeb/api_async/models/create_domain_reply.py new file mode 100644 index 00000000..ec608d44 --- /dev/null +++ b/koyeb/api_async/models/create_domain_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.domain import Domain +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateDomainReply(BaseModel): + """ + CreateDomainReply + """ # noqa: E501 + domain: Optional[Domain] = None + __properties: ClassVar[List[str]] = ["domain"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateDomainReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of domain + if self.domain: + _dict['domain'] = self.domain.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateDomainReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "domain": Domain.from_dict(obj["domain"]) if obj.get("domain") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_organization_invitation_reply.py b/koyeb/api_async/models/create_organization_invitation_reply.py new file mode 100644 index 00000000..ea45a077 --- /dev/null +++ b/koyeb/api_async/models/create_organization_invitation_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_invitation import OrganizationInvitation +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateOrganizationInvitationReply(BaseModel): + """ + CreateOrganizationInvitationReply + """ # noqa: E501 + invitation: Optional[OrganizationInvitation] = None + __properties: ClassVar[List[str]] = ["invitation"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateOrganizationInvitationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of invitation + if self.invitation: + _dict['invitation'] = self.invitation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateOrganizationInvitationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "invitation": OrganizationInvitation.from_dict(obj["invitation"]) if obj.get("invitation") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_organization_invitation_request.py b/koyeb/api_async/models/create_organization_invitation_request.py new file mode 100644 index 00000000..39fb4c12 --- /dev/null +++ b/koyeb/api_async/models/create_organization_invitation_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateOrganizationInvitationRequest(BaseModel): + """ + CreateOrganizationInvitationRequest + """ # noqa: E501 + email: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["email"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateOrganizationInvitationRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateOrganizationInvitationRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "email": obj.get("email") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_organization_reply.py b/koyeb/api_async/models/create_organization_reply.py new file mode 100644 index 00000000..1356c127 --- /dev/null +++ b/koyeb/api_async/models/create_organization_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateOrganizationReply(BaseModel): + """ + CreateOrganizationReply + """ # noqa: E501 + organization: Optional[Organization] = None + __properties: ClassVar[List[str]] = ["organization"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateOrganizationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateOrganizationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization": Organization.from_dict(obj["organization"]) if obj.get("organization") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_organization_request.py b/koyeb/api_async/models/create_organization_request.py new file mode 100644 index 00000000..0714ddbb --- /dev/null +++ b/koyeb/api_async/models/create_organization_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateOrganizationRequest(BaseModel): + """ + CreateOrganizationRequest + """ # noqa: E501 + name: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateOrganizationRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateOrganizationRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_payment_authorization_reply.py b/koyeb/api_async/models/create_payment_authorization_reply.py new file mode 100644 index 00000000..b4cdc727 --- /dev/null +++ b/koyeb/api_async/models/create_payment_authorization_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.payment_method import PaymentMethod +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreatePaymentAuthorizationReply(BaseModel): + """ + CreatePaymentAuthorizationReply + """ # noqa: E501 + payment_method: Optional[PaymentMethod] = None + __properties: ClassVar[List[str]] = ["payment_method"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreatePaymentAuthorizationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of payment_method + if self.payment_method: + _dict['payment_method'] = self.payment_method.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreatePaymentAuthorizationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "payment_method": PaymentMethod.from_dict(obj["payment_method"]) if obj.get("payment_method") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_persistent_volume_reply.py b/koyeb/api_async/models/create_persistent_volume_reply.py new file mode 100644 index 00000000..e6a36b9f --- /dev/null +++ b/koyeb/api_async/models/create_persistent_volume_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.persistent_volume import PersistentVolume +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreatePersistentVolumeReply(BaseModel): + """ + CreatePersistentVolumeReply + """ # noqa: E501 + volume: Optional[PersistentVolume] = None + __properties: ClassVar[List[str]] = ["volume"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreatePersistentVolumeReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of volume + if self.volume: + _dict['volume'] = self.volume.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreatePersistentVolumeReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "volume": PersistentVolume.from_dict(obj["volume"]) if obj.get("volume") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_persistent_volume_request.py b/koyeb/api_async/models/create_persistent_volume_request.py new file mode 100644 index 00000000..6ef9358d --- /dev/null +++ b/koyeb/api_async/models/create_persistent_volume_request.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.persistent_volume_backing_store import PersistentVolumeBackingStore +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreatePersistentVolumeRequest(BaseModel): + """ + CreatePersistentVolumeRequest + """ # noqa: E501 + volume_type: Optional[PersistentVolumeBackingStore] = PersistentVolumeBackingStore.PERSISTENT_VOLUME_BACKING_STORE_INVALID + name: Optional[StrictStr] = None + region: Optional[StrictStr] = None + read_only: Optional[StrictBool] = None + max_size: Optional[StrictInt] = None + snapshot_id: Optional[StrictStr] = None + project_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["volume_type", "name", "region", "read_only", "max_size", "snapshot_id", "project_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreatePersistentVolumeRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreatePersistentVolumeRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "volume_type": obj.get("volume_type") if obj.get("volume_type") is not None else PersistentVolumeBackingStore.PERSISTENT_VOLUME_BACKING_STORE_INVALID, + "name": obj.get("name"), + "region": obj.get("region"), + "read_only": obj.get("read_only"), + "max_size": obj.get("max_size"), + "snapshot_id": obj.get("snapshot_id"), + "project_id": obj.get("project_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_project.py b/koyeb/api_async/models/create_project.py new file mode 100644 index 00000000..28484cb9 --- /dev/null +++ b/koyeb/api_async/models/create_project.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateProject(BaseModel): + """ + CreateProject + """ # noqa: E501 + name: Optional[StrictStr] = None + description: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name", "description"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateProject from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateProject from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "description": obj.get("description") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_project_reply.py b/koyeb/api_async/models/create_project_reply.py new file mode 100644 index 00000000..46943a52 --- /dev/null +++ b/koyeb/api_async/models/create_project_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.project import Project +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateProjectReply(BaseModel): + """ + CreateProjectReply + """ # noqa: E501 + project: Optional[Project] = None + __properties: ClassVar[List[str]] = ["project"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateProjectReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateProjectReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_secret.py b/koyeb/api_async/models/create_secret.py new file mode 100644 index 00000000..468f469c --- /dev/null +++ b/koyeb/api_async/models/create_secret.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.azure_container_registry_configuration import AzureContainerRegistryConfiguration +from koyeb.api_async.models.digital_ocean_registry_configuration import DigitalOceanRegistryConfiguration +from koyeb.api_async.models.docker_hub_registry_configuration import DockerHubRegistryConfiguration +from koyeb.api_async.models.gcp_container_registry_configuration import GCPContainerRegistryConfiguration +from koyeb.api_async.models.git_hub_registry_configuration import GitHubRegistryConfiguration +from koyeb.api_async.models.git_lab_registry_configuration import GitLabRegistryConfiguration +from koyeb.api_async.models.private_registry_configuration import PrivateRegistryConfiguration +from koyeb.api_async.models.secret_type import SecretType +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateSecret(BaseModel): + """ + CreateSecret + """ # noqa: E501 + name: Optional[StrictStr] = None + type: Optional[SecretType] = SecretType.SIMPLE + value: Optional[StrictStr] = None + docker_hub_registry: Optional[DockerHubRegistryConfiguration] = None + private_registry: Optional[PrivateRegistryConfiguration] = None + digital_ocean_registry: Optional[DigitalOceanRegistryConfiguration] = None + github_registry: Optional[GitHubRegistryConfiguration] = None + gitlab_registry: Optional[GitLabRegistryConfiguration] = None + gcp_container_registry: Optional[GCPContainerRegistryConfiguration] = None + azure_container_registry: Optional[AzureContainerRegistryConfiguration] = None + project_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name", "type", "value", "docker_hub_registry", "private_registry", "digital_ocean_registry", "github_registry", "gitlab_registry", "gcp_container_registry", "azure_container_registry", "project_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateSecret from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of docker_hub_registry + if self.docker_hub_registry: + _dict['docker_hub_registry'] = self.docker_hub_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of private_registry + if self.private_registry: + _dict['private_registry'] = self.private_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of digital_ocean_registry + if self.digital_ocean_registry: + _dict['digital_ocean_registry'] = self.digital_ocean_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of github_registry + if self.github_registry: + _dict['github_registry'] = self.github_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of gitlab_registry + if self.gitlab_registry: + _dict['gitlab_registry'] = self.gitlab_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of gcp_container_registry + if self.gcp_container_registry: + _dict['gcp_container_registry'] = self.gcp_container_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of azure_container_registry + if self.azure_container_registry: + _dict['azure_container_registry'] = self.azure_container_registry.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateSecret from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "type": obj.get("type") if obj.get("type") is not None else SecretType.SIMPLE, + "value": obj.get("value"), + "docker_hub_registry": DockerHubRegistryConfiguration.from_dict(obj["docker_hub_registry"]) if obj.get("docker_hub_registry") is not None else None, + "private_registry": PrivateRegistryConfiguration.from_dict(obj["private_registry"]) if obj.get("private_registry") is not None else None, + "digital_ocean_registry": DigitalOceanRegistryConfiguration.from_dict(obj["digital_ocean_registry"]) if obj.get("digital_ocean_registry") is not None else None, + "github_registry": GitHubRegistryConfiguration.from_dict(obj["github_registry"]) if obj.get("github_registry") is not None else None, + "gitlab_registry": GitLabRegistryConfiguration.from_dict(obj["gitlab_registry"]) if obj.get("gitlab_registry") is not None else None, + "gcp_container_registry": GCPContainerRegistryConfiguration.from_dict(obj["gcp_container_registry"]) if obj.get("gcp_container_registry") is not None else None, + "azure_container_registry": AzureContainerRegistryConfiguration.from_dict(obj["azure_container_registry"]) if obj.get("azure_container_registry") is not None else None, + "project_id": obj.get("project_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_secret_reply.py b/koyeb/api_async/models/create_secret_reply.py new file mode 100644 index 00000000..55a19d4f --- /dev/null +++ b/koyeb/api_async/models/create_secret_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.secret import Secret +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateSecretReply(BaseModel): + """ + CreateSecretReply + """ # noqa: E501 + secret: Optional[Secret] = None + __properties: ClassVar[List[str]] = ["secret"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateSecretReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of secret + if self.secret: + _dict['secret'] = self.secret.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateSecretReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "secret": Secret.from_dict(obj["secret"]) if obj.get("secret") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_service.py b/koyeb/api_async/models/create_service.py new file mode 100644 index 00000000..ed9b3ae7 --- /dev/null +++ b/koyeb/api_async/models/create_service.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_definition import DeploymentDefinition +from koyeb.api_async.models.service_life_cycle import ServiceLifeCycle +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateService(BaseModel): + """ + CreateService + """ # noqa: E501 + app_id: Optional[StrictStr] = None + definition: Optional[DeploymentDefinition] = None + life_cycle: Optional[ServiceLifeCycle] = None + project_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["app_id", "definition", "life_cycle", "project_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateService from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of definition + if self.definition: + _dict['definition'] = self.definition.to_dict() + # override the default output from pydantic by calling `to_dict()` of life_cycle + if self.life_cycle: + _dict['life_cycle'] = self.life_cycle.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateService from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "app_id": obj.get("app_id"), + "definition": DeploymentDefinition.from_dict(obj["definition"]) if obj.get("definition") is not None else None, + "life_cycle": ServiceLifeCycle.from_dict(obj["life_cycle"]) if obj.get("life_cycle") is not None else None, + "project_id": obj.get("project_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_service_reply.py b/koyeb/api_async/models/create_service_reply.py new file mode 100644 index 00000000..36b299f6 --- /dev/null +++ b/koyeb/api_async/models/create_service_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.service import Service +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateServiceReply(BaseModel): + """ + CreateServiceReply + """ # noqa: E501 + service: Optional[Service] = None + __properties: ClassVar[List[str]] = ["service"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateServiceReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of service + if self.service: + _dict['service'] = self.service.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateServiceReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "service": Service.from_dict(obj["service"]) if obj.get("service") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_snapshot_reply.py b/koyeb/api_async/models/create_snapshot_reply.py new file mode 100644 index 00000000..1862f214 --- /dev/null +++ b/koyeb/api_async/models/create_snapshot_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.snapshot import Snapshot +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateSnapshotReply(BaseModel): + """ + CreateSnapshotReply + """ # noqa: E501 + snapshot: Optional[Snapshot] = None + __properties: ClassVar[List[str]] = ["snapshot"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateSnapshotReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of snapshot + if self.snapshot: + _dict['snapshot'] = self.snapshot.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateSnapshotReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "snapshot": Snapshot.from_dict(obj["snapshot"]) if obj.get("snapshot") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/create_snapshot_request.py b/koyeb/api_async/models/create_snapshot_request.py new file mode 100644 index 00000000..8c29a0ce --- /dev/null +++ b/koyeb/api_async/models/create_snapshot_request.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateSnapshotRequest(BaseModel): + """ + CreateSnapshotRequest + """ # noqa: E501 + parent_volume_id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + project_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["parent_volume_id", "name", "project_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateSnapshotRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateSnapshotRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "parent_volume_id": obj.get("parent_volume_id"), + "name": obj.get("name"), + "project_id": obj.get("project_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/create_stage_attempt_request.py b/koyeb/api_async/models/create_stage_attempt_request.py new file mode 100644 index 00000000..d39ab662 --- /dev/null +++ b/koyeb/api_async/models/create_stage_attempt_request.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_provisioning_info_stage_status import DeploymentProvisioningInfoStageStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class CreateStageAttemptRequest(BaseModel): + """ + CreateStageAttemptRequest + """ # noqa: E501 + secret: Optional[StrictStr] = None + status: Optional[DeploymentProvisioningInfoStageStatus] = DeploymentProvisioningInfoStageStatus.UNKNOWN + started_at: Optional[datetime] = None + messages: Optional[List[StrictStr]] = None + steps: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["secret", "status", "started_at", "messages", "steps"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CreateStageAttemptRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CreateStageAttemptRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "secret": obj.get("secret"), + "status": obj.get("status") if obj.get("status") is not None else DeploymentProvisioningInfoStageStatus.UNKNOWN, + "started_at": obj.get("started_at"), + "messages": obj.get("messages"), + "steps": obj.get("steps") + }) + return _obj + + diff --git a/koyeb/api_async/models/credential.py b/koyeb/api_async/models/credential.py new file mode 100644 index 00000000..38e85eb0 --- /dev/null +++ b/koyeb/api_async/models/credential.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.credential_type import CredentialType +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Credential(BaseModel): + """ + Credential + """ # noqa: E501 + id: Optional[StrictStr] = None + type: Optional[CredentialType] = CredentialType.INVALID + name: Optional[StrictStr] = None + token: Optional[StrictStr] = None + description: Optional[StrictStr] = None + user_id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + updated_at: Optional[datetime] = None + created_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + __properties: ClassVar[List[str]] = ["id", "type", "name", "token", "description", "user_id", "organization_id", "updated_at", "created_at", "expires_at"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Credential from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Credential from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "type": obj.get("type") if obj.get("type") is not None else CredentialType.INVALID, + "name": obj.get("name"), + "token": obj.get("token"), + "description": obj.get("description"), + "user_id": obj.get("user_id"), + "organization_id": obj.get("organization_id"), + "updated_at": obj.get("updated_at"), + "created_at": obj.get("created_at"), + "expires_at": obj.get("expires_at") + }) + return _obj + + diff --git a/koyeb/api_async/models/credential_type.py b/koyeb/api_async/models/credential_type.py new file mode 100644 index 00000000..bf4708ee --- /dev/null +++ b/koyeb/api_async/models/credential_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class CredentialType(str, Enum): + """ + CredentialType + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + USER = 'USER' + ORGANIZATION = 'ORGANIZATION' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CredentialType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/database_deployment_metadata.py b/koyeb/api_async/models/database_deployment_metadata.py new file mode 100644 index 00000000..e0a44654 --- /dev/null +++ b/koyeb/api_async/models/database_deployment_metadata.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.neon_postgres_database_deployment_metadata import NeonPostgresDatabaseDeploymentMetadata +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DatabaseDeploymentMetadata(BaseModel): + """ + DatabaseDeploymentMetadata + """ # noqa: E501 + neon_postgres: Optional[NeonPostgresDatabaseDeploymentMetadata] = None + __properties: ClassVar[List[str]] = ["neon_postgres"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DatabaseDeploymentMetadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of neon_postgres + if self.neon_postgres: + _dict['neon_postgres'] = self.neon_postgres.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DatabaseDeploymentMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "neon_postgres": NeonPostgresDatabaseDeploymentMetadata.from_dict(obj["neon_postgres"]) if obj.get("neon_postgres") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/database_role_password.py b/koyeb/api_async/models/database_role_password.py new file mode 100644 index 00000000..c405a183 --- /dev/null +++ b/koyeb/api_async/models/database_role_password.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DatabaseRolePassword(BaseModel): + """ + DatabaseRolePassword + """ # noqa: E501 + username: Optional[StrictStr] = None + password: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["username", "password"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DatabaseRolePassword from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DatabaseRolePassword from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "username": obj.get("username"), + "password": obj.get("password") + }) + return _obj + + diff --git a/koyeb/api_async/models/database_source.py b/koyeb/api_async/models/database_source.py new file mode 100644 index 00000000..0a93b775 --- /dev/null +++ b/koyeb/api_async/models/database_source.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.neon_postgres_database import NeonPostgresDatabase +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DatabaseSource(BaseModel): + """ + DatabaseSource + """ # noqa: E501 + neon_postgres: Optional[NeonPostgresDatabase] = None + __properties: ClassVar[List[str]] = ["neon_postgres"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DatabaseSource from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of neon_postgres + if self.neon_postgres: + _dict['neon_postgres'] = self.neon_postgres.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DatabaseSource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "neon_postgres": NeonPostgresDatabase.from_dict(obj["neon_postgres"]) if obj.get("neon_postgres") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/database_usage.py b/koyeb/api_async/models/database_usage.py new file mode 100644 index 00000000..7343bf59 --- /dev/null +++ b/koyeb/api_async/models/database_usage.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DatabaseUsage(BaseModel): + """ + DatabaseUsage + """ # noqa: E501 + service_id: Optional[StrictStr] = None + service_name: Optional[StrictStr] = None + compute_time_seconds: Optional[StrictInt] = None + data_storage_megabytes_hours: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["service_id", "service_name", "compute_time_seconds", "data_storage_megabytes_hours"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DatabaseUsage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DatabaseUsage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "service_id": obj.get("service_id"), + "service_name": obj.get("service_name"), + "compute_time_seconds": obj.get("compute_time_seconds"), + "data_storage_megabytes_hours": obj.get("data_storage_megabytes_hours") + }) + return _obj + + diff --git a/koyeb/api_async/models/database_usage_details.py b/koyeb/api_async/models/database_usage_details.py new file mode 100644 index 00000000..96eb3fcd --- /dev/null +++ b/koyeb/api_async/models/database_usage_details.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DatabaseUsageDetails(BaseModel): + """ + DatabaseUsageDetails + """ # noqa: E501 + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + app_name: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + service_name: Optional[StrictStr] = None + compute_time_seconds: Optional[StrictInt] = None + data_storage_megabytes_hour: Optional[StrictInt] = None + started_at: Optional[datetime] = None + terminated_at: Optional[datetime] = None + __properties: ClassVar[List[str]] = ["organization_id", "app_id", "app_name", "service_id", "service_name", "compute_time_seconds", "data_storage_megabytes_hour", "started_at", "terminated_at"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DatabaseUsageDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DatabaseUsageDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "app_name": obj.get("app_name"), + "service_id": obj.get("service_id"), + "service_name": obj.get("service_name"), + "compute_time_seconds": obj.get("compute_time_seconds"), + "data_storage_megabytes_hour": obj.get("data_storage_megabytes_hour"), + "started_at": obj.get("started_at"), + "terminated_at": obj.get("terminated_at") + }) + return _obj + + diff --git a/koyeb/api_async/models/datacenter_list_item.py b/koyeb/api_async/models/datacenter_list_item.py new file mode 100644 index 00000000..f9806cc1 --- /dev/null +++ b/koyeb/api_async/models/datacenter_list_item.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DatacenterListItem(BaseModel): + """ + DatacenterListItem + """ # noqa: E501 + id: Optional[StrictStr] = None + region_id: Optional[StrictStr] = None + domain: Optional[StrictStr] = None + coordinates: Optional[List[StrictStr]] = None + use_gpu: Optional[StrictBool] = None + regions: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["id", "region_id", "domain", "coordinates", "use_gpu", "regions"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DatacenterListItem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DatacenterListItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "region_id": obj.get("region_id"), + "domain": obj.get("domain"), + "coordinates": obj.get("coordinates"), + "use_gpu": obj.get("use_gpu"), + "regions": obj.get("regions") + }) + return _obj + + diff --git a/koyeb/api_async/models/deactivate_organization_reply.py b/koyeb/api_async/models/deactivate_organization_reply.py new file mode 100644 index 00000000..527d1f88 --- /dev/null +++ b/koyeb/api_async/models/deactivate_organization_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeactivateOrganizationReply(BaseModel): + """ + DeactivateOrganizationReply + """ # noqa: E501 + organization: Optional[Organization] = None + __properties: ClassVar[List[str]] = ["organization"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeactivateOrganizationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeactivateOrganizationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization": Organization.from_dict(obj["organization"]) if obj.get("organization") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deactivate_organization_request.py b/koyeb/api_async/models/deactivate_organization_request.py new file mode 100644 index 00000000..74cd5765 --- /dev/null +++ b/koyeb/api_async/models/deactivate_organization_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeactivateOrganizationRequest(BaseModel): + """ + DeactivateOrganizationRequest + """ # noqa: E501 + skip_confirmation: Optional[StrictBool] = Field(default=None, description="if set to true, skip_confirmation will directly start the deactivation process, without sending a confirmation email beforehand.") + __properties: ClassVar[List[str]] = ["skip_confirmation"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeactivateOrganizationRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeactivateOrganizationRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "skip_confirmation": obj.get("skip_confirmation") + }) + return _obj + + diff --git a/koyeb/api_async/models/declare_stage_progress_request.py b/koyeb/api_async/models/declare_stage_progress_request.py new file mode 100644 index 00000000..1726a7e5 --- /dev/null +++ b/koyeb/api_async/models/declare_stage_progress_request.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_provisioning_info_stage_status import DeploymentProvisioningInfoStageStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeclareStageProgressRequest(BaseModel): + """ + DeclareStageProgressRequest + """ # noqa: E501 + secret: Optional[StrictStr] = None + status: Optional[DeploymentProvisioningInfoStageStatus] = DeploymentProvisioningInfoStageStatus.UNKNOWN + finished_at: Optional[datetime] = None + messages: Optional[List[StrictStr]] = None + image_pushed: Optional[StrictBool] = None + internal_failure: Optional[StrictBool] = None + retryable_failure: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["secret", "status", "finished_at", "messages", "image_pushed", "internal_failure", "retryable_failure"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeclareStageProgressRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeclareStageProgressRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "secret": obj.get("secret"), + "status": obj.get("status") if obj.get("status") is not None else DeploymentProvisioningInfoStageStatus.UNKNOWN, + "finished_at": obj.get("finished_at"), + "messages": obj.get("messages"), + "image_pushed": obj.get("image_pushed"), + "internal_failure": obj.get("internal_failure"), + "retryable_failure": obj.get("retryable_failure") + }) + return _obj + + diff --git a/koyeb/api_async/models/declare_step_progress_request.py b/koyeb/api_async/models/declare_step_progress_request.py new file mode 100644 index 00000000..b05fd36e --- /dev/null +++ b/koyeb/api_async/models/declare_step_progress_request.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_provisioning_info_stage_status import DeploymentProvisioningInfoStageStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeclareStepProgressRequest(BaseModel): + """ + DeclareStepProgressRequest + """ # noqa: E501 + secret: Optional[StrictStr] = None + status: Optional[DeploymentProvisioningInfoStageStatus] = DeploymentProvisioningInfoStageStatus.UNKNOWN + started_at: Optional[datetime] = None + finished_at: Optional[datetime] = None + messages: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["secret", "status", "started_at", "finished_at", "messages"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeclareStepProgressRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeclareStepProgressRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "secret": obj.get("secret"), + "status": obj.get("status") if obj.get("status") is not None else DeploymentProvisioningInfoStageStatus.UNKNOWN, + "started_at": obj.get("started_at"), + "finished_at": obj.get("finished_at"), + "messages": obj.get("messages") + }) + return _obj + + diff --git a/koyeb/api_async/models/decline_organization_invitation_reply.py b/koyeb/api_async/models/decline_organization_invitation_reply.py new file mode 100644 index 00000000..8768f350 --- /dev/null +++ b/koyeb/api_async/models/decline_organization_invitation_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_invitation import OrganizationInvitation +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeclineOrganizationInvitationReply(BaseModel): + """ + DeclineOrganizationInvitationReply + """ # noqa: E501 + invitation: Optional[OrganizationInvitation] = None + __properties: ClassVar[List[str]] = ["invitation"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeclineOrganizationInvitationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of invitation + if self.invitation: + _dict['invitation'] = self.invitation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeclineOrganizationInvitationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "invitation": OrganizationInvitation.from_dict(obj["invitation"]) if obj.get("invitation") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/delete_organization_reply.py b/koyeb/api_async/models/delete_organization_reply.py new file mode 100644 index 00000000..f467d652 --- /dev/null +++ b/koyeb/api_async/models/delete_organization_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeleteOrganizationReply(BaseModel): + """ + DeleteOrganizationReply + """ # noqa: E501 + organization: Optional[Organization] = None + __properties: ClassVar[List[str]] = ["organization"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteOrganizationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeleteOrganizationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization": Organization.from_dict(obj["organization"]) if obj.get("organization") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/delete_persistent_volume_reply.py b/koyeb/api_async/models/delete_persistent_volume_reply.py new file mode 100644 index 00000000..9ebd45ed --- /dev/null +++ b/koyeb/api_async/models/delete_persistent_volume_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.persistent_volume import PersistentVolume +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeletePersistentVolumeReply(BaseModel): + """ + DeletePersistentVolumeReply + """ # noqa: E501 + volume: Optional[PersistentVolume] = None + __properties: ClassVar[List[str]] = ["volume"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeletePersistentVolumeReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of volume + if self.volume: + _dict['volume'] = self.volume.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeletePersistentVolumeReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "volume": PersistentVolume.from_dict(obj["volume"]) if obj.get("volume") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/delete_snapshot_reply.py b/koyeb/api_async/models/delete_snapshot_reply.py new file mode 100644 index 00000000..6ffcc172 --- /dev/null +++ b/koyeb/api_async/models/delete_snapshot_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.snapshot import Snapshot +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeleteSnapshotReply(BaseModel): + """ + DeleteSnapshotReply + """ # noqa: E501 + snapshot: Optional[Snapshot] = None + __properties: ClassVar[List[str]] = ["snapshot"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteSnapshotReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of snapshot + if self.snapshot: + _dict['snapshot'] = self.snapshot.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeleteSnapshotReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "snapshot": Snapshot.from_dict(obj["snapshot"]) if obj.get("snapshot") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/delete_user_reply.py b/koyeb/api_async/models/delete_user_reply.py new file mode 100644 index 00000000..44de41be --- /dev/null +++ b/koyeb/api_async/models/delete_user_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.user import User +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeleteUserReply(BaseModel): + """ + DeleteUserReply + """ # noqa: E501 + user: Optional[User] = None + __properties: ClassVar[List[str]] = ["user"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeleteUserReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of user + if self.user: + _dict['user'] = self.user.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeleteUserReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user": User.from_dict(obj["user"]) if obj.get("user") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment.py b/koyeb/api_async/models/deployment.py new file mode 100644 index 00000000..e0a8410b --- /dev/null +++ b/koyeb/api_async/models/deployment.py @@ -0,0 +1,149 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_database_info import DeploymentDatabaseInfo +from koyeb.api_async.models.deployment_definition import DeploymentDefinition +from koyeb.api_async.models.deployment_metadata import DeploymentMetadata +from koyeb.api_async.models.deployment_provisioning_info import DeploymentProvisioningInfo +from koyeb.api_async.models.deployment_role import DeploymentRole +from koyeb.api_async.models.deployment_status import DeploymentStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Deployment(BaseModel): + """ + Deployment + """ # noqa: E501 + id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + allocated_at: Optional[datetime] = None + started_at: Optional[datetime] = None + succeeded_at: Optional[datetime] = None + terminated_at: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + parent_id: Optional[StrictStr] = None + child_id: Optional[StrictStr] = None + status: Optional[DeploymentStatus] = DeploymentStatus.PENDING + metadata: Optional[DeploymentMetadata] = None + definition: Optional[DeploymentDefinition] = None + messages: Optional[List[StrictStr]] = None + provisioning_info: Optional[DeploymentProvisioningInfo] = None + database_info: Optional[DeploymentDatabaseInfo] = None + skip_build: Optional[StrictBool] = None + role: Optional[DeploymentRole] = DeploymentRole.INVALID + version: Optional[StrictStr] = None + deployment_group: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "created_at", "updated_at", "allocated_at", "started_at", "succeeded_at", "terminated_at", "organization_id", "app_id", "service_id", "parent_id", "child_id", "status", "metadata", "definition", "messages", "provisioning_info", "database_info", "skip_build", "role", "version", "deployment_group"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Deployment from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['metadata'] = self.metadata.to_dict() + # override the default output from pydantic by calling `to_dict()` of definition + if self.definition: + _dict['definition'] = self.definition.to_dict() + # override the default output from pydantic by calling `to_dict()` of provisioning_info + if self.provisioning_info: + _dict['provisioning_info'] = self.provisioning_info.to_dict() + # override the default output from pydantic by calling `to_dict()` of database_info + if self.database_info: + _dict['database_info'] = self.database_info.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Deployment from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "allocated_at": obj.get("allocated_at"), + "started_at": obj.get("started_at"), + "succeeded_at": obj.get("succeeded_at"), + "terminated_at": obj.get("terminated_at"), + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "service_id": obj.get("service_id"), + "parent_id": obj.get("parent_id"), + "child_id": obj.get("child_id"), + "status": obj.get("status") if obj.get("status") is not None else DeploymentStatus.PENDING, + "metadata": DeploymentMetadata.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None, + "definition": DeploymentDefinition.from_dict(obj["definition"]) if obj.get("definition") is not None else None, + "messages": obj.get("messages"), + "provisioning_info": DeploymentProvisioningInfo.from_dict(obj["provisioning_info"]) if obj.get("provisioning_info") is not None else None, + "database_info": DeploymentDatabaseInfo.from_dict(obj["database_info"]) if obj.get("database_info") is not None else None, + "skip_build": obj.get("skip_build"), + "role": obj.get("role") if obj.get("role") is not None else DeploymentRole.INVALID, + "version": obj.get("version"), + "deployment_group": obj.get("deployment_group") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_database_info.py b/koyeb/api_async/models/deployment_database_info.py new file mode 100644 index 00000000..cd945106 --- /dev/null +++ b/koyeb/api_async/models/deployment_database_info.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_neon_postgres_database_info import DeploymentNeonPostgresDatabaseInfo +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentDatabaseInfo(BaseModel): + """ + DeploymentDatabaseInfo + """ # noqa: E501 + neon_postgres: Optional[DeploymentNeonPostgresDatabaseInfo] = None + __properties: ClassVar[List[str]] = ["neon_postgres"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentDatabaseInfo from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of neon_postgres + if self.neon_postgres: + _dict['neon_postgres'] = self.neon_postgres.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentDatabaseInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "neon_postgres": DeploymentNeonPostgresDatabaseInfo.from_dict(obj["neon_postgres"]) if obj.get("neon_postgres") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_definition.py b/koyeb/api_async/models/deployment_definition.py new file mode 100644 index 00000000..687573d1 --- /dev/null +++ b/koyeb/api_async/models/deployment_definition.py @@ -0,0 +1,218 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.archive_source import ArchiveSource +from koyeb.api_async.models.config_file import ConfigFile +from koyeb.api_async.models.database_source import DatabaseSource +from koyeb.api_async.models.deployment_definition_type import DeploymentDefinitionType +from koyeb.api_async.models.deployment_env import DeploymentEnv +from koyeb.api_async.models.deployment_health_check import DeploymentHealthCheck +from koyeb.api_async.models.deployment_instance_type import DeploymentInstanceType +from koyeb.api_async.models.deployment_mesh import DeploymentMesh +from koyeb.api_async.models.deployment_port import DeploymentPort +from koyeb.api_async.models.deployment_proxy_port import DeploymentProxyPort +from koyeb.api_async.models.deployment_route import DeploymentRoute +from koyeb.api_async.models.deployment_scaling import DeploymentScaling +from koyeb.api_async.models.deployment_strategy import DeploymentStrategy +from koyeb.api_async.models.deployment_volume import DeploymentVolume +from koyeb.api_async.models.docker_source import DockerSource +from koyeb.api_async.models.git_source import GitSource +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentDefinition(BaseModel): + """ + DeploymentDefinition + """ # noqa: E501 + name: Optional[StrictStr] = None + type: Optional[DeploymentDefinitionType] = DeploymentDefinitionType.INVALID + strategy: Optional[DeploymentStrategy] = None + routes: Optional[List[DeploymentRoute]] = None + ports: Optional[List[DeploymentPort]] = None + proxy_ports: Optional[List[DeploymentProxyPort]] = None + env: Optional[List[DeploymentEnv]] = None + regions: Optional[List[StrictStr]] = None + scalings: Optional[List[DeploymentScaling]] = None + instance_types: Optional[List[DeploymentInstanceType]] = None + health_checks: Optional[List[DeploymentHealthCheck]] = None + volumes: Optional[List[DeploymentVolume]] = None + config_files: Optional[List[ConfigFile]] = None + skip_cache: Optional[StrictBool] = None + mesh: Optional[DeploymentMesh] = DeploymentMesh.DEPLOYMENT_MESH_AUTO + docker: Optional[DockerSource] = None + git: Optional[GitSource] = None + database: Optional[DatabaseSource] = None + archive: Optional[ArchiveSource] = None + __properties: ClassVar[List[str]] = ["name", "type", "strategy", "routes", "ports", "proxy_ports", "env", "regions", "scalings", "instance_types", "health_checks", "volumes", "config_files", "skip_cache", "mesh", "docker", "git", "database", "archive"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentDefinition from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of strategy + if self.strategy: + _dict['strategy'] = self.strategy.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in routes (list) + _items = [] + if self.routes: + for _item_routes in self.routes: + if _item_routes: + _items.append(_item_routes.to_dict()) + _dict['routes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in ports (list) + _items = [] + if self.ports: + for _item_ports in self.ports: + if _item_ports: + _items.append(_item_ports.to_dict()) + _dict['ports'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in proxy_ports (list) + _items = [] + if self.proxy_ports: + for _item_proxy_ports in self.proxy_ports: + if _item_proxy_ports: + _items.append(_item_proxy_ports.to_dict()) + _dict['proxy_ports'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in env (list) + _items = [] + if self.env: + for _item_env in self.env: + if _item_env: + _items.append(_item_env.to_dict()) + _dict['env'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in scalings (list) + _items = [] + if self.scalings: + for _item_scalings in self.scalings: + if _item_scalings: + _items.append(_item_scalings.to_dict()) + _dict['scalings'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in instance_types (list) + _items = [] + if self.instance_types: + for _item_instance_types in self.instance_types: + if _item_instance_types: + _items.append(_item_instance_types.to_dict()) + _dict['instance_types'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in health_checks (list) + _items = [] + if self.health_checks: + for _item_health_checks in self.health_checks: + if _item_health_checks: + _items.append(_item_health_checks.to_dict()) + _dict['health_checks'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in volumes (list) + _items = [] + if self.volumes: + for _item_volumes in self.volumes: + if _item_volumes: + _items.append(_item_volumes.to_dict()) + _dict['volumes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in config_files (list) + _items = [] + if self.config_files: + for _item_config_files in self.config_files: + if _item_config_files: + _items.append(_item_config_files.to_dict()) + _dict['config_files'] = _items + # override the default output from pydantic by calling `to_dict()` of docker + if self.docker: + _dict['docker'] = self.docker.to_dict() + # override the default output from pydantic by calling `to_dict()` of git + if self.git: + _dict['git'] = self.git.to_dict() + # override the default output from pydantic by calling `to_dict()` of database + if self.database: + _dict['database'] = self.database.to_dict() + # override the default output from pydantic by calling `to_dict()` of archive + if self.archive: + _dict['archive'] = self.archive.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentDefinition from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "type": obj.get("type") if obj.get("type") is not None else DeploymentDefinitionType.INVALID, + "strategy": DeploymentStrategy.from_dict(obj["strategy"]) if obj.get("strategy") is not None else None, + "routes": [DeploymentRoute.from_dict(_item) for _item in obj["routes"]] if obj.get("routes") is not None else None, + "ports": [DeploymentPort.from_dict(_item) for _item in obj["ports"]] if obj.get("ports") is not None else None, + "proxy_ports": [DeploymentProxyPort.from_dict(_item) for _item in obj["proxy_ports"]] if obj.get("proxy_ports") is not None else None, + "env": [DeploymentEnv.from_dict(_item) for _item in obj["env"]] if obj.get("env") is not None else None, + "regions": obj.get("regions"), + "scalings": [DeploymentScaling.from_dict(_item) for _item in obj["scalings"]] if obj.get("scalings") is not None else None, + "instance_types": [DeploymentInstanceType.from_dict(_item) for _item in obj["instance_types"]] if obj.get("instance_types") is not None else None, + "health_checks": [DeploymentHealthCheck.from_dict(_item) for _item in obj["health_checks"]] if obj.get("health_checks") is not None else None, + "volumes": [DeploymentVolume.from_dict(_item) for _item in obj["volumes"]] if obj.get("volumes") is not None else None, + "config_files": [ConfigFile.from_dict(_item) for _item in obj["config_files"]] if obj.get("config_files") is not None else None, + "skip_cache": obj.get("skip_cache"), + "mesh": obj.get("mesh") if obj.get("mesh") is not None else DeploymentMesh.DEPLOYMENT_MESH_AUTO, + "docker": DockerSource.from_dict(obj["docker"]) if obj.get("docker") is not None else None, + "git": GitSource.from_dict(obj["git"]) if obj.get("git") is not None else None, + "database": DatabaseSource.from_dict(obj["database"]) if obj.get("database") is not None else None, + "archive": ArchiveSource.from_dict(obj["archive"]) if obj.get("archive") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_definition_type.py b/koyeb/api_async/models/deployment_definition_type.py new file mode 100644 index 00000000..4897cba4 --- /dev/null +++ b/koyeb/api_async/models/deployment_definition_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class DeploymentDefinitionType(str, Enum): + """ + DeploymentDefinitionType + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + WEB = 'WEB' + WORKER = 'WORKER' + DATABASE = 'DATABASE' + SANDBOX = 'SANDBOX' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of DeploymentDefinitionType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/deployment_env.py b/koyeb/api_async/models/deployment_env.py new file mode 100644 index 00000000..98d50c71 --- /dev/null +++ b/koyeb/api_async/models/deployment_env.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentEnv(BaseModel): + """ + DeploymentEnv + """ # noqa: E501 + scopes: Optional[List[StrictStr]] = None + key: Optional[StrictStr] = None + value: Optional[StrictStr] = None + secret: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["scopes", "key", "value", "secret"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentEnv from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentEnv from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "scopes": obj.get("scopes"), + "key": obj.get("key"), + "value": obj.get("value"), + "secret": obj.get("secret") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_event.py b/koyeb/api_async/models/deployment_event.py new file mode 100644 index 00000000..c95f6fea --- /dev/null +++ b/koyeb/api_async/models/deployment_event.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentEvent(BaseModel): + """ + DeploymentEvent + """ # noqa: E501 + id: Optional[StrictStr] = None + when: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + deployment_id: Optional[StrictStr] = None + type: Optional[StrictStr] = None + message: Optional[StrictStr] = None + metadata: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["id", "when", "organization_id", "deployment_id", "type", "message", "metadata"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentEvent from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentEvent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "when": obj.get("when"), + "organization_id": obj.get("organization_id"), + "deployment_id": obj.get("deployment_id"), + "type": obj.get("type"), + "message": obj.get("message"), + "metadata": obj.get("metadata") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_health_check.py b/koyeb/api_async/models/deployment_health_check.py new file mode 100644 index 00000000..e2f7129d --- /dev/null +++ b/koyeb/api_async/models/deployment_health_check.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.http_health_check import HTTPHealthCheck +from koyeb.api_async.models.tcp_health_check import TCPHealthCheck +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentHealthCheck(BaseModel): + """ + DeploymentHealthCheck + """ # noqa: E501 + grace_period: Optional[StrictInt] = None + interval: Optional[StrictInt] = None + restart_limit: Optional[StrictInt] = None + timeout: Optional[StrictInt] = None + tcp: Optional[TCPHealthCheck] = None + http: Optional[HTTPHealthCheck] = None + __properties: ClassVar[List[str]] = ["grace_period", "interval", "restart_limit", "timeout", "tcp", "http"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentHealthCheck from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of tcp + if self.tcp: + _dict['tcp'] = self.tcp.to_dict() + # override the default output from pydantic by calling `to_dict()` of http + if self.http: + _dict['http'] = self.http.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentHealthCheck from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "grace_period": obj.get("grace_period"), + "interval": obj.get("interval"), + "restart_limit": obj.get("restart_limit"), + "timeout": obj.get("timeout"), + "tcp": TCPHealthCheck.from_dict(obj["tcp"]) if obj.get("tcp") is not None else None, + "http": HTTPHealthCheck.from_dict(obj["http"]) if obj.get("http") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_instance_type.py b/koyeb/api_async/models/deployment_instance_type.py new file mode 100644 index 00000000..9ea41e65 --- /dev/null +++ b/koyeb/api_async/models/deployment_instance_type.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentInstanceType(BaseModel): + """ + DeploymentInstanceType + """ # noqa: E501 + scopes: Optional[List[StrictStr]] = None + type: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["scopes", "type"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentInstanceType from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentInstanceType from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "scopes": obj.get("scopes"), + "type": obj.get("type") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_list_item.py b/koyeb/api_async/models/deployment_list_item.py new file mode 100644 index 00000000..b12ae858 --- /dev/null +++ b/koyeb/api_async/models/deployment_list_item.py @@ -0,0 +1,144 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_database_info import DeploymentDatabaseInfo +from koyeb.api_async.models.deployment_definition import DeploymentDefinition +from koyeb.api_async.models.deployment_metadata import DeploymentMetadata +from koyeb.api_async.models.deployment_provisioning_info import DeploymentProvisioningInfo +from koyeb.api_async.models.deployment_status import DeploymentStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentListItem(BaseModel): + """ + DeploymentListItem + """ # noqa: E501 + id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + allocated_at: Optional[datetime] = None + started_at: Optional[datetime] = None + succeeded_at: Optional[datetime] = None + terminated_at: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + parent_id: Optional[StrictStr] = None + child_id: Optional[StrictStr] = None + status: Optional[DeploymentStatus] = DeploymentStatus.PENDING + metadata: Optional[DeploymentMetadata] = None + definition: Optional[DeploymentDefinition] = None + messages: Optional[List[StrictStr]] = None + provisioning_info: Optional[DeploymentProvisioningInfo] = None + database_info: Optional[DeploymentDatabaseInfo] = None + version: Optional[StrictStr] = None + deployment_group: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "created_at", "updated_at", "allocated_at", "started_at", "succeeded_at", "terminated_at", "organization_id", "app_id", "service_id", "parent_id", "child_id", "status", "metadata", "definition", "messages", "provisioning_info", "database_info", "version", "deployment_group"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentListItem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['metadata'] = self.metadata.to_dict() + # override the default output from pydantic by calling `to_dict()` of definition + if self.definition: + _dict['definition'] = self.definition.to_dict() + # override the default output from pydantic by calling `to_dict()` of provisioning_info + if self.provisioning_info: + _dict['provisioning_info'] = self.provisioning_info.to_dict() + # override the default output from pydantic by calling `to_dict()` of database_info + if self.database_info: + _dict['database_info'] = self.database_info.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentListItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "allocated_at": obj.get("allocated_at"), + "started_at": obj.get("started_at"), + "succeeded_at": obj.get("succeeded_at"), + "terminated_at": obj.get("terminated_at"), + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "service_id": obj.get("service_id"), + "parent_id": obj.get("parent_id"), + "child_id": obj.get("child_id"), + "status": obj.get("status") if obj.get("status") is not None else DeploymentStatus.PENDING, + "metadata": DeploymentMetadata.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None, + "definition": DeploymentDefinition.from_dict(obj["definition"]) if obj.get("definition") is not None else None, + "messages": obj.get("messages"), + "provisioning_info": DeploymentProvisioningInfo.from_dict(obj["provisioning_info"]) if obj.get("provisioning_info") is not None else None, + "database_info": DeploymentDatabaseInfo.from_dict(obj["database_info"]) if obj.get("database_info") is not None else None, + "version": obj.get("version"), + "deployment_group": obj.get("deployment_group") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_mesh.py b/koyeb/api_async/models/deployment_mesh.py new file mode 100644 index 00000000..5f04e72c --- /dev/null +++ b/koyeb/api_async/models/deployment_mesh.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class DeploymentMesh(str, Enum): + """ + DeploymentMesh + """ + + """ + allowed enum values + """ + DEPLOYMENT_MESH_AUTO = 'DEPLOYMENT_MESH_AUTO' + DEPLOYMENT_MESH_ENABLED = 'DEPLOYMENT_MESH_ENABLED' + DEPLOYMENT_MESH_DISABLED = 'DEPLOYMENT_MESH_DISABLED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of DeploymentMesh from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/deployment_metadata.py b/koyeb/api_async/models/deployment_metadata.py new file mode 100644 index 00000000..9bda1683 --- /dev/null +++ b/koyeb/api_async/models/deployment_metadata.py @@ -0,0 +1,126 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.archive_deployment_metadata import ArchiveDeploymentMetadata +from koyeb.api_async.models.database_deployment_metadata import DatabaseDeploymentMetadata +from koyeb.api_async.models.deployment_proxy_port_metadata import DeploymentProxyPortMetadata +from koyeb.api_async.models.git_deployment_metadata import GitDeploymentMetadata +from koyeb.api_async.models.sandbox_metadata import SandboxMetadata +from koyeb.api_async.models.trigger_deployment_metadata import TriggerDeploymentMetadata +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentMetadata(BaseModel): + """ + DeploymentMetadata + """ # noqa: E501 + trigger: Optional[TriggerDeploymentMetadata] = None + database: Optional[DatabaseDeploymentMetadata] = None + git: Optional[GitDeploymentMetadata] = None + archive: Optional[ArchiveDeploymentMetadata] = None + proxy_ports: Optional[List[DeploymentProxyPortMetadata]] = None + sandbox: Optional[SandboxMetadata] = None + __properties: ClassVar[List[str]] = ["trigger", "database", "git", "archive", "proxy_ports", "sandbox"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentMetadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of trigger + if self.trigger: + _dict['trigger'] = self.trigger.to_dict() + # override the default output from pydantic by calling `to_dict()` of database + if self.database: + _dict['database'] = self.database.to_dict() + # override the default output from pydantic by calling `to_dict()` of git + if self.git: + _dict['git'] = self.git.to_dict() + # override the default output from pydantic by calling `to_dict()` of archive + if self.archive: + _dict['archive'] = self.archive.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in proxy_ports (list) + _items = [] + if self.proxy_ports: + for _item_proxy_ports in self.proxy_ports: + if _item_proxy_ports: + _items.append(_item_proxy_ports.to_dict()) + _dict['proxy_ports'] = _items + # override the default output from pydantic by calling `to_dict()` of sandbox + if self.sandbox: + _dict['sandbox'] = self.sandbox.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "trigger": TriggerDeploymentMetadata.from_dict(obj["trigger"]) if obj.get("trigger") is not None else None, + "database": DatabaseDeploymentMetadata.from_dict(obj["database"]) if obj.get("database") is not None else None, + "git": GitDeploymentMetadata.from_dict(obj["git"]) if obj.get("git") is not None else None, + "archive": ArchiveDeploymentMetadata.from_dict(obj["archive"]) if obj.get("archive") is not None else None, + "proxy_ports": [DeploymentProxyPortMetadata.from_dict(_item) for _item in obj["proxy_ports"]] if obj.get("proxy_ports") is not None else None, + "sandbox": SandboxMetadata.from_dict(obj["sandbox"]) if obj.get("sandbox") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_neon_postgres_database_info.py b/koyeb/api_async/models/deployment_neon_postgres_database_info.py new file mode 100644 index 00000000..78852676 --- /dev/null +++ b/koyeb/api_async/models/deployment_neon_postgres_database_info.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_neon_postgres_database_info_role import DeploymentNeonPostgresDatabaseInfoRole +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentNeonPostgresDatabaseInfo(BaseModel): + """ + DeploymentNeonPostgresDatabaseInfo + """ # noqa: E501 + active_time_seconds: Optional[StrictStr] = None + compute_time_seconds: Optional[StrictStr] = None + written_data_bytes: Optional[StrictStr] = None + data_transfer_bytes: Optional[StrictStr] = None + data_storage_bytes_hour: Optional[StrictStr] = None + server_host: Optional[StrictStr] = None + server_port: Optional[StrictInt] = None + endpoint_state: Optional[StrictStr] = None + endpoint_last_active: Optional[datetime] = None + default_branch_id: Optional[StrictStr] = None + default_branch_name: Optional[StrictStr] = None + default_branch_state: Optional[StrictStr] = None + default_branch_logical_size: Optional[StrictStr] = None + roles: Optional[List[DeploymentNeonPostgresDatabaseInfoRole]] = None + __properties: ClassVar[List[str]] = ["active_time_seconds", "compute_time_seconds", "written_data_bytes", "data_transfer_bytes", "data_storage_bytes_hour", "server_host", "server_port", "endpoint_state", "endpoint_last_active", "default_branch_id", "default_branch_name", "default_branch_state", "default_branch_logical_size", "roles"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentNeonPostgresDatabaseInfo from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in roles (list) + _items = [] + if self.roles: + for _item_roles in self.roles: + if _item_roles: + _items.append(_item_roles.to_dict()) + _dict['roles'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentNeonPostgresDatabaseInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "active_time_seconds": obj.get("active_time_seconds"), + "compute_time_seconds": obj.get("compute_time_seconds"), + "written_data_bytes": obj.get("written_data_bytes"), + "data_transfer_bytes": obj.get("data_transfer_bytes"), + "data_storage_bytes_hour": obj.get("data_storage_bytes_hour"), + "server_host": obj.get("server_host"), + "server_port": obj.get("server_port"), + "endpoint_state": obj.get("endpoint_state"), + "endpoint_last_active": obj.get("endpoint_last_active"), + "default_branch_id": obj.get("default_branch_id"), + "default_branch_name": obj.get("default_branch_name"), + "default_branch_state": obj.get("default_branch_state"), + "default_branch_logical_size": obj.get("default_branch_logical_size"), + "roles": [DeploymentNeonPostgresDatabaseInfoRole.from_dict(_item) for _item in obj["roles"]] if obj.get("roles") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_neon_postgres_database_info_role.py b/koyeb/api_async/models/deployment_neon_postgres_database_info_role.py new file mode 100644 index 00000000..e488eb0e --- /dev/null +++ b/koyeb/api_async/models/deployment_neon_postgres_database_info_role.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentNeonPostgresDatabaseInfoRole(BaseModel): + """ + DeploymentNeonPostgresDatabaseInfoRole + """ # noqa: E501 + name: Optional[StrictStr] = None + secret_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name", "secret_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentNeonPostgresDatabaseInfoRole from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentNeonPostgresDatabaseInfoRole from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "secret_id": obj.get("secret_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_port.py b/koyeb/api_async/models/deployment_port.py new file mode 100644 index 00000000..9f2535d8 --- /dev/null +++ b/koyeb/api_async/models/deployment_port.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentPort(BaseModel): + """ + DeploymentPort + """ # noqa: E501 + port: Optional[StrictInt] = None + protocol: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["port", "protocol"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentPort from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentPort from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "port": obj.get("port"), + "protocol": obj.get("protocol") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_provisioning_info.py b/koyeb/api_async/models/deployment_provisioning_info.py new file mode 100644 index 00000000..443a78ac --- /dev/null +++ b/koyeb/api_async/models/deployment_provisioning_info.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_provisioning_info_stage import DeploymentProvisioningInfoStage +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentProvisioningInfo(BaseModel): + """ + DeploymentProvisioningInfo + """ # noqa: E501 + sha: Optional[StrictStr] = Field(default=None, description="The git sha for this build (we resolve the reference at the start of the build).") + image: Optional[StrictStr] = Field(default=None, description="The docker image built as a result of this build.") + stages: Optional[List[DeploymentProvisioningInfoStage]] = Field(default=None, description="Some info about the build.") + __properties: ClassVar[List[str]] = ["sha", "image", "stages"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentProvisioningInfo from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in stages (list) + _items = [] + if self.stages: + for _item_stages in self.stages: + if _item_stages: + _items.append(_item_stages.to_dict()) + _dict['stages'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentProvisioningInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "sha": obj.get("sha"), + "image": obj.get("image"), + "stages": [DeploymentProvisioningInfoStage.from_dict(_item) for _item in obj["stages"]] if obj.get("stages") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_provisioning_info_stage.py b/koyeb/api_async/models/deployment_provisioning_info_stage.py new file mode 100644 index 00000000..94288e04 --- /dev/null +++ b/koyeb/api_async/models/deployment_provisioning_info_stage.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_provisioning_info_stage_build_attempt import DeploymentProvisioningInfoStageBuildAttempt +from koyeb.api_async.models.deployment_provisioning_info_stage_status import DeploymentProvisioningInfoStageStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentProvisioningInfoStage(BaseModel): + """ + DeploymentProvisioningInfoStage + """ # noqa: E501 + name: Optional[StrictStr] = None + status: Optional[DeploymentProvisioningInfoStageStatus] = DeploymentProvisioningInfoStageStatus.UNKNOWN + messages: Optional[List[StrictStr]] = None + started_at: Optional[datetime] = None + finished_at: Optional[datetime] = None + build_attempts: Optional[List[DeploymentProvisioningInfoStageBuildAttempt]] = None + __properties: ClassVar[List[str]] = ["name", "status", "messages", "started_at", "finished_at", "build_attempts"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentProvisioningInfoStage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in build_attempts (list) + _items = [] + if self.build_attempts: + for _item_build_attempts in self.build_attempts: + if _item_build_attempts: + _items.append(_item_build_attempts.to_dict()) + _dict['build_attempts'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentProvisioningInfoStage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "status": obj.get("status") if obj.get("status") is not None else DeploymentProvisioningInfoStageStatus.UNKNOWN, + "messages": obj.get("messages"), + "started_at": obj.get("started_at"), + "finished_at": obj.get("finished_at"), + "build_attempts": [DeploymentProvisioningInfoStageBuildAttempt.from_dict(_item) for _item in obj["build_attempts"]] if obj.get("build_attempts") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_provisioning_info_stage_build_attempt.py b/koyeb/api_async/models/deployment_provisioning_info_stage_build_attempt.py new file mode 100644 index 00000000..8d0832ee --- /dev/null +++ b/koyeb/api_async/models/deployment_provisioning_info_stage_build_attempt.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_provisioning_info_stage_build_attempt_build_step import DeploymentProvisioningInfoStageBuildAttemptBuildStep +from koyeb.api_async.models.deployment_provisioning_info_stage_status import DeploymentProvisioningInfoStageStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentProvisioningInfoStageBuildAttempt(BaseModel): + """ + DeploymentProvisioningInfoStageBuildAttempt + """ # noqa: E501 + id: Optional[StrictInt] = None + status: Optional[DeploymentProvisioningInfoStageStatus] = DeploymentProvisioningInfoStageStatus.UNKNOWN + messages: Optional[List[StrictStr]] = None + started_at: Optional[datetime] = None + finished_at: Optional[datetime] = None + steps: Optional[List[DeploymentProvisioningInfoStageBuildAttemptBuildStep]] = None + image_pushed: Optional[StrictBool] = None + internal_failure: Optional[StrictBool] = None + retryable_failure: Optional[StrictBool] = None + wait_completion: Optional[StrictBool] = Field(default=None, description="This flag is used to finalize the build, and continue the deployment in case of success, or cancel and potentially retry the build in case of failure.") + __properties: ClassVar[List[str]] = ["id", "status", "messages", "started_at", "finished_at", "steps", "image_pushed", "internal_failure", "retryable_failure", "wait_completion"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentProvisioningInfoStageBuildAttempt from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in steps (list) + _items = [] + if self.steps: + for _item_steps in self.steps: + if _item_steps: + _items.append(_item_steps.to_dict()) + _dict['steps'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentProvisioningInfoStageBuildAttempt from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "status": obj.get("status") if obj.get("status") is not None else DeploymentProvisioningInfoStageStatus.UNKNOWN, + "messages": obj.get("messages"), + "started_at": obj.get("started_at"), + "finished_at": obj.get("finished_at"), + "steps": [DeploymentProvisioningInfoStageBuildAttemptBuildStep.from_dict(_item) for _item in obj["steps"]] if obj.get("steps") is not None else None, + "image_pushed": obj.get("image_pushed"), + "internal_failure": obj.get("internal_failure"), + "retryable_failure": obj.get("retryable_failure"), + "wait_completion": obj.get("wait_completion") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_provisioning_info_stage_build_attempt_build_step.py b/koyeb/api_async/models/deployment_provisioning_info_stage_build_attempt_build_step.py new file mode 100644 index 00000000..13890407 --- /dev/null +++ b/koyeb/api_async/models/deployment_provisioning_info_stage_build_attempt_build_step.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_provisioning_info_stage_status import DeploymentProvisioningInfoStageStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentProvisioningInfoStageBuildAttemptBuildStep(BaseModel): + """ + DeploymentProvisioningInfoStageBuildAttemptBuildStep + """ # noqa: E501 + name: Optional[StrictStr] = None + status: Optional[DeploymentProvisioningInfoStageStatus] = DeploymentProvisioningInfoStageStatus.UNKNOWN + messages: Optional[List[StrictStr]] = None + started_at: Optional[datetime] = None + finished_at: Optional[datetime] = None + __properties: ClassVar[List[str]] = ["name", "status", "messages", "started_at", "finished_at"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentProvisioningInfoStageBuildAttemptBuildStep from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentProvisioningInfoStageBuildAttemptBuildStep from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "status": obj.get("status") if obj.get("status") is not None else DeploymentProvisioningInfoStageStatus.UNKNOWN, + "messages": obj.get("messages"), + "started_at": obj.get("started_at"), + "finished_at": obj.get("finished_at") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_provisioning_info_stage_status.py b/koyeb/api_async/models/deployment_provisioning_info_stage_status.py new file mode 100644 index 00000000..38fe449d --- /dev/null +++ b/koyeb/api_async/models/deployment_provisioning_info_stage_status.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class DeploymentProvisioningInfoStageStatus(str, Enum): + """ + DeploymentProvisioningInfoStageStatus + """ + + """ + allowed enum values + """ + UNKNOWN = 'UNKNOWN' + PENDING = 'PENDING' + RUNNING = 'RUNNING' + FAILED = 'FAILED' + COMPLETED = 'COMPLETED' + ABORTED = 'ABORTED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of DeploymentProvisioningInfoStageStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/deployment_proxy_port.py b/koyeb/api_async/models/deployment_proxy_port.py new file mode 100644 index 00000000..92f0863c --- /dev/null +++ b/koyeb/api_async/models/deployment_proxy_port.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.proxy_port_protocol import ProxyPortProtocol +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentProxyPort(BaseModel): + """ + DeploymentProxyPort + """ # noqa: E501 + port: Optional[StrictInt] = None + protocol: Optional[ProxyPortProtocol] = ProxyPortProtocol.TCP + __properties: ClassVar[List[str]] = ["port", "protocol"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentProxyPort from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentProxyPort from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "port": obj.get("port"), + "protocol": obj.get("protocol") if obj.get("protocol") is not None else ProxyPortProtocol.TCP + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_proxy_port_metadata.py b/koyeb/api_async/models/deployment_proxy_port_metadata.py new file mode 100644 index 00000000..9f77b5f3 --- /dev/null +++ b/koyeb/api_async/models/deployment_proxy_port_metadata.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.proxy_port_protocol import ProxyPortProtocol +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentProxyPortMetadata(BaseModel): + """ + DeploymentProxyPortMetadata + """ # noqa: E501 + host: Optional[StrictStr] = None + public_port: Optional[StrictInt] = None + port: Optional[StrictInt] = None + protocol: Optional[ProxyPortProtocol] = ProxyPortProtocol.TCP + __properties: ClassVar[List[str]] = ["host", "public_port", "port", "protocol"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentProxyPortMetadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentProxyPortMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "host": obj.get("host"), + "public_port": obj.get("public_port"), + "port": obj.get("port"), + "protocol": obj.get("protocol") if obj.get("protocol") is not None else ProxyPortProtocol.TCP + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_role.py b/koyeb/api_async/models/deployment_role.py new file mode 100644 index 00000000..da8fe3d3 --- /dev/null +++ b/koyeb/api_async/models/deployment_role.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class DeploymentRole(str, Enum): + """ + DeploymentRole + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + ACTIVE = 'ACTIVE' + UPCOMING = 'UPCOMING' + CURRENT = 'CURRENT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of DeploymentRole from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/deployment_route.py b/koyeb/api_async/models/deployment_route.py new file mode 100644 index 00000000..51eefe84 --- /dev/null +++ b/koyeb/api_async/models/deployment_route.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.security_policies import SecurityPolicies +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentRoute(BaseModel): + """ + DeploymentRoute + """ # noqa: E501 + port: Optional[StrictInt] = None + path: Optional[StrictStr] = None + security_policies: Optional[SecurityPolicies] = None + __properties: ClassVar[List[str]] = ["port", "path", "security_policies"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentRoute from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of security_policies + if self.security_policies: + _dict['security_policies'] = self.security_policies.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentRoute from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "port": obj.get("port"), + "path": obj.get("path"), + "security_policies": SecurityPolicies.from_dict(obj["security_policies"]) if obj.get("security_policies") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_scaling.py b/koyeb/api_async/models/deployment_scaling.py new file mode 100644 index 00000000..76934d91 --- /dev/null +++ b/koyeb/api_async/models/deployment_scaling.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_scaling_target import DeploymentScalingTarget +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentScaling(BaseModel): + """ + DeploymentScaling + """ # noqa: E501 + scopes: Optional[List[StrictStr]] = None + min: Optional[StrictInt] = None + max: Optional[StrictInt] = None + targets: Optional[List[DeploymentScalingTarget]] = None + __properties: ClassVar[List[str]] = ["scopes", "min", "max", "targets"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentScaling from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in targets (list) + _items = [] + if self.targets: + for _item_targets in self.targets: + if _item_targets: + _items.append(_item_targets.to_dict()) + _dict['targets'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentScaling from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "scopes": obj.get("scopes"), + "min": obj.get("min"), + "max": obj.get("max"), + "targets": [DeploymentScalingTarget.from_dict(_item) for _item in obj["targets"]] if obj.get("targets") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_scaling_target.py b/koyeb/api_async/models/deployment_scaling_target.py new file mode 100644 index 00000000..89a35152 --- /dev/null +++ b/koyeb/api_async/models/deployment_scaling_target.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_scaling_target_average_cpu import DeploymentScalingTargetAverageCPU +from koyeb.api_async.models.deployment_scaling_target_average_mem import DeploymentScalingTargetAverageMem +from koyeb.api_async.models.deployment_scaling_target_concurrent_requests import DeploymentScalingTargetConcurrentRequests +from koyeb.api_async.models.deployment_scaling_target_requests_per_second import DeploymentScalingTargetRequestsPerSecond +from koyeb.api_async.models.deployment_scaling_target_requests_response_time import DeploymentScalingTargetRequestsResponseTime +from koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay import DeploymentScalingTargetSleepIdleDelay +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentScalingTarget(BaseModel): + """ + DeploymentScalingTarget + """ # noqa: E501 + average_cpu: Optional[DeploymentScalingTargetAverageCPU] = None + average_mem: Optional[DeploymentScalingTargetAverageMem] = None + requests_per_second: Optional[DeploymentScalingTargetRequestsPerSecond] = None + concurrent_requests: Optional[DeploymentScalingTargetConcurrentRequests] = None + requests_response_time: Optional[DeploymentScalingTargetRequestsResponseTime] = None + sleep_idle_delay: Optional[DeploymentScalingTargetSleepIdleDelay] = None + __properties: ClassVar[List[str]] = ["average_cpu", "average_mem", "requests_per_second", "concurrent_requests", "requests_response_time", "sleep_idle_delay"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentScalingTarget from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of average_cpu + if self.average_cpu: + _dict['average_cpu'] = self.average_cpu.to_dict() + # override the default output from pydantic by calling `to_dict()` of average_mem + if self.average_mem: + _dict['average_mem'] = self.average_mem.to_dict() + # override the default output from pydantic by calling `to_dict()` of requests_per_second + if self.requests_per_second: + _dict['requests_per_second'] = self.requests_per_second.to_dict() + # override the default output from pydantic by calling `to_dict()` of concurrent_requests + if self.concurrent_requests: + _dict['concurrent_requests'] = self.concurrent_requests.to_dict() + # override the default output from pydantic by calling `to_dict()` of requests_response_time + if self.requests_response_time: + _dict['requests_response_time'] = self.requests_response_time.to_dict() + # override the default output from pydantic by calling `to_dict()` of sleep_idle_delay + if self.sleep_idle_delay: + _dict['sleep_idle_delay'] = self.sleep_idle_delay.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentScalingTarget from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "average_cpu": DeploymentScalingTargetAverageCPU.from_dict(obj["average_cpu"]) if obj.get("average_cpu") is not None else None, + "average_mem": DeploymentScalingTargetAverageMem.from_dict(obj["average_mem"]) if obj.get("average_mem") is not None else None, + "requests_per_second": DeploymentScalingTargetRequestsPerSecond.from_dict(obj["requests_per_second"]) if obj.get("requests_per_second") is not None else None, + "concurrent_requests": DeploymentScalingTargetConcurrentRequests.from_dict(obj["concurrent_requests"]) if obj.get("concurrent_requests") is not None else None, + "requests_response_time": DeploymentScalingTargetRequestsResponseTime.from_dict(obj["requests_response_time"]) if obj.get("requests_response_time") is not None else None, + "sleep_idle_delay": DeploymentScalingTargetSleepIdleDelay.from_dict(obj["sleep_idle_delay"]) if obj.get("sleep_idle_delay") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_scaling_target_average_cpu.py b/koyeb/api_async/models/deployment_scaling_target_average_cpu.py new file mode 100644 index 00000000..5dd9efdb --- /dev/null +++ b/koyeb/api_async/models/deployment_scaling_target_average_cpu.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentScalingTargetAverageCPU(BaseModel): + """ + DeploymentScalingTargetAverageCPU + """ # noqa: E501 + value: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["value"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetAverageCPU from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetAverageCPU from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "value": obj.get("value") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_scaling_target_average_mem.py b/koyeb/api_async/models/deployment_scaling_target_average_mem.py new file mode 100644 index 00000000..f5e1e36a --- /dev/null +++ b/koyeb/api_async/models/deployment_scaling_target_average_mem.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentScalingTargetAverageMem(BaseModel): + """ + DeploymentScalingTargetAverageMem + """ # noqa: E501 + value: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["value"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetAverageMem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetAverageMem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "value": obj.get("value") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_scaling_target_concurrent_requests.py b/koyeb/api_async/models/deployment_scaling_target_concurrent_requests.py new file mode 100644 index 00000000..eb1e59a0 --- /dev/null +++ b/koyeb/api_async/models/deployment_scaling_target_concurrent_requests.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentScalingTargetConcurrentRequests(BaseModel): + """ + DeploymentScalingTargetConcurrentRequests + """ # noqa: E501 + value: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["value"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetConcurrentRequests from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetConcurrentRequests from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "value": obj.get("value") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_scaling_target_requests_per_second.py b/koyeb/api_async/models/deployment_scaling_target_requests_per_second.py new file mode 100644 index 00000000..d2e602ef --- /dev/null +++ b/koyeb/api_async/models/deployment_scaling_target_requests_per_second.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentScalingTargetRequestsPerSecond(BaseModel): + """ + DeploymentScalingTargetRequestsPerSecond + """ # noqa: E501 + value: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["value"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetRequestsPerSecond from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetRequestsPerSecond from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "value": obj.get("value") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_scaling_target_requests_response_time.py b/koyeb/api_async/models/deployment_scaling_target_requests_response_time.py new file mode 100644 index 00000000..f1c78121 --- /dev/null +++ b/koyeb/api_async/models/deployment_scaling_target_requests_response_time.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentScalingTargetRequestsResponseTime(BaseModel): + """ + DeploymentScalingTargetRequestsResponseTime + """ # noqa: E501 + value: Optional[StrictInt] = None + quantile: Optional[StrictInt] = Field(default=None, description="The quantile to use for autoscaling. For example, set to 95 to use the 95th percentile (p95) for autoscaling. Valid values are between 0 and 100.") + __properties: ClassVar[List[str]] = ["value", "quantile"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetRequestsResponseTime from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetRequestsResponseTime from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "value": obj.get("value"), + "quantile": obj.get("quantile") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_scaling_target_sleep_idle_delay.py b/koyeb/api_async/models/deployment_scaling_target_sleep_idle_delay.py new file mode 100644 index 00000000..2d131c68 --- /dev/null +++ b/koyeb/api_async/models/deployment_scaling_target_sleep_idle_delay.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentScalingTargetSleepIdleDelay(BaseModel): + """ + DeploymentScalingTargetSleepIdleDelay + """ # noqa: E501 + value: Optional[StrictInt] = Field(default=None, description="DEPRECATED: use deep_sleep_value instead. Delay in seconds after which a service which received 0 request is put to deep sleep.") + deep_sleep_value: Optional[StrictInt] = Field(default=None, description="Delay in seconds after which a service which received 0 request is put to deep sleep.") + light_sleep_value: Optional[StrictInt] = Field(default=None, description="Delay in seconds after which a service which received 0 request is put to light sleep.") + __properties: ClassVar[List[str]] = ["value", "deep_sleep_value", "light_sleep_value"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetSleepIdleDelay from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentScalingTargetSleepIdleDelay from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "value": obj.get("value"), + "deep_sleep_value": obj.get("deep_sleep_value"), + "light_sleep_value": obj.get("light_sleep_value") + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_status.py b/koyeb/api_async/models/deployment_status.py new file mode 100644 index 00000000..ce4765e8 --- /dev/null +++ b/koyeb/api_async/models/deployment_status.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class DeploymentStatus(str, Enum): + """ + DeploymentStatus + """ + + """ + allowed enum values + """ + PENDING = 'PENDING' + PROVISIONING = 'PROVISIONING' + SCHEDULED = 'SCHEDULED' + CANCELING = 'CANCELING' + CANCELED = 'CANCELED' + ALLOCATING = 'ALLOCATING' + STARTING = 'STARTING' + HEALTHY = 'HEALTHY' + DEGRADED = 'DEGRADED' + UNHEALTHY = 'UNHEALTHY' + STOPPING = 'STOPPING' + STOPPED = 'STOPPED' + ERRORING = 'ERRORING' + ERROR = 'ERROR' + STASHED = 'STASHED' + SLEEPING = 'SLEEPING' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of DeploymentStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/deployment_strategy.py b/koyeb/api_async/models/deployment_strategy.py new file mode 100644 index 00000000..3bbe1370 --- /dev/null +++ b/koyeb/api_async/models/deployment_strategy.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_strategy_type import DeploymentStrategyType +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentStrategy(BaseModel): + """ + DeploymentStrategy + """ # noqa: E501 + type: Optional[DeploymentStrategyType] = DeploymentStrategyType.DEPLOYMENT_STRATEGY_TYPE_INVALID + __properties: ClassVar[List[str]] = ["type"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentStrategy from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentStrategy from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type") if obj.get("type") is not None else DeploymentStrategyType.DEPLOYMENT_STRATEGY_TYPE_INVALID + }) + return _obj + + diff --git a/koyeb/api_async/models/deployment_strategy_type.py b/koyeb/api_async/models/deployment_strategy_type.py new file mode 100644 index 00000000..34e4d106 --- /dev/null +++ b/koyeb/api_async/models/deployment_strategy_type.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class DeploymentStrategyType(str, Enum): + """ + - DEPLOYMENT_STRATEGY_TYPE_INVALID: DEPRECATED: Use DEPLOYMENT_STRATEGY_TYPE_DEFAULT instead. - DEPLOYMENT_STRATEGY_TYPE_DEFAULT: Default/unspecified strategy (resolves to platform default, currently ROLLING). - DEPLOYMENT_STRATEGY_TYPE_CANARY: Use canary strategy. - DEPLOYMENT_STRATEGY_TYPE_ROLLING: Use rolling strategy. - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN: Use blue green strategy. - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE: Use immediate strategy. + """ + + """ + allowed enum values + """ + DEPLOYMENT_STRATEGY_TYPE_INVALID = 'DEPLOYMENT_STRATEGY_TYPE_INVALID' + DEPLOYMENT_STRATEGY_TYPE_DEFAULT = 'DEPLOYMENT_STRATEGY_TYPE_DEFAULT' + DEPLOYMENT_STRATEGY_TYPE_CANARY = 'DEPLOYMENT_STRATEGY_TYPE_CANARY' + DEPLOYMENT_STRATEGY_TYPE_ROLLING = 'DEPLOYMENT_STRATEGY_TYPE_ROLLING' + DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN = 'DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN' + DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE = 'DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of DeploymentStrategyType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/deployment_volume.py b/koyeb/api_async/models/deployment_volume.py new file mode 100644 index 00000000..0a671f05 --- /dev/null +++ b/koyeb/api_async/models/deployment_volume.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DeploymentVolume(BaseModel): + """ + DeploymentVolume + """ # noqa: E501 + id: Optional[StrictStr] = None + path: Optional[StrictStr] = None + replica_index: Optional[StrictInt] = None + scopes: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["id", "path", "replica_index", "scopes"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DeploymentVolume from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DeploymentVolume from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "path": obj.get("path"), + "replica_index": obj.get("replica_index"), + "scopes": obj.get("scopes") + }) + return _obj + + diff --git a/koyeb/api_async/models/desired_deployment.py b/koyeb/api_async/models/desired_deployment.py new file mode 100644 index 00000000..251ac3e1 --- /dev/null +++ b/koyeb/api_async/models/desired_deployment.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.desired_deployment_group import DesiredDeploymentGroup +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DesiredDeployment(BaseModel): + """ + DesiredDeployment + """ # noqa: E501 + groups: Optional[List[DesiredDeploymentGroup]] = None + __properties: ClassVar[List[str]] = ["groups"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DesiredDeployment from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in groups (list) + _items = [] + if self.groups: + for _item_groups in self.groups: + if _item_groups: + _items.append(_item_groups.to_dict()) + _dict['groups'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DesiredDeployment from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "groups": [DesiredDeploymentGroup.from_dict(_item) for _item in obj["groups"]] if obj.get("groups") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/desired_deployment_group.py b/koyeb/api_async/models/desired_deployment_group.py new file mode 100644 index 00000000..ff32228b --- /dev/null +++ b/koyeb/api_async/models/desired_deployment_group.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DesiredDeploymentGroup(BaseModel): + """ + DesiredDeploymentGroup + """ # noqa: E501 + name: Optional[StrictStr] = None + deployment_ids: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["name", "deployment_ids"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DesiredDeploymentGroup from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DesiredDeploymentGroup from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "deployment_ids": obj.get("deployment_ids") + }) + return _obj + + diff --git a/koyeb/api_async/models/digital_ocean_registry_configuration.py b/koyeb/api_async/models/digital_ocean_registry_configuration.py new file mode 100644 index 00000000..655cb1bb --- /dev/null +++ b/koyeb/api_async/models/digital_ocean_registry_configuration.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DigitalOceanRegistryConfiguration(BaseModel): + """ + DigitalOceanRegistryConfiguration + """ # noqa: E501 + username: Optional[StrictStr] = None + password: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["username", "password"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DigitalOceanRegistryConfiguration from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DigitalOceanRegistryConfiguration from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "username": obj.get("username"), + "password": obj.get("password") + }) + return _obj + + diff --git a/koyeb/api_async/models/discourse_auth_reply.py b/koyeb/api_async/models/discourse_auth_reply.py new file mode 100644 index 00000000..222a7321 --- /dev/null +++ b/koyeb/api_async/models/discourse_auth_reply.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DiscourseAuthReply(BaseModel): + """ + DiscourseAuthReply + """ # noqa: E501 + sso: Optional[StrictStr] = None + sig: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["sso", "sig"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DiscourseAuthReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DiscourseAuthReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "sso": obj.get("sso"), + "sig": obj.get("sig") + }) + return _obj + + diff --git a/koyeb/api_async/models/discourse_auth_request.py b/koyeb/api_async/models/discourse_auth_request.py new file mode 100644 index 00000000..ee511966 --- /dev/null +++ b/koyeb/api_async/models/discourse_auth_request.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DiscourseAuthRequest(BaseModel): + """ + DiscourseAuthRequest + """ # noqa: E501 + payload: Optional[StrictStr] = None + sig: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["payload", "sig"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DiscourseAuthRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DiscourseAuthRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "payload": obj.get("payload"), + "sig": obj.get("sig") + }) + return _obj + + diff --git a/koyeb/api_async/models/docker_builder.py b/koyeb/api_async/models/docker_builder.py new file mode 100644 index 00000000..008cec1a --- /dev/null +++ b/koyeb/api_async/models/docker_builder.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DockerBuilder(BaseModel): + """ + DockerBuilder + """ # noqa: E501 + dockerfile: Optional[StrictStr] = None + entrypoint: Optional[List[StrictStr]] = None + command: Optional[StrictStr] = None + args: Optional[List[StrictStr]] = None + target: Optional[StrictStr] = None + privileged: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["dockerfile", "entrypoint", "command", "args", "target", "privileged"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DockerBuilder from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DockerBuilder from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "dockerfile": obj.get("dockerfile"), + "entrypoint": obj.get("entrypoint"), + "command": obj.get("command"), + "args": obj.get("args"), + "target": obj.get("target"), + "privileged": obj.get("privileged") + }) + return _obj + + diff --git a/koyeb/api_async/models/docker_hub_registry_configuration.py b/koyeb/api_async/models/docker_hub_registry_configuration.py new file mode 100644 index 00000000..1e3d6c45 --- /dev/null +++ b/koyeb/api_async/models/docker_hub_registry_configuration.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DockerHubRegistryConfiguration(BaseModel): + """ + DockerHubRegistryConfiguration + """ # noqa: E501 + username: Optional[StrictStr] = None + password: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["username", "password"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DockerHubRegistryConfiguration from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DockerHubRegistryConfiguration from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "username": obj.get("username"), + "password": obj.get("password") + }) + return _obj + + diff --git a/koyeb/api_async/models/docker_source.py b/koyeb/api_async/models/docker_source.py new file mode 100644 index 00000000..1ed042d9 --- /dev/null +++ b/koyeb/api_async/models/docker_source.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DockerSource(BaseModel): + """ + DockerSource + """ # noqa: E501 + image: Optional[StrictStr] = None + command: Optional[StrictStr] = None + args: Optional[List[StrictStr]] = None + image_registry_secret: Optional[StrictStr] = None + entrypoint: Optional[List[StrictStr]] = None + privileged: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["image", "command", "args", "image_registry_secret", "entrypoint", "privileged"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DockerSource from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DockerSource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "image": obj.get("image"), + "command": obj.get("command"), + "args": obj.get("args"), + "image_registry_secret": obj.get("image_registry_secret"), + "entrypoint": obj.get("entrypoint"), + "privileged": obj.get("privileged") + }) + return _obj + + diff --git a/koyeb/api_async/models/domain.py b/koyeb/api_async/models/domain.py new file mode 100644 index 00000000..666978ed --- /dev/null +++ b/koyeb/api_async/models/domain.py @@ -0,0 +1,125 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.domain_load_balancer_koyeb import DomainLoadBalancerKoyeb +from koyeb.api_async.models.domain_status import DomainStatus +from koyeb.api_async.models.domain_type import DomainType +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Domain(BaseModel): + """ + Domain + """ # noqa: E501 + id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + status: Optional[DomainStatus] = DomainStatus.PENDING + type: Optional[DomainType] = DomainType.AUTOASSIGNED + app_id: Optional[StrictStr] = None + deployment_group: Optional[StrictStr] = None + verified_at: Optional[datetime] = None + intended_cname: Optional[StrictStr] = None + messages: Optional[List[StrictStr]] = None + version: Optional[StrictStr] = None + cloudflare: Optional[Dict[str, Any]] = None + koyeb: Optional[DomainLoadBalancerKoyeb] = None + project_id: Optional[StrictStr] = Field(default=None, description="The project ID this domain belongs to. Empty if the domain is organization-level.") + __properties: ClassVar[List[str]] = ["id", "organization_id", "name", "created_at", "updated_at", "status", "type", "app_id", "deployment_group", "verified_at", "intended_cname", "messages", "version", "cloudflare", "koyeb", "project_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Domain from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of koyeb + if self.koyeb: + _dict['koyeb'] = self.koyeb.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Domain from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "organization_id": obj.get("organization_id"), + "name": obj.get("name"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "status": obj.get("status") if obj.get("status") is not None else DomainStatus.PENDING, + "type": obj.get("type") if obj.get("type") is not None else DomainType.AUTOASSIGNED, + "app_id": obj.get("app_id"), + "deployment_group": obj.get("deployment_group"), + "verified_at": obj.get("verified_at"), + "intended_cname": obj.get("intended_cname"), + "messages": obj.get("messages"), + "version": obj.get("version"), + "cloudflare": obj.get("cloudflare"), + "koyeb": DomainLoadBalancerKoyeb.from_dict(obj["koyeb"]) if obj.get("koyeb") is not None else None, + "project_id": obj.get("project_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/domain_load_balancer_koyeb.py b/koyeb/api_async/models/domain_load_balancer_koyeb.py new file mode 100644 index 00000000..a3b2a3f1 --- /dev/null +++ b/koyeb/api_async/models/domain_load_balancer_koyeb.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DomainLoadBalancerKoyeb(BaseModel): + """ + DomainLoadBalancerKoyeb + """ # noqa: E501 + request_timeout_seconds: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["request_timeout_seconds"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DomainLoadBalancerKoyeb from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DomainLoadBalancerKoyeb from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "request_timeout_seconds": obj.get("request_timeout_seconds") + }) + return _obj + + diff --git a/koyeb/api_async/models/domain_load_balancer_quotas.py b/koyeb/api_async/models/domain_load_balancer_quotas.py new file mode 100644 index 00000000..4a16fea9 --- /dev/null +++ b/koyeb/api_async/models/domain_load_balancer_quotas.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DomainLoadBalancerQuotas(BaseModel): + """ + DomainLoadBalancerQuotas + """ # noqa: E501 + max_koyeb: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["max_koyeb"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DomainLoadBalancerQuotas from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DomainLoadBalancerQuotas from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "max_koyeb": obj.get("max_koyeb") + }) + return _obj + + diff --git a/koyeb/api_async/models/domain_status.py b/koyeb/api_async/models/domain_status.py new file mode 100644 index 00000000..1f441933 --- /dev/null +++ b/koyeb/api_async/models/domain_status.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class DomainStatus(str, Enum): + """ + DomainStatus + """ + + """ + allowed enum values + """ + PENDING = 'PENDING' + ACTIVE = 'ACTIVE' + ERROR = 'ERROR' + DELETING = 'DELETING' + DELETED = 'DELETED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of DomainStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/domain_type.py b/koyeb/api_async/models/domain_type.py new file mode 100644 index 00000000..6ea6ca50 --- /dev/null +++ b/koyeb/api_async/models/domain_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class DomainType(str, Enum): + """ + DomainType + """ + + """ + allowed enum values + """ + AUTOASSIGNED = 'AUTOASSIGNED' + CUSTOM = 'CUSTOM' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of DomainType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/domains_summary.py b/koyeb/api_async/models/domains_summary.py new file mode 100644 index 00000000..6c569af5 --- /dev/null +++ b/koyeb/api_async/models/domains_summary.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class DomainsSummary(BaseModel): + """ + DomainsSummary + """ # noqa: E501 + total: Optional[StrictStr] = None + by_status: Optional[Dict[str, StrictStr]] = None + __properties: ClassVar[List[str]] = ["total", "by_status"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DomainsSummary from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DomainsSummary from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "total": obj.get("total"), + "by_status": obj.get("by_status") + }) + return _obj + + diff --git a/koyeb/api_async/models/env.py b/koyeb/api_async/models/env.py new file mode 100644 index 00000000..4f05c55d --- /dev/null +++ b/koyeb/api_async/models/env.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Env(BaseModel): + """ + Env + """ # noqa: E501 + key: Optional[StrictStr] = None + value: Optional[StrictStr] = None + secret: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["key", "value", "secret"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Env from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Env from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "key": obj.get("key"), + "value": obj.get("value"), + "secret": obj.get("secret") + }) + return _obj + + diff --git a/koyeb/api_async/models/error.py b/koyeb/api_async/models/error.py new file mode 100644 index 00000000..a7c14eae --- /dev/null +++ b/koyeb/api_async/models/error.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Error(BaseModel): + """ + Error + """ # noqa: E501 + status: Optional[StrictInt] = None + code: Optional[StrictStr] = None + message: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["status", "code", "message"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Error from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Error from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "status": obj.get("status"), + "code": obj.get("code"), + "message": obj.get("message") + }) + return _obj + + diff --git a/koyeb/api_async/models/error_field.py b/koyeb/api_async/models/error_field.py new file mode 100644 index 00000000..0672a721 --- /dev/null +++ b/koyeb/api_async/models/error_field.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ErrorField(BaseModel): + """ + ErrorField + """ # noqa: E501 + var_field: Optional[StrictStr] = Field(default=None, alias="field") + description: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["field", "description"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ErrorField from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ErrorField from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "field": obj.get("field"), + "description": obj.get("description") + }) + return _obj + + diff --git a/koyeb/api_async/models/error_with_fields.py b/koyeb/api_async/models/error_with_fields.py new file mode 100644 index 00000000..6c18c8f6 --- /dev/null +++ b/koyeb/api_async/models/error_with_fields.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.error_field import ErrorField +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ErrorWithFields(BaseModel): + """ + ErrorWithFields + """ # noqa: E501 + status: Optional[StrictInt] = None + code: Optional[StrictStr] = None + message: Optional[StrictStr] = None + fields: Optional[List[ErrorField]] = None + __properties: ClassVar[List[str]] = ["status", "code", "message", "fields"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ErrorWithFields from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in fields (list) + _items = [] + if self.fields: + for _item_fields in self.fields: + if _item_fields: + _items.append(_item_fields.to_dict()) + _dict['fields'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ErrorWithFields from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "status": obj.get("status"), + "code": obj.get("code"), + "message": obj.get("message"), + "fields": [ErrorField.from_dict(_item) for _item in obj["fields"]] if obj.get("fields") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/exec_command_io.py b/koyeb/api_async/models/exec_command_io.py new file mode 100644 index 00000000..eb3d337c --- /dev/null +++ b/koyeb/api_async/models/exec_command_io.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, field_validator +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ExecCommandIO(BaseModel): + """ + ExecCommandIO + """ # noqa: E501 + data: Optional[Union[Annotated[bytes, Field(strict=True)], Annotated[str, Field(strict=True)]]] = Field(default=None, description="Data is base64 encoded") + close: Optional[StrictBool] = Field(default=None, description="Indicate last data frame") + __properties: ClassVar[List[str]] = ["data", "close"] + + @field_validator('data') + def data_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not isinstance(value, str): + value = str(value) + + if not re.match(r"^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$", value): + raise ValueError(r"must validate the regular expression /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/") + return value + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExecCommandIO from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ExecCommandIO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": obj.get("data"), + "close": obj.get("close") + }) + return _obj + + diff --git a/koyeb/api_async/models/exec_command_reply.py b/koyeb/api_async/models/exec_command_reply.py new file mode 100644 index 00000000..31703d82 --- /dev/null +++ b/koyeb/api_async/models/exec_command_reply.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.exec_command_io import ExecCommandIO +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ExecCommandReply(BaseModel): + """ + ExecCommandReply + """ # noqa: E501 + stdout: Optional[ExecCommandIO] = None + stderr: Optional[ExecCommandIO] = None + exited: Optional[StrictBool] = None + exit_code: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["stdout", "stderr", "exited", "exit_code"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExecCommandReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of stdout + if self.stdout: + _dict['stdout'] = self.stdout.to_dict() + # override the default output from pydantic by calling `to_dict()` of stderr + if self.stderr: + _dict['stderr'] = self.stderr.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ExecCommandReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "stdout": ExecCommandIO.from_dict(obj["stdout"]) if obj.get("stdout") is not None else None, + "stderr": ExecCommandIO.from_dict(obj["stderr"]) if obj.get("stderr") is not None else None, + "exited": obj.get("exited"), + "exit_code": obj.get("exit_code") + }) + return _obj + + diff --git a/koyeb/api_async/models/exec_command_request_body.py b/koyeb/api_async/models/exec_command_request_body.py new file mode 100644 index 00000000..3404b283 --- /dev/null +++ b/koyeb/api_async/models/exec_command_request_body.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.exec_command_io import ExecCommandIO +from koyeb.api_async.models.exec_command_request_terminal_size import ExecCommandRequestTerminalSize +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ExecCommandRequestBody(BaseModel): + """ + ExecCommandRequestBody + """ # noqa: E501 + command: Optional[List[StrictStr]] = Field(default=None, description="Command to exec. Mandatory in the first frame sent") + tty_size: Optional[ExecCommandRequestTerminalSize] = None + stdin: Optional[ExecCommandIO] = None + disable_tty: Optional[StrictBool] = Field(default=None, description="Disable TTY. It's enough to specify it in the first frame", alias="disableTty") + __properties: ClassVar[List[str]] = ["command", "tty_size", "stdin", "disableTty"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExecCommandRequestBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of tty_size + if self.tty_size: + _dict['tty_size'] = self.tty_size.to_dict() + # override the default output from pydantic by calling `to_dict()` of stdin + if self.stdin: + _dict['stdin'] = self.stdin.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ExecCommandRequestBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "command": obj.get("command"), + "tty_size": ExecCommandRequestTerminalSize.from_dict(obj["tty_size"]) if obj.get("tty_size") is not None else None, + "stdin": ExecCommandIO.from_dict(obj["stdin"]) if obj.get("stdin") is not None else None, + "disableTty": obj.get("disableTty") + }) + return _obj + + diff --git a/koyeb/api_async/models/exec_command_request_id_type.py b/koyeb/api_async/models/exec_command_request_id_type.py new file mode 100644 index 00000000..9893c9dc --- /dev/null +++ b/koyeb/api_async/models/exec_command_request_id_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class ExecCommandRequestIdType(str, Enum): + """ + ExecCommandRequestIdType + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + INSTANCE_ID = 'INSTANCE_ID' + SERVICE_ID = 'SERVICE_ID' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ExecCommandRequestIdType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/exec_command_request_terminal_size.py b/koyeb/api_async/models/exec_command_request_terminal_size.py new file mode 100644 index 00000000..c0834f4d --- /dev/null +++ b/koyeb/api_async/models/exec_command_request_terminal_size.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ExecCommandRequestTerminalSize(BaseModel): + """ + ExecCommandRequestTerminalSize + """ # noqa: E501 + height: Optional[StrictInt] = None + width: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["height", "width"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ExecCommandRequestTerminalSize from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ExecCommandRequestTerminalSize from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "height": obj.get("height"), + "width": obj.get("width") + }) + return _obj + + diff --git a/koyeb/api_async/models/gcp_container_registry_configuration.py b/koyeb/api_async/models/gcp_container_registry_configuration.py new file mode 100644 index 00000000..2afa4c13 --- /dev/null +++ b/koyeb/api_async/models/gcp_container_registry_configuration.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GCPContainerRegistryConfiguration(BaseModel): + """ + GCPContainerRegistryConfiguration + """ # noqa: E501 + keyfile_content: Optional[StrictStr] = None + url: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["keyfile_content", "url"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GCPContainerRegistryConfiguration from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GCPContainerRegistryConfiguration from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "keyfile_content": obj.get("keyfile_content"), + "url": obj.get("url") + }) + return _obj + + diff --git a/koyeb/api_async/models/get_app_reply.py b/koyeb/api_async/models/get_app_reply.py new file mode 100644 index 00000000..11630d8d --- /dev/null +++ b/koyeb/api_async/models/get_app_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.app import App +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetAppReply(BaseModel): + """ + GetAppReply + """ # noqa: E501 + app: Optional[App] = None + __properties: ClassVar[List[str]] = ["app"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetAppReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of app + if self.app: + _dict['app'] = self.app.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAppReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "app": App.from_dict(obj["app"]) if obj.get("app") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_budget_reply.py b/koyeb/api_async/models/get_budget_reply.py new file mode 100644 index 00000000..3e769f48 --- /dev/null +++ b/koyeb/api_async/models/get_budget_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.budget import Budget +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetBudgetReply(BaseModel): + """ + GetBudgetReply + """ # noqa: E501 + budget: Optional[Budget] = None + __properties: ClassVar[List[str]] = ["budget"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetBudgetReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of budget + if self.budget: + _dict['budget'] = self.budget.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetBudgetReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "budget": Budget.from_dict(obj["budget"]) if obj.get("budget") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_catalog_instance_reply.py b/koyeb/api_async/models/get_catalog_instance_reply.py new file mode 100644 index 00000000..42c0b834 --- /dev/null +++ b/koyeb/api_async/models/get_catalog_instance_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.catalog_instance import CatalogInstance +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetCatalogInstanceReply(BaseModel): + """ + GetCatalogInstanceReply + """ # noqa: E501 + instance: Optional[CatalogInstance] = None + __properties: ClassVar[List[str]] = ["instance"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetCatalogInstanceReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of instance + if self.instance: + _dict['instance'] = self.instance.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetCatalogInstanceReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "instance": CatalogInstance.from_dict(obj["instance"]) if obj.get("instance") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_credential_reply.py b/koyeb/api_async/models/get_credential_reply.py new file mode 100644 index 00000000..74e436d2 --- /dev/null +++ b/koyeb/api_async/models/get_credential_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.credential import Credential +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetCredentialReply(BaseModel): + """ + GetCredentialReply + """ # noqa: E501 + credential: Optional[Credential] = None + __properties: ClassVar[List[str]] = ["credential"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetCredentialReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of credential + if self.credential: + _dict['credential'] = self.credential.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetCredentialReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "credential": Credential.from_dict(obj["credential"]) if obj.get("credential") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_deployment_reply.py b/koyeb/api_async/models/get_deployment_reply.py new file mode 100644 index 00000000..2062c00c --- /dev/null +++ b/koyeb/api_async/models/get_deployment_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment import Deployment +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetDeploymentReply(BaseModel): + """ + GetDeploymentReply + """ # noqa: E501 + deployment: Optional[Deployment] = None + __properties: ClassVar[List[str]] = ["deployment"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetDeploymentReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of deployment + if self.deployment: + _dict['deployment'] = self.deployment.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetDeploymentReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "deployment": Deployment.from_dict(obj["deployment"]) if obj.get("deployment") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_deployment_scaling_reply.py b/koyeb/api_async/models/get_deployment_scaling_reply.py new file mode 100644 index 00000000..4217354d --- /dev/null +++ b/koyeb/api_async/models/get_deployment_scaling_reply.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.get_deployment_scaling_reply_item import GetDeploymentScalingReplyItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetDeploymentScalingReply(BaseModel): + """ + GetDeploymentScalingReply + """ # noqa: E501 + replicas: Optional[List[GetDeploymentScalingReplyItem]] = None + __properties: ClassVar[List[str]] = ["replicas"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetDeploymentScalingReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in replicas (list) + _items = [] + if self.replicas: + for _item_replicas in self.replicas: + if _item_replicas: + _items.append(_item_replicas.to_dict()) + _dict['replicas'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetDeploymentScalingReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "replicas": [GetDeploymentScalingReplyItem.from_dict(_item) for _item in obj["replicas"]] if obj.get("replicas") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_deployment_scaling_reply_item.py b/koyeb/api_async/models/get_deployment_scaling_reply_item.py new file mode 100644 index 00000000..0a66e65e --- /dev/null +++ b/koyeb/api_async/models/get_deployment_scaling_reply_item.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.instance import Instance +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetDeploymentScalingReplyItem(BaseModel): + """ + GetDeploymentScalingReplyItem + """ # noqa: E501 + region: Optional[StrictStr] = None + replica_index: Optional[StrictInt] = None + instances: Optional[List[Instance]] = Field(default=None, description="An array of `active` and `starting` instances. Status of the active instance (and if none the most recent instance) string status = 4; Status message of the active instance (and if none the most recent instance) string message = 5;") + __properties: ClassVar[List[str]] = ["region", "replica_index", "instances"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetDeploymentScalingReplyItem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in instances (list) + _items = [] + if self.instances: + for _item_instances in self.instances: + if _item_instances: + _items.append(_item_instances.to_dict()) + _dict['instances'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetDeploymentScalingReplyItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "region": obj.get("region"), + "replica_index": obj.get("replica_index"), + "instances": [Instance.from_dict(_item) for _item in obj["instances"]] if obj.get("instances") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_domain_reply.py b/koyeb/api_async/models/get_domain_reply.py new file mode 100644 index 00000000..2086f049 --- /dev/null +++ b/koyeb/api_async/models/get_domain_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.domain import Domain +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetDomainReply(BaseModel): + """ + GetDomainReply + """ # noqa: E501 + domain: Optional[Domain] = None + __properties: ClassVar[List[str]] = ["domain"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetDomainReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of domain + if self.domain: + _dict['domain'] = self.domain.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetDomainReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "domain": Domain.from_dict(obj["domain"]) if obj.get("domain") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_github_installation_reply.py b/koyeb/api_async/models/get_github_installation_reply.py new file mode 100644 index 00000000..2d3d7dc5 --- /dev/null +++ b/koyeb/api_async/models/get_github_installation_reply.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.kgitproxy_github_installation_status import KgitproxyGithubInstallationStatus +from koyeb.api_async.models.kgitproxy_indexing_status import KgitproxyIndexingStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetGithubInstallationReply(BaseModel): + """ + GetGithubInstallationReply + """ # noqa: E501 + installation_id: Optional[StrictStr] = None + installation_url: Optional[StrictStr] = None + name: Optional[StrictStr] = None + avatar_url: Optional[StrictStr] = None + status: Optional[KgitproxyGithubInstallationStatus] = KgitproxyGithubInstallationStatus.INVALID + installed_at: Optional[datetime] = None + suspended_at: Optional[datetime] = None + indexing_status: Optional[KgitproxyIndexingStatus] = KgitproxyIndexingStatus.INVALID_INDEXING_STATUS + indexed_repositories: Optional[StrictInt] = None + total_repositories: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["installation_id", "installation_url", "name", "avatar_url", "status", "installed_at", "suspended_at", "indexing_status", "indexed_repositories", "total_repositories"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetGithubInstallationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetGithubInstallationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "installation_id": obj.get("installation_id"), + "installation_url": obj.get("installation_url"), + "name": obj.get("name"), + "avatar_url": obj.get("avatar_url"), + "status": obj.get("status") if obj.get("status") is not None else KgitproxyGithubInstallationStatus.INVALID, + "installed_at": obj.get("installed_at"), + "suspended_at": obj.get("suspended_at"), + "indexing_status": obj.get("indexing_status") if obj.get("indexing_status") is not None else KgitproxyIndexingStatus.INVALID_INDEXING_STATUS, + "indexed_repositories": obj.get("indexed_repositories"), + "total_repositories": obj.get("total_repositories") + }) + return _obj + + diff --git a/koyeb/api_async/models/get_idenfy_token_reply.py b/koyeb/api_async/models/get_idenfy_token_reply.py new file mode 100644 index 00000000..68f867f4 --- /dev/null +++ b/koyeb/api_async/models/get_idenfy_token_reply.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetIdenfyTokenReply(BaseModel): + """ + GetIdenfyTokenReply + """ # noqa: E501 + auth_token: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["auth_token"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetIdenfyTokenReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetIdenfyTokenReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "auth_token": obj.get("auth_token") + }) + return _obj + + diff --git a/koyeb/api_async/models/get_instance_reply.py b/koyeb/api_async/models/get_instance_reply.py new file mode 100644 index 00000000..e523be0c --- /dev/null +++ b/koyeb/api_async/models/get_instance_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.instance import Instance +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetInstanceReply(BaseModel): + """ + GetInstanceReply + """ # noqa: E501 + instance: Optional[Instance] = None + __properties: ClassVar[List[str]] = ["instance"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetInstanceReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of instance + if self.instance: + _dict['instance'] = self.instance.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetInstanceReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "instance": Instance.from_dict(obj["instance"]) if obj.get("instance") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_intercom_profile_reply.py b/koyeb/api_async/models/get_intercom_profile_reply.py new file mode 100644 index 00000000..0c201cb7 --- /dev/null +++ b/koyeb/api_async/models/get_intercom_profile_reply.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetIntercomProfileReply(BaseModel): + """ + GetIntercomProfileReply + """ # noqa: E501 + hash: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["hash"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetIntercomProfileReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetIntercomProfileReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "hash": obj.get("hash") + }) + return _obj + + diff --git a/koyeb/api_async/models/get_metrics_reply.py b/koyeb/api_async/models/get_metrics_reply.py new file mode 100644 index 00000000..17ad55bc --- /dev/null +++ b/koyeb/api_async/models/get_metrics_reply.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.get_metrics_reply_metric import GetMetricsReplyMetric +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetMetricsReply(BaseModel): + """ + GetMetricsReply + """ # noqa: E501 + metrics: Optional[List[GetMetricsReplyMetric]] = None + __properties: ClassVar[List[str]] = ["metrics"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetMetricsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in metrics (list) + _items = [] + if self.metrics: + for _item_metrics in self.metrics: + if _item_metrics: + _items.append(_item_metrics.to_dict()) + _dict['metrics'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetMetricsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "metrics": [GetMetricsReplyMetric.from_dict(_item) for _item in obj["metrics"]] if obj.get("metrics") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_metrics_reply_metric.py b/koyeb/api_async/models/get_metrics_reply_metric.py new file mode 100644 index 00000000..9e104f63 --- /dev/null +++ b/koyeb/api_async/models/get_metrics_reply_metric.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.sample import Sample +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetMetricsReplyMetric(BaseModel): + """ + GetMetricsReplyMetric + """ # noqa: E501 + labels: Optional[Dict[str, StrictStr]] = None + samples: Optional[List[Sample]] = None + __properties: ClassVar[List[str]] = ["labels", "samples"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetMetricsReplyMetric from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in samples (list) + _items = [] + if self.samples: + for _item_samples in self.samples: + if _item_samples: + _items.append(_item_samples.to_dict()) + _dict['samples'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetMetricsReplyMetric from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "labels": obj.get("labels"), + "samples": [Sample.from_dict(_item) for _item in obj["samples"]] if obj.get("samples") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_o_auth_options_reply.py b/koyeb/api_async/models/get_o_auth_options_reply.py new file mode 100644 index 00000000..648a1650 --- /dev/null +++ b/koyeb/api_async/models/get_o_auth_options_reply.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.o_auth_provider import OAuthProvider +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetOAuthOptionsReply(BaseModel): + """ + A list of providers which you can use for single sign-on. + """ # noqa: E501 + oauth_providers: Optional[List[OAuthProvider]] = None + __properties: ClassVar[List[str]] = ["oauth_providers"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetOAuthOptionsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in oauth_providers (list) + _items = [] + if self.oauth_providers: + for _item_oauth_providers in self.oauth_providers: + if _item_oauth_providers: + _items.append(_item_oauth_providers.to_dict()) + _dict['oauth_providers'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetOAuthOptionsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "oauth_providers": [OAuthProvider.from_dict(_item) for _item in obj["oauth_providers"]] if obj.get("oauth_providers") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_organization_invitation_reply.py b/koyeb/api_async/models/get_organization_invitation_reply.py new file mode 100644 index 00000000..fee01ede --- /dev/null +++ b/koyeb/api_async/models/get_organization_invitation_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_invitation import OrganizationInvitation +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetOrganizationInvitationReply(BaseModel): + """ + GetOrganizationInvitationReply + """ # noqa: E501 + invitation: Optional[OrganizationInvitation] = None + __properties: ClassVar[List[str]] = ["invitation"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetOrganizationInvitationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of invitation + if self.invitation: + _dict['invitation'] = self.invitation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetOrganizationInvitationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "invitation": OrganizationInvitation.from_dict(obj["invitation"]) if obj.get("invitation") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_organization_reply.py b/koyeb/api_async/models/get_organization_reply.py new file mode 100644 index 00000000..8e8444ca --- /dev/null +++ b/koyeb/api_async/models/get_organization_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetOrganizationReply(BaseModel): + """ + GetOrganizationReply + """ # noqa: E501 + organization: Optional[Organization] = None + __properties: ClassVar[List[str]] = ["organization"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetOrganizationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetOrganizationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization": Organization.from_dict(obj["organization"]) if obj.get("organization") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_organization_summary_reply.py b/koyeb/api_async/models/get_organization_summary_reply.py new file mode 100644 index 00000000..7d517141 --- /dev/null +++ b/koyeb/api_async/models/get_organization_summary_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_summary import OrganizationSummary +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetOrganizationSummaryReply(BaseModel): + """ + GetOrganizationSummaryReply + """ # noqa: E501 + summary: Optional[OrganizationSummary] = None + __properties: ClassVar[List[str]] = ["summary"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetOrganizationSummaryReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of summary + if self.summary: + _dict['summary'] = self.summary.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetOrganizationSummaryReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "summary": OrganizationSummary.from_dict(obj["summary"]) if obj.get("summary") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_organization_usage_details_reply.py b/koyeb/api_async/models/get_organization_usage_details_reply.py new file mode 100644 index 00000000..79cc91a3 --- /dev/null +++ b/koyeb/api_async/models/get_organization_usage_details_reply.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.database_usage_details import DatabaseUsageDetails +from koyeb.api_async.models.usage_details import UsageDetails +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetOrganizationUsageDetailsReply(BaseModel): + """ + GetOrganizationUsageDetailsReply + """ # noqa: E501 + usage_details: Optional[List[UsageDetails]] = None + database_details: Optional[List[DatabaseUsageDetails]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + order: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["usage_details", "database_details", "limit", "offset", "count", "order"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetOrganizationUsageDetailsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in usage_details (list) + _items = [] + if self.usage_details: + for _item_usage_details in self.usage_details: + if _item_usage_details: + _items.append(_item_usage_details.to_dict()) + _dict['usage_details'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in database_details (list) + _items = [] + if self.database_details: + for _item_database_details in self.database_details: + if _item_database_details: + _items.append(_item_database_details.to_dict()) + _dict['database_details'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetOrganizationUsageDetailsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "usage_details": [UsageDetails.from_dict(_item) for _item in obj["usage_details"]] if obj.get("usage_details") is not None else None, + "database_details": [DatabaseUsageDetails.from_dict(_item) for _item in obj["database_details"]] if obj.get("database_details") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count"), + "order": obj.get("order") + }) + return _obj + + diff --git a/koyeb/api_async/models/get_organization_usage_reply.py b/koyeb/api_async/models/get_organization_usage_reply.py new file mode 100644 index 00000000..dd481cbd --- /dev/null +++ b/koyeb/api_async/models/get_organization_usage_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.usage import Usage +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetOrganizationUsageReply(BaseModel): + """ + GetOrganizationUsageReply + """ # noqa: E501 + usage: Optional[Usage] = None + __properties: ClassVar[List[str]] = ["usage"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetOrganizationUsageReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of usage + if self.usage: + _dict['usage'] = self.usage.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetOrganizationUsageReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "usage": Usage.from_dict(obj["usage"]) if obj.get("usage") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_payment_method_reply.py b/koyeb/api_async/models/get_payment_method_reply.py new file mode 100644 index 00000000..227e3bcd --- /dev/null +++ b/koyeb/api_async/models/get_payment_method_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.payment_method import PaymentMethod +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetPaymentMethodReply(BaseModel): + """ + GetPaymentMethodReply + """ # noqa: E501 + payment_method: Optional[PaymentMethod] = None + __properties: ClassVar[List[str]] = ["payment_method"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPaymentMethodReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of payment_method + if self.payment_method: + _dict['payment_method'] = self.payment_method.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPaymentMethodReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "payment_method": PaymentMethod.from_dict(obj["payment_method"]) if obj.get("payment_method") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_persistent_volume_reply.py b/koyeb/api_async/models/get_persistent_volume_reply.py new file mode 100644 index 00000000..b411593c --- /dev/null +++ b/koyeb/api_async/models/get_persistent_volume_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.persistent_volume import PersistentVolume +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetPersistentVolumeReply(BaseModel): + """ + GetPersistentVolumeReply + """ # noqa: E501 + volume: Optional[PersistentVolume] = None + __properties: ClassVar[List[str]] = ["volume"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetPersistentVolumeReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of volume + if self.volume: + _dict['volume'] = self.volume.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetPersistentVolumeReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "volume": PersistentVolume.from_dict(obj["volume"]) if obj.get("volume") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_project_reply.py b/koyeb/api_async/models/get_project_reply.py new file mode 100644 index 00000000..5b0a058b --- /dev/null +++ b/koyeb/api_async/models/get_project_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.project import Project +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetProjectReply(BaseModel): + """ + GetProjectReply + """ # noqa: E501 + project: Optional[Project] = None + __properties: ClassVar[List[str]] = ["project"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetProjectReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetProjectReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_quotas_reply.py b/koyeb/api_async/models/get_quotas_reply.py new file mode 100644 index 00000000..ec016b24 --- /dev/null +++ b/koyeb/api_async/models/get_quotas_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.quotas import Quotas +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetQuotasReply(BaseModel): + """ + GetQuotasReply + """ # noqa: E501 + quotas: Optional[Quotas] = None + __properties: ClassVar[List[str]] = ["quotas"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetQuotasReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of quotas + if self.quotas: + _dict['quotas'] = self.quotas.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetQuotasReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "quotas": Quotas.from_dict(obj["quotas"]) if obj.get("quotas") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_region_reply.py b/koyeb/api_async/models/get_region_reply.py new file mode 100644 index 00000000..c728ef31 --- /dev/null +++ b/koyeb/api_async/models/get_region_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.region import Region +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetRegionReply(BaseModel): + """ + GetRegionReply + """ # noqa: E501 + region: Optional[Region] = None + __properties: ClassVar[List[str]] = ["region"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRegionReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of region + if self.region: + _dict['region'] = self.region.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRegionReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "region": Region.from_dict(obj["region"]) if obj.get("region") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_regional_deployment_reply.py b/koyeb/api_async/models/get_regional_deployment_reply.py new file mode 100644 index 00000000..c34588b8 --- /dev/null +++ b/koyeb/api_async/models/get_regional_deployment_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.regional_deployment import RegionalDeployment +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetRegionalDeploymentReply(BaseModel): + """ + GetRegionalDeploymentReply + """ # noqa: E501 + regional_deployment: Optional[RegionalDeployment] = None + __properties: ClassVar[List[str]] = ["regional_deployment"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetRegionalDeploymentReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of regional_deployment + if self.regional_deployment: + _dict['regional_deployment'] = self.regional_deployment.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRegionalDeploymentReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "regional_deployment": RegionalDeployment.from_dict(obj["regional_deployment"]) if obj.get("regional_deployment") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_secret_reply.py b/koyeb/api_async/models/get_secret_reply.py new file mode 100644 index 00000000..aef295c8 --- /dev/null +++ b/koyeb/api_async/models/get_secret_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.secret import Secret +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetSecretReply(BaseModel): + """ + GetSecretReply + """ # noqa: E501 + secret: Optional[Secret] = None + __properties: ClassVar[List[str]] = ["secret"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetSecretReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of secret + if self.secret: + _dict['secret'] = self.secret.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetSecretReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "secret": Secret.from_dict(obj["secret"]) if obj.get("secret") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_service_reply.py b/koyeb/api_async/models/get_service_reply.py new file mode 100644 index 00000000..3e1bd49d --- /dev/null +++ b/koyeb/api_async/models/get_service_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.service import Service +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetServiceReply(BaseModel): + """ + GetServiceReply + """ # noqa: E501 + service: Optional[Service] = None + __properties: ClassVar[List[str]] = ["service"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetServiceReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of service + if self.service: + _dict['service'] = self.service.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetServiceReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "service": Service.from_dict(obj["service"]) if obj.get("service") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_service_scaling_reply.py b/koyeb/api_async/models/get_service_scaling_reply.py new file mode 100644 index 00000000..e0500b23 --- /dev/null +++ b/koyeb/api_async/models/get_service_scaling_reply.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.manual_service_scaling import ManualServiceScaling +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetServiceScalingReply(BaseModel): + """ + GetServiceScalingReply + """ # noqa: E501 + scalings: Optional[List[ManualServiceScaling]] = None + __properties: ClassVar[List[str]] = ["scalings"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetServiceScalingReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in scalings (list) + _items = [] + if self.scalings: + for _item_scalings in self.scalings: + if _item_scalings: + _items.append(_item_scalings.to_dict()) + _dict['scalings'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetServiceScalingReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "scalings": [ManualServiceScaling.from_dict(_item) for _item in obj["scalings"]] if obj.get("scalings") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_snapshot_reply.py b/koyeb/api_async/models/get_snapshot_reply.py new file mode 100644 index 00000000..46809d7d --- /dev/null +++ b/koyeb/api_async/models/get_snapshot_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.snapshot import Snapshot +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetSnapshotReply(BaseModel): + """ + GetSnapshotReply + """ # noqa: E501 + snapshot: Optional[Snapshot] = None + __properties: ClassVar[List[str]] = ["snapshot"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetSnapshotReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of snapshot + if self.snapshot: + _dict['snapshot'] = self.snapshot.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetSnapshotReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "snapshot": Snapshot.from_dict(obj["snapshot"]) if obj.get("snapshot") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_subscription_reply.py b/koyeb/api_async/models/get_subscription_reply.py new file mode 100644 index 00000000..673dc939 --- /dev/null +++ b/koyeb/api_async/models/get_subscription_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.subscription import Subscription +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetSubscriptionReply(BaseModel): + """ + GetSubscriptionReply + """ # noqa: E501 + subscription: Optional[Subscription] = None + __properties: ClassVar[List[str]] = ["subscription"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetSubscriptionReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of subscription + if self.subscription: + _dict['subscription'] = self.subscription.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetSubscriptionReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "subscription": Subscription.from_dict(obj["subscription"]) if obj.get("subscription") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_user_organization_invitation_reply.py b/koyeb/api_async/models/get_user_organization_invitation_reply.py new file mode 100644 index 00000000..ef3f659e --- /dev/null +++ b/koyeb/api_async/models/get_user_organization_invitation_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_invitation import OrganizationInvitation +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetUserOrganizationInvitationReply(BaseModel): + """ + GetUserOrganizationInvitationReply + """ # noqa: E501 + invitation: Optional[OrganizationInvitation] = None + __properties: ClassVar[List[str]] = ["invitation"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetUserOrganizationInvitationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of invitation + if self.invitation: + _dict['invitation'] = self.invitation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetUserOrganizationInvitationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "invitation": OrganizationInvitation.from_dict(obj["invitation"]) if obj.get("invitation") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/get_user_settings_reply.py b/koyeb/api_async/models/get_user_settings_reply.py new file mode 100644 index 00000000..2a7c0b6f --- /dev/null +++ b/koyeb/api_async/models/get_user_settings_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.user_settings import UserSettings +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GetUserSettingsReply(BaseModel): + """ + GetUserSettingsReply + """ # noqa: E501 + settings: Optional[UserSettings] = None + __properties: ClassVar[List[str]] = ["settings"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GetUserSettingsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of settings + if self.settings: + _dict['settings'] = self.settings.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetUserSettingsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "settings": UserSettings.from_dict(obj["settings"]) if obj.get("settings") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/git_deployment_metadata.py b/koyeb/api_async/models/git_deployment_metadata.py new file mode 100644 index 00000000..6dc8c00e --- /dev/null +++ b/koyeb/api_async/models/git_deployment_metadata.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.git_env_deployment_metadata import GitEnvDeploymentMetadata +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GitDeploymentMetadata(BaseModel): + """ + GitDeploymentMetadata + """ # noqa: E501 + last_provisioned_deployment_id: Optional[StrictStr] = None + git_env: Optional[GitEnvDeploymentMetadata] = None + __properties: ClassVar[List[str]] = ["last_provisioned_deployment_id", "git_env"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GitDeploymentMetadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of git_env + if self.git_env: + _dict['git_env'] = self.git_env.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GitDeploymentMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "last_provisioned_deployment_id": obj.get("last_provisioned_deployment_id"), + "git_env": GitEnvDeploymentMetadata.from_dict(obj["git_env"]) if obj.get("git_env") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/git_env_deployment_metadata.py b/koyeb/api_async/models/git_env_deployment_metadata.py new file mode 100644 index 00000000..8a7a5710 --- /dev/null +++ b/koyeb/api_async/models/git_env_deployment_metadata.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GitEnvDeploymentMetadata(BaseModel): + """ + GitEnvDeploymentMetadata + """ # noqa: E501 + sha: Optional[StrictStr] = None + commit_author: Optional[StrictStr] = None + commit_message: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["sha", "commit_author", "commit_message"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GitEnvDeploymentMetadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GitEnvDeploymentMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "sha": obj.get("sha"), + "commit_author": obj.get("commit_author"), + "commit_message": obj.get("commit_message") + }) + return _obj + + diff --git a/koyeb/api_async/models/git_hub_registry_configuration.py b/koyeb/api_async/models/git_hub_registry_configuration.py new file mode 100644 index 00000000..ca3244ad --- /dev/null +++ b/koyeb/api_async/models/git_hub_registry_configuration.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GitHubRegistryConfiguration(BaseModel): + """ + GitHubRegistryConfiguration + """ # noqa: E501 + username: Optional[StrictStr] = None + password: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["username", "password"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GitHubRegistryConfiguration from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GitHubRegistryConfiguration from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "username": obj.get("username"), + "password": obj.get("password") + }) + return _obj + + diff --git a/koyeb/api_async/models/git_lab_registry_configuration.py b/koyeb/api_async/models/git_lab_registry_configuration.py new file mode 100644 index 00000000..0b792b9a --- /dev/null +++ b/koyeb/api_async/models/git_lab_registry_configuration.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GitLabRegistryConfiguration(BaseModel): + """ + GitLabRegistryConfiguration + """ # noqa: E501 + username: Optional[StrictStr] = None + password: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["username", "password"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GitLabRegistryConfiguration from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GitLabRegistryConfiguration from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "username": obj.get("username"), + "password": obj.get("password") + }) + return _obj + + diff --git a/koyeb/api_async/models/git_source.py b/koyeb/api_async/models/git_source.py new file mode 100644 index 00000000..f9401658 --- /dev/null +++ b/koyeb/api_async/models/git_source.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.buildpack_builder import BuildpackBuilder +from koyeb.api_async.models.docker_builder import DockerBuilder +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GitSource(BaseModel): + """ + GitSource + """ # noqa: E501 + repository: Optional[StrictStr] = Field(default=None, description="A url to a git repository (contains the provider as well) .e.g: github.com/koyeb/test.") + branch: Optional[StrictStr] = None + tag: Optional[StrictStr] = None + sha: Optional[StrictStr] = None + build_command: Optional[StrictStr] = None + run_command: Optional[StrictStr] = None + no_deploy_on_push: Optional[StrictBool] = None + workdir: Optional[StrictStr] = None + buildpack: Optional[BuildpackBuilder] = None + docker: Optional[DockerBuilder] = None + __properties: ClassVar[List[str]] = ["repository", "branch", "tag", "sha", "build_command", "run_command", "no_deploy_on_push", "workdir", "buildpack", "docker"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GitSource from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of buildpack + if self.buildpack: + _dict['buildpack'] = self.buildpack.to_dict() + # override the default output from pydantic by calling `to_dict()` of docker + if self.docker: + _dict['docker'] = self.docker.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GitSource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "repository": obj.get("repository"), + "branch": obj.get("branch"), + "tag": obj.get("tag"), + "sha": obj.get("sha"), + "build_command": obj.get("build_command"), + "run_command": obj.get("run_command"), + "no_deploy_on_push": obj.get("no_deploy_on_push"), + "workdir": obj.get("workdir"), + "buildpack": BuildpackBuilder.from_dict(obj["buildpack"]) if obj.get("buildpack") is not None else None, + "docker": DockerBuilder.from_dict(obj["docker"]) if obj.get("docker") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/github_installation_reply.py b/koyeb/api_async/models/github_installation_reply.py new file mode 100644 index 00000000..210ea082 --- /dev/null +++ b/koyeb/api_async/models/github_installation_reply.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GithubInstallationReply(BaseModel): + """ + GithubInstallationReply + """ # noqa: E501 + app_name: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + url: Optional[StrictStr] = None + state: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["app_name", "app_id", "url", "state"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GithubInstallationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GithubInstallationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "app_name": obj.get("app_name"), + "app_id": obj.get("app_id"), + "url": obj.get("url"), + "state": obj.get("state") + }) + return _obj + + diff --git a/koyeb/api_async/models/github_installation_request.py b/koyeb/api_async/models/github_installation_request.py new file mode 100644 index 00000000..046aee5a --- /dev/null +++ b/koyeb/api_async/models/github_installation_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GithubInstallationRequest(BaseModel): + """ + GithubInstallationRequest + """ # noqa: E501 + metadata: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["metadata"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GithubInstallationRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GithubInstallationRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "metadata": obj.get("metadata") + }) + return _obj + + diff --git a/koyeb/api_async/models/google_protobuf_any.py b/koyeb/api_async/models/google_protobuf_any.py new file mode 100644 index 00000000..445ff6a9 --- /dev/null +++ b/koyeb/api_async/models/google_protobuf_any.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GoogleProtobufAny(BaseModel): + """ + GoogleProtobufAny + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, alias="@type") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["@type"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GoogleProtobufAny from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GoogleProtobufAny from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "@type": obj.get("@type") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/koyeb/api_async/models/google_protobuf_null_value.py b/koyeb/api_async/models/google_protobuf_null_value.py new file mode 100644 index 00000000..3b72b255 --- /dev/null +++ b/koyeb/api_async/models/google_protobuf_null_value.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class GoogleProtobufNullValue(str, Enum): + """ + `NullValue` is a singleton enumeration to represent the null value for the `Value` type union. The JSON representation for `NullValue` is JSON `null`. - NULL_VALUE: Null value. + """ + + """ + allowed enum values + """ + NULL_VALUE = 'NULL_VALUE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of GoogleProtobufNullValue from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/google_rpc_status.py b/koyeb/api_async/models/google_rpc_status.py new file mode 100644 index 00000000..c04a4ded --- /dev/null +++ b/koyeb/api_async/models/google_rpc_status.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.google_protobuf_any import GoogleProtobufAny +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class GoogleRpcStatus(BaseModel): + """ + GoogleRpcStatus + """ # noqa: E501 + code: Optional[StrictInt] = None + message: Optional[StrictStr] = None + details: Optional[List[GoogleProtobufAny]] = None + __properties: ClassVar[List[str]] = ["code", "message", "details"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of GoogleRpcStatus from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in details (list) + _items = [] + if self.details: + for _item_details in self.details: + if _item_details: + _items.append(_item_details.to_dict()) + _dict['details'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GoogleRpcStatus from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "code": obj.get("code"), + "message": obj.get("message"), + "details": [GoogleProtobufAny.from_dict(_item) for _item in obj["details"]] if obj.get("details") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/has_unpaid_invoices_reply.py b/koyeb/api_async/models/has_unpaid_invoices_reply.py new file mode 100644 index 00000000..55faf7bb --- /dev/null +++ b/koyeb/api_async/models/has_unpaid_invoices_reply.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class HasUnpaidInvoicesReply(BaseModel): + """ + HasUnpaidInvoicesReply + """ # noqa: E501 + has_unpaid_invoices: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["has_unpaid_invoices"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of HasUnpaidInvoicesReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HasUnpaidInvoicesReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "has_unpaid_invoices": obj.get("has_unpaid_invoices") + }) + return _obj + + diff --git a/koyeb/api_async/models/http_header.py b/koyeb/api_async/models/http_header.py new file mode 100644 index 00000000..063a5a75 --- /dev/null +++ b/koyeb/api_async/models/http_header.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class HTTPHeader(BaseModel): + """ + HTTPHeader + """ # noqa: E501 + key: Optional[StrictStr] = None + value: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["key", "value"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of HTTPHeader from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HTTPHeader from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "key": obj.get("key"), + "value": obj.get("value") + }) + return _obj + + diff --git a/koyeb/api_async/models/http_health_check.py b/koyeb/api_async/models/http_health_check.py new file mode 100644 index 00000000..4d4cc66d --- /dev/null +++ b/koyeb/api_async/models/http_health_check.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.http_header import HTTPHeader +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class HTTPHealthCheck(BaseModel): + """ + HTTPHealthCheck + """ # noqa: E501 + port: Optional[StrictInt] = None + path: Optional[StrictStr] = None + method: Optional[StrictStr] = None + headers: Optional[List[HTTPHeader]] = None + __properties: ClassVar[List[str]] = ["port", "path", "method", "headers"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of HTTPHealthCheck from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in headers (list) + _items = [] + if self.headers: + for _item_headers in self.headers: + if _item_headers: + _items.append(_item_headers.to_dict()) + _dict['headers'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HTTPHealthCheck from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "port": obj.get("port"), + "path": obj.get("path"), + "method": obj.get("method"), + "headers": [HTTPHeader.from_dict(_item) for _item in obj["headers"]] if obj.get("headers") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/instance.py b/koyeb/api_async/models/instance.py new file mode 100644 index 00000000..0fb98d94 --- /dev/null +++ b/koyeb/api_async/models/instance.py @@ -0,0 +1,126 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.instance_status import InstanceStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Instance(BaseModel): + """ + Instance + """ # noqa: E501 + id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + regional_deployment_id: Optional[StrictStr] = None + allocation_id: Optional[StrictStr] = None + type: Optional[StrictStr] = None + replica_index: Optional[StrictInt] = None + region: Optional[StrictStr] = None + datacenter: Optional[StrictStr] = None + hypervisor: Optional[StrictStr] = None + status: Optional[InstanceStatus] = InstanceStatus.ALLOCATING + messages: Optional[List[StrictStr]] = None + started_at: Optional[datetime] = None + succeeded_at: Optional[datetime] = None + terminated_at: Optional[datetime] = None + xyz_deployment_id: Optional[StrictStr] = Field(default=None, description="WARNING: Please don't use the following attribute. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK.") + __properties: ClassVar[List[str]] = ["id", "created_at", "updated_at", "organization_id", "app_id", "service_id", "regional_deployment_id", "allocation_id", "type", "replica_index", "region", "datacenter", "hypervisor", "status", "messages", "started_at", "succeeded_at", "terminated_at", "xyz_deployment_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Instance from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Instance from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "service_id": obj.get("service_id"), + "regional_deployment_id": obj.get("regional_deployment_id"), + "allocation_id": obj.get("allocation_id"), + "type": obj.get("type"), + "replica_index": obj.get("replica_index"), + "region": obj.get("region"), + "datacenter": obj.get("datacenter"), + "hypervisor": obj.get("hypervisor"), + "status": obj.get("status") if obj.get("status") is not None else InstanceStatus.ALLOCATING, + "messages": obj.get("messages"), + "started_at": obj.get("started_at"), + "succeeded_at": obj.get("succeeded_at"), + "terminated_at": obj.get("terminated_at"), + "xyz_deployment_id": obj.get("xyz_deployment_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/instance_availability.py b/koyeb/api_async/models/instance_availability.py new file mode 100644 index 00000000..4231e898 --- /dev/null +++ b/koyeb/api_async/models/instance_availability.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.availability_level import AvailabilityLevel +from koyeb.api_async.models.region_availability import RegionAvailability +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class InstanceAvailability(BaseModel): + """ + InstanceAvailability + """ # noqa: E501 + regions: Optional[Dict[str, RegionAvailability]] = None + availability: Optional[AvailabilityLevel] = AvailabilityLevel.UNKNOWN + __properties: ClassVar[List[str]] = ["regions", "availability"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InstanceAvailability from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each value in regions (dict) + _field_dict = {} + if self.regions: + for _key_regions in self.regions: + if self.regions[_key_regions]: + _field_dict[_key_regions] = self.regions[_key_regions].to_dict() + _dict['regions'] = _field_dict + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InstanceAvailability from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "regions": dict( + (_k, RegionAvailability.from_dict(_v)) + for _k, _v in obj["regions"].items() + ) + if obj.get("regions") is not None + else None, + "availability": obj.get("availability") if obj.get("availability") is not None else AvailabilityLevel.UNKNOWN + }) + return _obj + + diff --git a/koyeb/api_async/models/instance_event.py b/koyeb/api_async/models/instance_event.py new file mode 100644 index 00000000..da3ac224 --- /dev/null +++ b/koyeb/api_async/models/instance_event.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class InstanceEvent(BaseModel): + """ + InstanceEvent + """ # noqa: E501 + id: Optional[StrictStr] = None + when: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + instance_id: Optional[StrictStr] = None + type: Optional[StrictStr] = None + message: Optional[StrictStr] = None + metadata: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["id", "when", "organization_id", "instance_id", "type", "message", "metadata"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InstanceEvent from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InstanceEvent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "when": obj.get("when"), + "organization_id": obj.get("organization_id"), + "instance_id": obj.get("instance_id"), + "type": obj.get("type"), + "message": obj.get("message"), + "metadata": obj.get("metadata") + }) + return _obj + + diff --git a/koyeb/api_async/models/instance_list_item.py b/koyeb/api_async/models/instance_list_item.py new file mode 100644 index 00000000..18d88d61 --- /dev/null +++ b/koyeb/api_async/models/instance_list_item.py @@ -0,0 +1,118 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.instance_status import InstanceStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class InstanceListItem(BaseModel): + """ + InstanceListItem + """ # noqa: E501 + id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + regional_deployment_id: Optional[StrictStr] = None + allocation_id: Optional[StrictStr] = None + type: Optional[StrictStr] = None + replica_index: Optional[StrictInt] = None + region: Optional[StrictStr] = None + datacenter: Optional[StrictStr] = None + status: Optional[InstanceStatus] = InstanceStatus.ALLOCATING + messages: Optional[List[StrictStr]] = None + xyz_deployment_id: Optional[StrictStr] = Field(default=None, description="WARNING: Please don't use the following attribute. Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. USE AT YOUR OWN RISK.") + __properties: ClassVar[List[str]] = ["id", "created_at", "updated_at", "organization_id", "app_id", "service_id", "regional_deployment_id", "allocation_id", "type", "replica_index", "region", "datacenter", "status", "messages", "xyz_deployment_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InstanceListItem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InstanceListItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "service_id": obj.get("service_id"), + "regional_deployment_id": obj.get("regional_deployment_id"), + "allocation_id": obj.get("allocation_id"), + "type": obj.get("type"), + "replica_index": obj.get("replica_index"), + "region": obj.get("region"), + "datacenter": obj.get("datacenter"), + "status": obj.get("status") if obj.get("status") is not None else InstanceStatus.ALLOCATING, + "messages": obj.get("messages"), + "xyz_deployment_id": obj.get("xyz_deployment_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/instance_status.py b/koyeb/api_async/models/instance_status.py new file mode 100644 index 00000000..10443720 --- /dev/null +++ b/koyeb/api_async/models/instance_status.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class InstanceStatus(str, Enum): + """ + InstanceStatus + """ + + """ + allowed enum values + """ + ALLOCATING = 'ALLOCATING' + STARTING = 'STARTING' + HEALTHY = 'HEALTHY' + UNHEALTHY = 'UNHEALTHY' + STOPPING = 'STOPPING' + STOPPED = 'STOPPED' + ERROR = 'ERROR' + SLEEPING = 'SLEEPING' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of InstanceStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/instance_usage.py b/koyeb/api_async/models/instance_usage.py new file mode 100644 index 00000000..e63b0799 --- /dev/null +++ b/koyeb/api_async/models/instance_usage.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class InstanceUsage(BaseModel): + """ + InstanceUsage + """ # noqa: E501 + duration_seconds: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["duration_seconds"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InstanceUsage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InstanceUsage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "duration_seconds": obj.get("duration_seconds") + }) + return _obj + + diff --git a/koyeb/api_async/models/instances_summary.py b/koyeb/api_async/models/instances_summary.py new file mode 100644 index 00000000..982376b8 --- /dev/null +++ b/koyeb/api_async/models/instances_summary.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class InstancesSummary(BaseModel): + """ + InstancesSummary + """ # noqa: E501 + total: Optional[StrictStr] = None + by_type: Optional[Dict[str, StrictStr]] = None + __properties: ClassVar[List[str]] = ["total", "by_type"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InstancesSummary from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InstancesSummary from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "total": obj.get("total"), + "by_type": obj.get("by_type") + }) + return _obj + + diff --git a/koyeb/api_async/models/invite_user_request.py b/koyeb/api_async/models/invite_user_request.py new file mode 100644 index 00000000..6c05f27e --- /dev/null +++ b/koyeb/api_async/models/invite_user_request.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class InviteUserRequest(BaseModel): + """ + InviteUserRequest + """ # noqa: E501 + email: Optional[StrictStr] = None + name: Optional[StrictStr] = None + message: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["email", "name", "message"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of InviteUserRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of InviteUserRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "email": obj.get("email"), + "name": obj.get("name"), + "message": obj.get("message") + }) + return _obj + + diff --git a/koyeb/api_async/models/kgitproxy_branch.py b/koyeb/api_async/models/kgitproxy_branch.py new file mode 100644 index 00000000..99b27109 --- /dev/null +++ b/koyeb/api_async/models/kgitproxy_branch.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.kgitproxy_repository_provider import KgitproxyRepositoryProvider +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KgitproxyBranch(BaseModel): + """ + KgitproxyBranch + """ # noqa: E501 + id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + repository_id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + is_default: Optional[StrictBool] = None + is_protected: Optional[StrictBool] = None + provider: Optional[KgitproxyRepositoryProvider] = KgitproxyRepositoryProvider.INVALID_PROVIDER + __properties: ClassVar[List[str]] = ["id", "organization_id", "repository_id", "name", "is_default", "is_protected", "provider"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KgitproxyBranch from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KgitproxyBranch from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "organization_id": obj.get("organization_id"), + "repository_id": obj.get("repository_id"), + "name": obj.get("name"), + "is_default": obj.get("is_default"), + "is_protected": obj.get("is_protected"), + "provider": obj.get("provider") if obj.get("provider") is not None else KgitproxyRepositoryProvider.INVALID_PROVIDER + }) + return _obj + + diff --git a/koyeb/api_async/models/kgitproxy_git_hub_repository.py b/koyeb/api_async/models/kgitproxy_git_hub_repository.py new file mode 100644 index 00000000..caa94569 --- /dev/null +++ b/koyeb/api_async/models/kgitproxy_git_hub_repository.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KgitproxyGitHubRepository(BaseModel): + """ + KgitproxyGitHubRepository + """ # noqa: E501 + github_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["github_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KgitproxyGitHubRepository from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KgitproxyGitHubRepository from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "github_id": obj.get("github_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/kgitproxy_github_installation_status.py b/koyeb/api_async/models/kgitproxy_github_installation_status.py new file mode 100644 index 00000000..9d281028 --- /dev/null +++ b/koyeb/api_async/models/kgitproxy_github_installation_status.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class KgitproxyGithubInstallationStatus(str, Enum): + """ + KgitproxyGithubInstallationStatus + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + INSTALLED = 'INSTALLED' + SUSPENDED = 'SUSPENDED' + DELETED = 'DELETED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of KgitproxyGithubInstallationStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/kgitproxy_indexing_status.py b/koyeb/api_async/models/kgitproxy_indexing_status.py new file mode 100644 index 00000000..50cf2426 --- /dev/null +++ b/koyeb/api_async/models/kgitproxy_indexing_status.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class KgitproxyIndexingStatus(str, Enum): + """ + KgitproxyIndexingStatus + """ + + """ + allowed enum values + """ + INVALID_INDEXING_STATUS = 'INVALID_INDEXING_STATUS' + NOT_STARTED = 'NOT_STARTED' + IN_PROGRESS = 'IN_PROGRESS' + COMPLETED = 'COMPLETED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of KgitproxyIndexingStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/kgitproxy_list_branches_reply.py b/koyeb/api_async/models/kgitproxy_list_branches_reply.py new file mode 100644 index 00000000..47a8a0b8 --- /dev/null +++ b/koyeb/api_async/models/kgitproxy_list_branches_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.kgitproxy_branch import KgitproxyBranch +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KgitproxyListBranchesReply(BaseModel): + """ + KgitproxyListBranchesReply + """ # noqa: E501 + branches: Optional[List[KgitproxyBranch]] = Field(default=None, description="The collection of branches.") + limit: Optional[StrictInt] = Field(default=None, description="The limit in the request.") + offset: Optional[StrictInt] = Field(default=None, description="The offset in the request.") + count: Optional[StrictInt] = Field(default=None, description="The total number of items.") + __properties: ClassVar[List[str]] = ["branches", "limit", "offset", "count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KgitproxyListBranchesReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in branches (list) + _items = [] + if self.branches: + for _item_branches in self.branches: + if _item_branches: + _items.append(_item_branches.to_dict()) + _dict['branches'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KgitproxyListBranchesReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "branches": [KgitproxyBranch.from_dict(_item) for _item in obj["branches"]] if obj.get("branches") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count") + }) + return _obj + + diff --git a/koyeb/api_async/models/kgitproxy_list_repositories_reply.py b/koyeb/api_async/models/kgitproxy_list_repositories_reply.py new file mode 100644 index 00000000..64a64087 --- /dev/null +++ b/koyeb/api_async/models/kgitproxy_list_repositories_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.kgitproxy_repository import KgitproxyRepository +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KgitproxyListRepositoriesReply(BaseModel): + """ + KgitproxyListRepositoriesReply + """ # noqa: E501 + repositories: Optional[List[KgitproxyRepository]] = Field(default=None, description="The collection of repositories.") + limit: Optional[StrictInt] = Field(default=None, description="The limit in the request.") + offset: Optional[StrictInt] = Field(default=None, description="The offset in the request.") + count: Optional[StrictInt] = Field(default=None, description="The total number of items.") + __properties: ClassVar[List[str]] = ["repositories", "limit", "offset", "count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KgitproxyListRepositoriesReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in repositories (list) + _items = [] + if self.repositories: + for _item_repositories in self.repositories: + if _item_repositories: + _items.append(_item_repositories.to_dict()) + _dict['repositories'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KgitproxyListRepositoriesReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "repositories": [KgitproxyRepository.from_dict(_item) for _item in obj["repositories"]] if obj.get("repositories") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count") + }) + return _obj + + diff --git a/koyeb/api_async/models/kgitproxy_repository.py b/koyeb/api_async/models/kgitproxy_repository.py new file mode 100644 index 00000000..6aa5cb8f --- /dev/null +++ b/koyeb/api_async/models/kgitproxy_repository.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.kgitproxy_git_hub_repository import KgitproxyGitHubRepository +from koyeb.api_async.models.kgitproxy_repository_provider import KgitproxyRepositoryProvider +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KgitproxyRepository(BaseModel): + """ + KgitproxyRepository + """ # noqa: E501 + id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + url: Optional[StrictStr] = None + description: Optional[StrictStr] = None + is_private: Optional[StrictBool] = None + is_disabled: Optional[StrictBool] = None + default_branch: Optional[StrictStr] = None + provider: Optional[KgitproxyRepositoryProvider] = KgitproxyRepositoryProvider.INVALID_PROVIDER + last_push_date: Optional[datetime] = None + github: Optional[KgitproxyGitHubRepository] = None + __properties: ClassVar[List[str]] = ["id", "organization_id", "name", "url", "description", "is_private", "is_disabled", "default_branch", "provider", "last_push_date", "github"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KgitproxyRepository from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of github + if self.github: + _dict['github'] = self.github.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KgitproxyRepository from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "organization_id": obj.get("organization_id"), + "name": obj.get("name"), + "url": obj.get("url"), + "description": obj.get("description"), + "is_private": obj.get("is_private"), + "is_disabled": obj.get("is_disabled"), + "default_branch": obj.get("default_branch"), + "provider": obj.get("provider") if obj.get("provider") is not None else KgitproxyRepositoryProvider.INVALID_PROVIDER, + "last_push_date": obj.get("last_push_date"), + "github": KgitproxyGitHubRepository.from_dict(obj["github"]) if obj.get("github") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/kgitproxy_repository_provider.py b/koyeb/api_async/models/kgitproxy_repository_provider.py new file mode 100644 index 00000000..123d8ee8 --- /dev/null +++ b/koyeb/api_async/models/kgitproxy_repository_provider.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class KgitproxyRepositoryProvider(str, Enum): + """ + KgitproxyRepositoryProvider + """ + + """ + allowed enum values + """ + INVALID_PROVIDER = 'INVALID_PROVIDER' + GITHUB = 'GITHUB' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of KgitproxyRepositoryProvider from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/ksearch_app.py b/koyeb/api_async/models/ksearch_app.py new file mode 100644 index 00000000..a7dca43b --- /dev/null +++ b/koyeb/api_async/models/ksearch_app.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KsearchApp(BaseModel): + """ + KsearchApp + """ # noqa: E501 + id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "organization_id", "name"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KsearchApp from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KsearchApp from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "organization_id": obj.get("organization_id"), + "name": obj.get("name") + }) + return _obj + + diff --git a/koyeb/api_async/models/ksearch_global_deployment.py b/koyeb/api_async/models/ksearch_global_deployment.py new file mode 100644 index 00000000..61edf644 --- /dev/null +++ b/koyeb/api_async/models/ksearch_global_deployment.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KsearchGlobalDeployment(BaseModel): + """ + KsearchGlobalDeployment + """ # noqa: E501 + id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "organization_id", "app_id", "service_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KsearchGlobalDeployment from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KsearchGlobalDeployment from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "service_id": obj.get("service_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/ksearch_instance.py b/koyeb/api_async/models/ksearch_instance.py new file mode 100644 index 00000000..e451f836 --- /dev/null +++ b/koyeb/api_async/models/ksearch_instance.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KsearchInstance(BaseModel): + """ + KsearchInstance + """ # noqa: E501 + id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + allocation_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "organization_id", "app_id", "service_id", "allocation_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KsearchInstance from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KsearchInstance from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "service_id": obj.get("service_id"), + "allocation_id": obj.get("allocation_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/ksearch_organization.py b/koyeb/api_async/models/ksearch_organization.py new file mode 100644 index 00000000..5a0da6fd --- /dev/null +++ b/koyeb/api_async/models/ksearch_organization.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KsearchOrganization(BaseModel): + """ + KsearchOrganization + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "name"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KsearchOrganization from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KsearchOrganization from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name") + }) + return _obj + + diff --git a/koyeb/api_async/models/ksearch_regional_deployment.py b/koyeb/api_async/models/ksearch_regional_deployment.py new file mode 100644 index 00000000..1761256b --- /dev/null +++ b/koyeb/api_async/models/ksearch_regional_deployment.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KsearchRegionalDeployment(BaseModel): + """ + KsearchRegionalDeployment + """ # noqa: E501 + id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + region: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "organization_id", "app_id", "service_id", "region"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KsearchRegionalDeployment from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KsearchRegionalDeployment from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "service_id": obj.get("service_id"), + "region": obj.get("region") + }) + return _obj + + diff --git a/koyeb/api_async/models/ksearch_search_reply.py b/koyeb/api_async/models/ksearch_search_reply.py new file mode 100644 index 00000000..febddb76 --- /dev/null +++ b/koyeb/api_async/models/ksearch_search_reply.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.ksearch_app import KsearchApp +from koyeb.api_async.models.ksearch_global_deployment import KsearchGlobalDeployment +from koyeb.api_async.models.ksearch_instance import KsearchInstance +from koyeb.api_async.models.ksearch_organization import KsearchOrganization +from koyeb.api_async.models.ksearch_regional_deployment import KsearchRegionalDeployment +from koyeb.api_async.models.ksearch_service import KsearchService +from koyeb.api_async.models.ksearch_user import KsearchUser +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KsearchSearchReply(BaseModel): + """ + KsearchSearchReply + """ # noqa: E501 + organizations: Optional[List[KsearchOrganization]] = None + users: Optional[List[KsearchUser]] = None + apps: Optional[List[KsearchApp]] = None + services: Optional[List[KsearchService]] = None + global_deployments: Optional[List[KsearchGlobalDeployment]] = None + regional_deployments: Optional[List[KsearchRegionalDeployment]] = None + instances: Optional[List[KsearchInstance]] = None + __properties: ClassVar[List[str]] = ["organizations", "users", "apps", "services", "global_deployments", "regional_deployments", "instances"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KsearchSearchReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in organizations (list) + _items = [] + if self.organizations: + for _item_organizations in self.organizations: + if _item_organizations: + _items.append(_item_organizations.to_dict()) + _dict['organizations'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in users (list) + _items = [] + if self.users: + for _item_users in self.users: + if _item_users: + _items.append(_item_users.to_dict()) + _dict['users'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in apps (list) + _items = [] + if self.apps: + for _item_apps in self.apps: + if _item_apps: + _items.append(_item_apps.to_dict()) + _dict['apps'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in services (list) + _items = [] + if self.services: + for _item_services in self.services: + if _item_services: + _items.append(_item_services.to_dict()) + _dict['services'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in global_deployments (list) + _items = [] + if self.global_deployments: + for _item_global_deployments in self.global_deployments: + if _item_global_deployments: + _items.append(_item_global_deployments.to_dict()) + _dict['global_deployments'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in regional_deployments (list) + _items = [] + if self.regional_deployments: + for _item_regional_deployments in self.regional_deployments: + if _item_regional_deployments: + _items.append(_item_regional_deployments.to_dict()) + _dict['regional_deployments'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in instances (list) + _items = [] + if self.instances: + for _item_instances in self.instances: + if _item_instances: + _items.append(_item_instances.to_dict()) + _dict['instances'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KsearchSearchReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organizations": [KsearchOrganization.from_dict(_item) for _item in obj["organizations"]] if obj.get("organizations") is not None else None, + "users": [KsearchUser.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None, + "apps": [KsearchApp.from_dict(_item) for _item in obj["apps"]] if obj.get("apps") is not None else None, + "services": [KsearchService.from_dict(_item) for _item in obj["services"]] if obj.get("services") is not None else None, + "global_deployments": [KsearchGlobalDeployment.from_dict(_item) for _item in obj["global_deployments"]] if obj.get("global_deployments") is not None else None, + "regional_deployments": [KsearchRegionalDeployment.from_dict(_item) for _item in obj["regional_deployments"]] if obj.get("regional_deployments") is not None else None, + "instances": [KsearchInstance.from_dict(_item) for _item in obj["instances"]] if obj.get("instances") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/ksearch_service.py b/koyeb/api_async/models/ksearch_service.py new file mode 100644 index 00000000..b2c9c7d2 --- /dev/null +++ b/koyeb/api_async/models/ksearch_service.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KsearchService(BaseModel): + """ + KsearchService + """ # noqa: E501 + id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "organization_id", "app_id", "name"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KsearchService from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KsearchService from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "name": obj.get("name") + }) + return _obj + + diff --git a/koyeb/api_async/models/ksearch_user.py b/koyeb/api_async/models/ksearch_user.py new file mode 100644 index 00000000..93668832 --- /dev/null +++ b/koyeb/api_async/models/ksearch_user.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KsearchUser(BaseModel): + """ + KsearchUser + """ # noqa: E501 + id: Optional[StrictStr] = None + email: Optional[StrictStr] = None + name: Optional[StrictStr] = None + github_user: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "email", "name", "github_user"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KsearchUser from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KsearchUser from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "email": obj.get("email"), + "name": obj.get("name"), + "github_user": obj.get("github_user") + }) + return _obj + + diff --git a/koyeb/api_async/models/ktest_test_auth_reply.py b/koyeb/api_async/models/ktest_test_auth_reply.py new file mode 100644 index 00000000..67feb3b0 --- /dev/null +++ b/koyeb/api_async/models/ktest_test_auth_reply.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KtestTestAuthReply(BaseModel): + """ + KtestTestAuthReply + """ # noqa: E501 + payload: Optional[StrictStr] = None + user_id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + workspace_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["payload", "user_id", "organization_id", "workspace_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KtestTestAuthReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KtestTestAuthReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "payload": obj.get("payload"), + "user_id": obj.get("user_id"), + "organization_id": obj.get("organization_id"), + "workspace_id": obj.get("workspace_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/ktest_test_auth_request.py b/koyeb/api_async/models/ktest_test_auth_request.py new file mode 100644 index 00000000..58ced89e --- /dev/null +++ b/koyeb/api_async/models/ktest_test_auth_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class KtestTestAuthRequest(BaseModel): + """ + KtestTestAuthRequest + """ # noqa: E501 + payload: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["payload"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of KtestTestAuthRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of KtestTestAuthRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "payload": obj.get("payload") + }) + return _obj + + diff --git a/koyeb/api_async/models/lifecycle_quotas.py b/koyeb/api_async/models/lifecycle_quotas.py new file mode 100644 index 00000000..543beefb --- /dev/null +++ b/koyeb/api_async/models/lifecycle_quotas.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class LifecycleQuotas(BaseModel): + """ + LifecycleQuotas + """ # noqa: E501 + delete_after_sleep_min: Optional[StrictInt] = None + delete_after_sleep_max: Optional[StrictInt] = None + delete_after_create_min: Optional[StrictInt] = None + delete_after_create_max: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["delete_after_sleep_min", "delete_after_sleep_max", "delete_after_create_min", "delete_after_create_max"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LifecycleQuotas from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LifecycleQuotas from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "delete_after_sleep_min": obj.get("delete_after_sleep_min"), + "delete_after_sleep_max": obj.get("delete_after_sleep_max"), + "delete_after_create_min": obj.get("delete_after_create_min"), + "delete_after_create_max": obj.get("delete_after_create_max") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_app_events_reply.py b/koyeb/api_async/models/list_app_events_reply.py new file mode 100644 index 00000000..29b7eb09 --- /dev/null +++ b/koyeb/api_async/models/list_app_events_reply.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.app_event import AppEvent +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListAppEventsReply(BaseModel): + """ + ListAppEventsReply + """ # noqa: E501 + events: Optional[List[AppEvent]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + order: Optional[StrictStr] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["events", "limit", "offset", "order", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListAppEventsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in events (list) + _items = [] + if self.events: + for _item_events in self.events: + if _item_events: + _items.append(_item_events.to_dict()) + _dict['events'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListAppEventsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "events": [AppEvent.from_dict(_item) for _item in obj["events"]] if obj.get("events") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "order": obj.get("order"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_apps_reply.py b/koyeb/api_async/models/list_apps_reply.py new file mode 100644 index 00000000..2772cb2f --- /dev/null +++ b/koyeb/api_async/models/list_apps_reply.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.app_list_item import AppListItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListAppsReply(BaseModel): + """ + ListAppsReply + """ # noqa: E501 + apps: Optional[List[AppListItem]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["apps", "limit", "offset", "count", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListAppsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in apps (list) + _items = [] + if self.apps: + for _item_apps in self.apps: + if _item_apps: + _items.append(_item_apps.to_dict()) + _dict['apps'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListAppsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apps": [AppListItem.from_dict(_item) for _item in obj["apps"]] if obj.get("apps") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_catalog_instances_reply.py b/koyeb/api_async/models/list_catalog_instances_reply.py new file mode 100644 index 00000000..fb831588 --- /dev/null +++ b/koyeb/api_async/models/list_catalog_instances_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.catalog_instance_list_item import CatalogInstanceListItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListCatalogInstancesReply(BaseModel): + """ + ListCatalogInstancesReply + """ # noqa: E501 + instances: Optional[List[CatalogInstanceListItem]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["instances", "limit", "offset", "count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListCatalogInstancesReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in instances (list) + _items = [] + if self.instances: + for _item_instances in self.instances: + if _item_instances: + _items.append(_item_instances.to_dict()) + _dict['instances'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListCatalogInstancesReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "instances": [CatalogInstanceListItem.from_dict(_item) for _item in obj["instances"]] if obj.get("instances") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_credentials_reply.py b/koyeb/api_async/models/list_credentials_reply.py new file mode 100644 index 00000000..75b5b438 --- /dev/null +++ b/koyeb/api_async/models/list_credentials_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.credential import Credential +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListCredentialsReply(BaseModel): + """ + ListCredentialsReply + """ # noqa: E501 + credentials: Optional[List[Credential]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["credentials", "limit", "offset", "count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListCredentialsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in credentials (list) + _items = [] + if self.credentials: + for _item_credentials in self.credentials: + if _item_credentials: + _items.append(_item_credentials.to_dict()) + _dict['credentials'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListCredentialsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "credentials": [Credential.from_dict(_item) for _item in obj["credentials"]] if obj.get("credentials") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_datacenters_reply.py b/koyeb/api_async/models/list_datacenters_reply.py new file mode 100644 index 00000000..3d51c7ad --- /dev/null +++ b/koyeb/api_async/models/list_datacenters_reply.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.datacenter_list_item import DatacenterListItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListDatacentersReply(BaseModel): + """ + ListDatacentersReply + """ # noqa: E501 + datacenters: Optional[List[DatacenterListItem]] = None + __properties: ClassVar[List[str]] = ["datacenters"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListDatacentersReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in datacenters (list) + _items = [] + if self.datacenters: + for _item_datacenters in self.datacenters: + if _item_datacenters: + _items.append(_item_datacenters.to_dict()) + _dict['datacenters'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListDatacentersReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "datacenters": [DatacenterListItem.from_dict(_item) for _item in obj["datacenters"]] if obj.get("datacenters") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/list_deployment_events_reply.py b/koyeb/api_async/models/list_deployment_events_reply.py new file mode 100644 index 00000000..065982e4 --- /dev/null +++ b/koyeb/api_async/models/list_deployment_events_reply.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_event import DeploymentEvent +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListDeploymentEventsReply(BaseModel): + """ + ListDeploymentEventsReply + """ # noqa: E501 + events: Optional[List[DeploymentEvent]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + order: Optional[StrictStr] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["events", "limit", "offset", "order", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListDeploymentEventsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in events (list) + _items = [] + if self.events: + for _item_events in self.events: + if _item_events: + _items.append(_item_events.to_dict()) + _dict['events'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListDeploymentEventsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "events": [DeploymentEvent.from_dict(_item) for _item in obj["events"]] if obj.get("events") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "order": obj.get("order"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_deployments_reply.py b/koyeb/api_async/models/list_deployments_reply.py new file mode 100644 index 00000000..1a3a2e5c --- /dev/null +++ b/koyeb/api_async/models/list_deployments_reply.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_list_item import DeploymentListItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListDeploymentsReply(BaseModel): + """ + ListDeploymentsReply + """ # noqa: E501 + deployments: Optional[List[DeploymentListItem]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["deployments", "limit", "offset", "count", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListDeploymentsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in deployments (list) + _items = [] + if self.deployments: + for _item_deployments in self.deployments: + if _item_deployments: + _items.append(_item_deployments.to_dict()) + _dict['deployments'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListDeploymentsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "deployments": [DeploymentListItem.from_dict(_item) for _item in obj["deployments"]] if obj.get("deployments") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_domains_reply.py b/koyeb/api_async/models/list_domains_reply.py new file mode 100644 index 00000000..9158ee33 --- /dev/null +++ b/koyeb/api_async/models/list_domains_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.domain import Domain +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListDomainsReply(BaseModel): + """ + ListDomainsReply + """ # noqa: E501 + domains: Optional[List[Domain]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["domains", "limit", "offset", "count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListDomainsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in domains (list) + _items = [] + if self.domains: + for _item_domains in self.domains: + if _item_domains: + _items.append(_item_domains.to_dict()) + _dict['domains'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListDomainsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "domains": [Domain.from_dict(_item) for _item in obj["domains"]] if obj.get("domains") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_instance_events_reply.py b/koyeb/api_async/models/list_instance_events_reply.py new file mode 100644 index 00000000..39db3246 --- /dev/null +++ b/koyeb/api_async/models/list_instance_events_reply.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.instance_event import InstanceEvent +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListInstanceEventsReply(BaseModel): + """ + ListInstanceEventsReply + """ # noqa: E501 + events: Optional[List[InstanceEvent]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + order: Optional[StrictStr] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["events", "limit", "offset", "order", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListInstanceEventsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in events (list) + _items = [] + if self.events: + for _item_events in self.events: + if _item_events: + _items.append(_item_events.to_dict()) + _dict['events'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListInstanceEventsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "events": [InstanceEvent.from_dict(_item) for _item in obj["events"]] if obj.get("events") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "order": obj.get("order"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_instances_reply.py b/koyeb/api_async/models/list_instances_reply.py new file mode 100644 index 00000000..a790eb59 --- /dev/null +++ b/koyeb/api_async/models/list_instances_reply.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.instance_list_item import InstanceListItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListInstancesReply(BaseModel): + """ + ListInstancesReply + """ # noqa: E501 + instances: Optional[List[InstanceListItem]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + order: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["instances", "limit", "offset", "count", "order"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListInstancesReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in instances (list) + _items = [] + if self.instances: + for _item_instances in self.instances: + if _item_instances: + _items.append(_item_instances.to_dict()) + _dict['instances'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListInstancesReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "instances": [InstanceListItem.from_dict(_item) for _item in obj["instances"]] if obj.get("instances") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count"), + "order": obj.get("order") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_organization_invitations_reply.py b/koyeb/api_async/models/list_organization_invitations_reply.py new file mode 100644 index 00000000..5e39689a --- /dev/null +++ b/koyeb/api_async/models/list_organization_invitations_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_invitation import OrganizationInvitation +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListOrganizationInvitationsReply(BaseModel): + """ + ListOrganizationInvitationsReply + """ # noqa: E501 + invitations: Optional[List[OrganizationInvitation]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["invitations", "limit", "offset", "count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListOrganizationInvitationsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in invitations (list) + _items = [] + if self.invitations: + for _item_invitations in self.invitations: + if _item_invitations: + _items.append(_item_invitations.to_dict()) + _dict['invitations'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListOrganizationInvitationsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "invitations": [OrganizationInvitation.from_dict(_item) for _item in obj["invitations"]] if obj.get("invitations") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_organization_members_reply.py b/koyeb/api_async/models/list_organization_members_reply.py new file mode 100644 index 00000000..2447e724 --- /dev/null +++ b/koyeb/api_async/models/list_organization_members_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_member import OrganizationMember +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListOrganizationMembersReply(BaseModel): + """ + ListOrganizationMembersReply + """ # noqa: E501 + members: Optional[List[OrganizationMember]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["members", "limit", "offset", "count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListOrganizationMembersReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in members (list) + _items = [] + if self.members: + for _item_members in self.members: + if _item_members: + _items.append(_item_members.to_dict()) + _dict['members'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListOrganizationMembersReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "members": [OrganizationMember.from_dict(_item) for _item in obj["members"]] if obj.get("members") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_payment_methods_reply.py b/koyeb/api_async/models/list_payment_methods_reply.py new file mode 100644 index 00000000..9f42aa8a --- /dev/null +++ b/koyeb/api_async/models/list_payment_methods_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.payment_method import PaymentMethod +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListPaymentMethodsReply(BaseModel): + """ + ListPaymentMethodsReply + """ # noqa: E501 + payment_methods: Optional[List[PaymentMethod]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["payment_methods", "limit", "offset", "count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListPaymentMethodsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in payment_methods (list) + _items = [] + if self.payment_methods: + for _item_payment_methods in self.payment_methods: + if _item_payment_methods: + _items.append(_item_payment_methods.to_dict()) + _dict['payment_methods'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListPaymentMethodsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "payment_methods": [PaymentMethod.from_dict(_item) for _item in obj["payment_methods"]] if obj.get("payment_methods") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_persistent_volume_events_reply.py b/koyeb/api_async/models/list_persistent_volume_events_reply.py new file mode 100644 index 00000000..1d1a979e --- /dev/null +++ b/koyeb/api_async/models/list_persistent_volume_events_reply.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.persistent_volume_event import PersistentVolumeEvent +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListPersistentVolumeEventsReply(BaseModel): + """ + ListPersistentVolumeEventsReply + """ # noqa: E501 + events: Optional[List[PersistentVolumeEvent]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + order: Optional[StrictStr] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["events", "limit", "offset", "order", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListPersistentVolumeEventsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in events (list) + _items = [] + if self.events: + for _item_events in self.events: + if _item_events: + _items.append(_item_events.to_dict()) + _dict['events'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListPersistentVolumeEventsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "events": [PersistentVolumeEvent.from_dict(_item) for _item in obj["events"]] if obj.get("events") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "order": obj.get("order"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_persistent_volumes_reply.py b/koyeb/api_async/models/list_persistent_volumes_reply.py new file mode 100644 index 00000000..b475b8cf --- /dev/null +++ b/koyeb/api_async/models/list_persistent_volumes_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.persistent_volume import PersistentVolume +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListPersistentVolumesReply(BaseModel): + """ + ListPersistentVolumesReply + """ # noqa: E501 + volumes: Optional[List[PersistentVolume]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["volumes", "limit", "offset", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListPersistentVolumesReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in volumes (list) + _items = [] + if self.volumes: + for _item_volumes in self.volumes: + if _item_volumes: + _items.append(_item_volumes.to_dict()) + _dict['volumes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListPersistentVolumesReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "volumes": [PersistentVolume.from_dict(_item) for _item in obj["volumes"]] if obj.get("volumes") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_projects_reply.py b/koyeb/api_async/models/list_projects_reply.py new file mode 100644 index 00000000..bab21b94 --- /dev/null +++ b/koyeb/api_async/models/list_projects_reply.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.project import Project +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListProjectsReply(BaseModel): + """ + ListProjectsReply + """ # noqa: E501 + projects: Optional[List[Project]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["projects", "limit", "offset"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListProjectsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in projects (list) + _items = [] + if self.projects: + for _item_projects in self.projects: + if _item_projects: + _items.append(_item_projects.to_dict()) + _dict['projects'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListProjectsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "projects": [Project.from_dict(_item) for _item in obj["projects"]] if obj.get("projects") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_regional_deployment_events_reply.py b/koyeb/api_async/models/list_regional_deployment_events_reply.py new file mode 100644 index 00000000..5c057c44 --- /dev/null +++ b/koyeb/api_async/models/list_regional_deployment_events_reply.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.regional_deployment_event import RegionalDeploymentEvent +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListRegionalDeploymentEventsReply(BaseModel): + """ + ListRegionalDeploymentEventsReply + """ # noqa: E501 + events: Optional[List[RegionalDeploymentEvent]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + order: Optional[StrictStr] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["events", "limit", "offset", "order", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListRegionalDeploymentEventsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in events (list) + _items = [] + if self.events: + for _item_events in self.events: + if _item_events: + _items.append(_item_events.to_dict()) + _dict['events'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListRegionalDeploymentEventsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "events": [RegionalDeploymentEvent.from_dict(_item) for _item in obj["events"]] if obj.get("events") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "order": obj.get("order"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_regional_deployments_reply.py b/koyeb/api_async/models/list_regional_deployments_reply.py new file mode 100644 index 00000000..0a585c15 --- /dev/null +++ b/koyeb/api_async/models/list_regional_deployments_reply.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.regional_deployment_list_item import RegionalDeploymentListItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListRegionalDeploymentsReply(BaseModel): + """ + ListRegionalDeploymentsReply + """ # noqa: E501 + regional_deployments: Optional[List[RegionalDeploymentListItem]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["regional_deployments", "limit", "offset", "count", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListRegionalDeploymentsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in regional_deployments (list) + _items = [] + if self.regional_deployments: + for _item_regional_deployments in self.regional_deployments: + if _item_regional_deployments: + _items.append(_item_regional_deployments.to_dict()) + _dict['regional_deployments'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListRegionalDeploymentsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "regional_deployments": [RegionalDeploymentListItem.from_dict(_item) for _item in obj["regional_deployments"]] if obj.get("regional_deployments") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_regions_reply.py b/koyeb/api_async/models/list_regions_reply.py new file mode 100644 index 00000000..3fe99552 --- /dev/null +++ b/koyeb/api_async/models/list_regions_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.region_list_item import RegionListItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListRegionsReply(BaseModel): + """ + ListRegionsReply + """ # noqa: E501 + regions: Optional[List[RegionListItem]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["regions", "limit", "offset", "count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListRegionsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in regions (list) + _items = [] + if self.regions: + for _item_regions in self.regions: + if _item_regions: + _items.append(_item_regions.to_dict()) + _dict['regions'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListRegionsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "regions": [RegionListItem.from_dict(_item) for _item in obj["regions"]] if obj.get("regions") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_secrets_reply.py b/koyeb/api_async/models/list_secrets_reply.py new file mode 100644 index 00000000..35c42d84 --- /dev/null +++ b/koyeb/api_async/models/list_secrets_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.secret import Secret +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListSecretsReply(BaseModel): + """ + ListSecretsReply + """ # noqa: E501 + secrets: Optional[List[Secret]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["secrets", "limit", "offset", "count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListSecretsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in secrets (list) + _items = [] + if self.secrets: + for _item_secrets in self.secrets: + if _item_secrets: + _items.append(_item_secrets.to_dict()) + _dict['secrets'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListSecretsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "secrets": [Secret.from_dict(_item) for _item in obj["secrets"]] if obj.get("secrets") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_service_events_reply.py b/koyeb/api_async/models/list_service_events_reply.py new file mode 100644 index 00000000..d8c3e781 --- /dev/null +++ b/koyeb/api_async/models/list_service_events_reply.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.service_event import ServiceEvent +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListServiceEventsReply(BaseModel): + """ + ListServiceEventsReply + """ # noqa: E501 + events: Optional[List[ServiceEvent]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + order: Optional[StrictStr] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["events", "limit", "offset", "order", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListServiceEventsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in events (list) + _items = [] + if self.events: + for _item_events in self.events: + if _item_events: + _items.append(_item_events.to_dict()) + _dict['events'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListServiceEventsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "events": [ServiceEvent.from_dict(_item) for _item in obj["events"]] if obj.get("events") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "order": obj.get("order"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_services_reply.py b/koyeb/api_async/models/list_services_reply.py new file mode 100644 index 00000000..a76e56c8 --- /dev/null +++ b/koyeb/api_async/models/list_services_reply.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.service_list_item import ServiceListItem +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListServicesReply(BaseModel): + """ + ListServicesReply + """ # noqa: E501 + services: Optional[List[ServiceListItem]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["services", "limit", "offset", "count", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListServicesReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in services (list) + _items = [] + if self.services: + for _item_services in self.services: + if _item_services: + _items.append(_item_services.to_dict()) + _dict['services'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListServicesReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "services": [ServiceListItem.from_dict(_item) for _item in obj["services"]] if obj.get("services") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_snapshots_reply.py b/koyeb/api_async/models/list_snapshots_reply.py new file mode 100644 index 00000000..7bc53c1d --- /dev/null +++ b/koyeb/api_async/models/list_snapshots_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.snapshot import Snapshot +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListSnapshotsReply(BaseModel): + """ + ListSnapshotsReply + """ # noqa: E501 + snapshots: Optional[List[Snapshot]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["snapshots", "limit", "offset", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListSnapshotsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in snapshots (list) + _items = [] + if self.snapshots: + for _item_snapshots in self.snapshots: + if _item_snapshots: + _items.append(_item_snapshots.to_dict()) + _dict['snapshots'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListSnapshotsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "snapshots": [Snapshot.from_dict(_item) for _item in obj["snapshots"]] if obj.get("snapshots") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_usage_reply.py b/koyeb/api_async/models/list_usage_reply.py new file mode 100644 index 00000000..b7c3b405 --- /dev/null +++ b/koyeb/api_async/models/list_usage_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.catalog_usage import CatalogUsage +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListUsageReply(BaseModel): + """ + ListUsageReply + """ # noqa: E501 + usage: Optional[CatalogUsage] = None + __properties: ClassVar[List[str]] = ["usage"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListUsageReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of usage + if self.usage: + _dict['usage'] = self.usage.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListUsageReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "usage": CatalogUsage.from_dict(obj["usage"]) if obj.get("usage") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/list_user_organization_invitations_reply.py b/koyeb/api_async/models/list_user_organization_invitations_reply.py new file mode 100644 index 00000000..11b4b52d --- /dev/null +++ b/koyeb/api_async/models/list_user_organization_invitations_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_invitation import OrganizationInvitation +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListUserOrganizationInvitationsReply(BaseModel): + """ + ListUserOrganizationInvitationsReply + """ # noqa: E501 + invitations: Optional[List[OrganizationInvitation]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["invitations", "limit", "offset", "count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListUserOrganizationInvitationsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in invitations (list) + _items = [] + if self.invitations: + for _item_invitations in self.invitations: + if _item_invitations: + _items.append(_item_invitations.to_dict()) + _dict['invitations'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListUserOrganizationInvitationsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "invitations": [OrganizationInvitation.from_dict(_item) for _item in obj["invitations"]] if obj.get("invitations") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count") + }) + return _obj + + diff --git a/koyeb/api_async/models/list_user_organizations_reply.py b/koyeb/api_async/models/list_user_organizations_reply.py new file mode 100644 index 00000000..75d38b7a --- /dev/null +++ b/koyeb/api_async/models/list_user_organizations_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ListUserOrganizationsReply(BaseModel): + """ + ListUserOrganizationsReply + """ # noqa: E501 + organizations: Optional[List[Organization]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + has_next: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["organizations", "limit", "offset", "has_next"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ListUserOrganizationsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in organizations (list) + _items = [] + if self.organizations: + for _item_organizations in self.organizations: + if _item_organizations: + _items.append(_item_organizations.to_dict()) + _dict['organizations'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ListUserOrganizationsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organizations": [Organization.from_dict(_item) for _item in obj["organizations"]] if obj.get("organizations") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "has_next": obj.get("has_next") + }) + return _obj + + diff --git a/koyeb/api_async/models/log_entry.py b/koyeb/api_async/models/log_entry.py new file mode 100644 index 00000000..ab3e7573 --- /dev/null +++ b/koyeb/api_async/models/log_entry.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class LogEntry(BaseModel): + """ + LogEntry + """ # noqa: E501 + msg: Optional[StrictStr] = None + created_at: Optional[datetime] = None + labels: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["msg", "created_at", "labels"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LogEntry from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LogEntry from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "msg": obj.get("msg"), + "created_at": obj.get("created_at"), + "labels": obj.get("labels") + }) + return _obj + + diff --git a/koyeb/api_async/models/login_method_reply.py b/koyeb/api_async/models/login_method_reply.py new file mode 100644 index 00000000..cbc8efdc --- /dev/null +++ b/koyeb/api_async/models/login_method_reply.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.login_method_reply_method import LoginMethodReplyMethod +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class LoginMethodReply(BaseModel): + """ + LoginMethodReply + """ # noqa: E501 + method: Optional[LoginMethodReplyMethod] = LoginMethodReplyMethod.KOYEB + __properties: ClassVar[List[str]] = ["method"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LoginMethodReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LoginMethodReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "method": obj.get("method") if obj.get("method") is not None else LoginMethodReplyMethod.KOYEB + }) + return _obj + + diff --git a/koyeb/api_async/models/login_method_reply_method.py b/koyeb/api_async/models/login_method_reply_method.py new file mode 100644 index 00000000..a27e8297 --- /dev/null +++ b/koyeb/api_async/models/login_method_reply_method.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class LoginMethodReplyMethod(str, Enum): + """ + LoginMethodReplyMethod + """ + + """ + allowed enum values + """ + KOYEB = 'KOYEB' + WORKOS = 'WORKOS' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of LoginMethodReplyMethod from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/login_reply.py b/koyeb/api_async/models/login_reply.py new file mode 100644 index 00000000..fb0e509e --- /dev/null +++ b/koyeb/api_async/models/login_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.token import Token +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class LoginReply(BaseModel): + """ + LoginReply + """ # noqa: E501 + token: Optional[Token] = None + __properties: ClassVar[List[str]] = ["token"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LoginReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of token + if self.token: + _dict['token'] = self.token.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LoginReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "token": Token.from_dict(obj["token"]) if obj.get("token") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/login_request.py b/koyeb/api_async/models/login_request.py new file mode 100644 index 00000000..8d89a070 --- /dev/null +++ b/koyeb/api_async/models/login_request.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class LoginRequest(BaseModel): + """ + LoginRequest + """ # noqa: E501 + email: Optional[StrictStr] = None + password: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["email", "password", "organization_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of LoginRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LoginRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "email": obj.get("email"), + "password": obj.get("password"), + "organization_id": obj.get("organization_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/manage_reply.py b/koyeb/api_async/models/manage_reply.py new file mode 100644 index 00000000..b997db88 --- /dev/null +++ b/koyeb/api_async/models/manage_reply.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ManageReply(BaseModel): + """ + ManageReply + """ # noqa: E501 + url: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["url"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ManageReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ManageReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "url": obj.get("url") + }) + return _obj + + diff --git a/koyeb/api_async/models/manual_service_scaling.py b/koyeb/api_async/models/manual_service_scaling.py new file mode 100644 index 00000000..4de83018 --- /dev/null +++ b/koyeb/api_async/models/manual_service_scaling.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ManualServiceScaling(BaseModel): + """ + ManualServiceScaling + """ # noqa: E501 + scopes: Optional[List[StrictStr]] = None + instances: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["scopes", "instances"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ManualServiceScaling from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ManualServiceScaling from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "scopes": obj.get("scopes"), + "instances": obj.get("instances") + }) + return _obj + + diff --git a/koyeb/api_async/models/members_summary.py b/koyeb/api_async/models/members_summary.py new file mode 100644 index 00000000..740fd1f3 --- /dev/null +++ b/koyeb/api_async/models/members_summary.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class MembersSummary(BaseModel): + """ + MembersSummary + """ # noqa: E501 + total: Optional[StrictStr] = None + invitations_by_status: Optional[Dict[str, StrictStr]] = None + __properties: ClassVar[List[str]] = ["total", "invitations_by_status"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of MembersSummary from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MembersSummary from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "total": obj.get("total"), + "invitations_by_status": obj.get("invitations_by_status") + }) + return _obj + + diff --git a/koyeb/api_async/models/metric_name.py b/koyeb/api_async/models/metric_name.py new file mode 100644 index 00000000..34f66cf4 --- /dev/null +++ b/koyeb/api_async/models/metric_name.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class MetricName(str, Enum): + """ + MetricName + """ + + """ + allowed enum values + """ + UNKNOWN = 'UNKNOWN' + CPU_TOTAL_PERCENT = 'CPU_TOTAL_PERCENT' + MEM_RSS = 'MEM_RSS' + HTTP_THROUGHPUT = 'HTTP_THROUGHPUT' + HTTP_RESPONSE_TIME_50_P = 'HTTP_RESPONSE_TIME_50P' + HTTP_RESPONSE_TIME_90_P = 'HTTP_RESPONSE_TIME_90P' + HTTP_RESPONSE_TIME_99_P = 'HTTP_RESPONSE_TIME_99P' + HTTP_RESPONSE_TIME_MAX = 'HTTP_RESPONSE_TIME_MAX' + PUBLIC_DATA_TRANSFER_IN = 'PUBLIC_DATA_TRANSFER_IN' + PUBLIC_DATA_TRANSFER_OUT = 'PUBLIC_DATA_TRANSFER_OUT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of MetricName from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/neon_postgres_database.py b/koyeb/api_async/models/neon_postgres_database.py new file mode 100644 index 00000000..84b7f8b8 --- /dev/null +++ b/koyeb/api_async/models/neon_postgres_database.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.neon_postgres_database_neon_database import NeonPostgresDatabaseNeonDatabase +from koyeb.api_async.models.neon_postgres_database_neon_role import NeonPostgresDatabaseNeonRole +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class NeonPostgresDatabase(BaseModel): + """ + NeonPostgresDatabase + """ # noqa: E501 + pg_version: Optional[StrictInt] = None + region: Optional[StrictStr] = None + instance_type: Optional[StrictStr] = None + roles: Optional[List[NeonPostgresDatabaseNeonRole]] = None + databases: Optional[List[NeonPostgresDatabaseNeonDatabase]] = None + __properties: ClassVar[List[str]] = ["pg_version", "region", "instance_type", "roles", "databases"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NeonPostgresDatabase from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in roles (list) + _items = [] + if self.roles: + for _item_roles in self.roles: + if _item_roles: + _items.append(_item_roles.to_dict()) + _dict['roles'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in databases (list) + _items = [] + if self.databases: + for _item_databases in self.databases: + if _item_databases: + _items.append(_item_databases.to_dict()) + _dict['databases'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NeonPostgresDatabase from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pg_version": obj.get("pg_version"), + "region": obj.get("region"), + "instance_type": obj.get("instance_type"), + "roles": [NeonPostgresDatabaseNeonRole.from_dict(_item) for _item in obj["roles"]] if obj.get("roles") is not None else None, + "databases": [NeonPostgresDatabaseNeonDatabase.from_dict(_item) for _item in obj["databases"]] if obj.get("databases") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/neon_postgres_database_deployment_metadata.py b/koyeb/api_async/models/neon_postgres_database_deployment_metadata.py new file mode 100644 index 00000000..a17b3601 --- /dev/null +++ b/koyeb/api_async/models/neon_postgres_database_deployment_metadata.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class NeonPostgresDatabaseDeploymentMetadata(BaseModel): + """ + NeonPostgresDatabaseDeploymentMetadata + """ # noqa: E501 + reset_role_passwords: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["reset_role_passwords"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NeonPostgresDatabaseDeploymentMetadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NeonPostgresDatabaseDeploymentMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reset_role_passwords": obj.get("reset_role_passwords") + }) + return _obj + + diff --git a/koyeb/api_async/models/neon_postgres_database_neon_database.py b/koyeb/api_async/models/neon_postgres_database_neon_database.py new file mode 100644 index 00000000..43beaaa5 --- /dev/null +++ b/koyeb/api_async/models/neon_postgres_database_neon_database.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class NeonPostgresDatabaseNeonDatabase(BaseModel): + """ + NeonPostgresDatabaseNeonDatabase + """ # noqa: E501 + name: Optional[StrictStr] = None + owner: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name", "owner"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NeonPostgresDatabaseNeonDatabase from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NeonPostgresDatabaseNeonDatabase from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "owner": obj.get("owner") + }) + return _obj + + diff --git a/koyeb/api_async/models/neon_postgres_database_neon_role.py b/koyeb/api_async/models/neon_postgres_database_neon_role.py new file mode 100644 index 00000000..bfd2d65a --- /dev/null +++ b/koyeb/api_async/models/neon_postgres_database_neon_role.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class NeonPostgresDatabaseNeonRole(BaseModel): + """ + NeonPostgresDatabaseNeonRole + """ # noqa: E501 + name: Optional[StrictStr] = None + secret: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name", "secret"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NeonPostgresDatabaseNeonRole from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NeonPostgresDatabaseNeonRole from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "secret": obj.get("secret") + }) + return _obj + + diff --git a/koyeb/api_async/models/neon_postgres_summary.py b/koyeb/api_async/models/neon_postgres_summary.py new file mode 100644 index 00000000..8994a6b2 --- /dev/null +++ b/koyeb/api_async/models/neon_postgres_summary.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class NeonPostgresSummary(BaseModel): + """ + NeonPostgresSummary + """ # noqa: E501 + total: Optional[StrictStr] = None + by_instance_type: Optional[Dict[str, StrictStr]] = None + __properties: ClassVar[List[str]] = ["total", "by_instance_type"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NeonPostgresSummary from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NeonPostgresSummary from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "total": obj.get("total"), + "by_instance_type": obj.get("by_instance_type") + }) + return _obj + + diff --git a/koyeb/api_async/models/next_invoice_reply.py b/koyeb/api_async/models/next_invoice_reply.py new file mode 100644 index 00000000..3feb4ae9 --- /dev/null +++ b/koyeb/api_async/models/next_invoice_reply.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.next_invoice_reply_discount import NextInvoiceReplyDiscount +from koyeb.api_async.models.next_invoice_reply_line import NextInvoiceReplyLine +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class NextInvoiceReply(BaseModel): + """ + NextInvoiceReply + """ # noqa: E501 + stripe_invoice: Optional[Dict[str, Any]] = None + lines: Optional[List[NextInvoiceReplyLine]] = None + discounts: Optional[List[NextInvoiceReplyDiscount]] = None + __properties: ClassVar[List[str]] = ["stripe_invoice", "lines", "discounts"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NextInvoiceReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in lines (list) + _items = [] + if self.lines: + for _item_lines in self.lines: + if _item_lines: + _items.append(_item_lines.to_dict()) + _dict['lines'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in discounts (list) + _items = [] + if self.discounts: + for _item_discounts in self.discounts: + if _item_discounts: + _items.append(_item_discounts.to_dict()) + _dict['discounts'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NextInvoiceReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "stripe_invoice": obj.get("stripe_invoice"), + "lines": [NextInvoiceReplyLine.from_dict(_item) for _item in obj["lines"]] if obj.get("lines") is not None else None, + "discounts": [NextInvoiceReplyDiscount.from_dict(_item) for _item in obj["discounts"]] if obj.get("discounts") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/next_invoice_reply_discount.py b/koyeb/api_async/models/next_invoice_reply_discount.py new file mode 100644 index 00000000..79cd0b9a --- /dev/null +++ b/koyeb/api_async/models/next_invoice_reply_discount.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.next_invoice_reply_discount_type import NextInvoiceReplyDiscountType +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class NextInvoiceReplyDiscount(BaseModel): + """ + NextInvoiceReplyDiscount + """ # noqa: E501 + type: Optional[NextInvoiceReplyDiscountType] = NextInvoiceReplyDiscountType.PERCENT_OFF + name: Optional[StrictStr] = None + amount: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["type", "name", "amount"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NextInvoiceReplyDiscount from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NextInvoiceReplyDiscount from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type") if obj.get("type") is not None else NextInvoiceReplyDiscountType.PERCENT_OFF, + "name": obj.get("name"), + "amount": obj.get("amount") + }) + return _obj + + diff --git a/koyeb/api_async/models/next_invoice_reply_discount_type.py b/koyeb/api_async/models/next_invoice_reply_discount_type.py new file mode 100644 index 00000000..482f2960 --- /dev/null +++ b/koyeb/api_async/models/next_invoice_reply_discount_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class NextInvoiceReplyDiscountType(str, Enum): + """ + NextInvoiceReplyDiscountType + """ + + """ + allowed enum values + """ + PERCENT_OFF = 'PERCENT_OFF' + AMOUNT_OFF = 'AMOUNT_OFF' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NextInvoiceReplyDiscountType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/next_invoice_reply_line.py b/koyeb/api_async/models/next_invoice_reply_line.py new file mode 100644 index 00000000..ae9639bc --- /dev/null +++ b/koyeb/api_async/models/next_invoice_reply_line.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.next_invoice_reply_line_period import NextInvoiceReplyLinePeriod +from koyeb.api_async.models.next_invoice_reply_line_price import NextInvoiceReplyLinePrice +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class NextInvoiceReplyLine(BaseModel): + """ + NextInvoiceReplyLine + """ # noqa: E501 + amount_excluding_tax: Optional[StrictInt] = None + period: Optional[NextInvoiceReplyLinePeriod] = None + plan_nickname: Optional[StrictStr] = None + price: Optional[NextInvoiceReplyLinePrice] = None + quantity: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["amount_excluding_tax", "period", "plan_nickname", "price", "quantity"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NextInvoiceReplyLine from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of period + if self.period: + _dict['period'] = self.period.to_dict() + # override the default output from pydantic by calling `to_dict()` of price + if self.price: + _dict['price'] = self.price.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NextInvoiceReplyLine from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "amount_excluding_tax": obj.get("amount_excluding_tax"), + "period": NextInvoiceReplyLinePeriod.from_dict(obj["period"]) if obj.get("period") is not None else None, + "plan_nickname": obj.get("plan_nickname"), + "price": NextInvoiceReplyLinePrice.from_dict(obj["price"]) if obj.get("price") is not None else None, + "quantity": obj.get("quantity") + }) + return _obj + + diff --git a/koyeb/api_async/models/next_invoice_reply_line_period.py b/koyeb/api_async/models/next_invoice_reply_line_period.py new file mode 100644 index 00000000..df3334a7 --- /dev/null +++ b/koyeb/api_async/models/next_invoice_reply_line_period.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class NextInvoiceReplyLinePeriod(BaseModel): + """ + NextInvoiceReplyLinePeriod + """ # noqa: E501 + start: Optional[datetime] = None + end: Optional[datetime] = None + __properties: ClassVar[List[str]] = ["start", "end"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NextInvoiceReplyLinePeriod from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NextInvoiceReplyLinePeriod from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "start": obj.get("start"), + "end": obj.get("end") + }) + return _obj + + diff --git a/koyeb/api_async/models/next_invoice_reply_line_price.py b/koyeb/api_async/models/next_invoice_reply_line_price.py new file mode 100644 index 00000000..9ef340d7 --- /dev/null +++ b/koyeb/api_async/models/next_invoice_reply_line_price.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class NextInvoiceReplyLinePrice(BaseModel): + """ + NextInvoiceReplyLinePrice + """ # noqa: E501 + unit_amount_decimal: Optional[Union[StrictFloat, StrictInt]] = None + __properties: ClassVar[List[str]] = ["unit_amount_decimal"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NextInvoiceReplyLinePrice from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NextInvoiceReplyLinePrice from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "unit_amount_decimal": obj.get("unit_amount_decimal") + }) + return _obj + + diff --git a/koyeb/api_async/models/notification.py b/koyeb/api_async/models/notification.py new file mode 100644 index 00000000..23f8d079 --- /dev/null +++ b/koyeb/api_async/models/notification.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.activity import Activity +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Notification(BaseModel): + """ + Notification + """ # noqa: E501 + id: Optional[StrictStr] = None + activity: Optional[Activity] = None + is_read: Optional[StrictBool] = None + is_seen: Optional[StrictBool] = None + created_at: Optional[datetime] = None + __properties: ClassVar[List[str]] = ["id", "activity", "is_read", "is_seen", "created_at"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Notification from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of activity + if self.activity: + _dict['activity'] = self.activity.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Notification from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "activity": Activity.from_dict(obj["activity"]) if obj.get("activity") is not None else None, + "is_read": obj.get("is_read"), + "is_seen": obj.get("is_seen"), + "created_at": obj.get("created_at") + }) + return _obj + + diff --git a/koyeb/api_async/models/notification_list.py b/koyeb/api_async/models/notification_list.py new file mode 100644 index 00000000..9d6dcdf6 --- /dev/null +++ b/koyeb/api_async/models/notification_list.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.notification import Notification +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class NotificationList(BaseModel): + """ + NotificationList + """ # noqa: E501 + notifications: Optional[List[Notification]] = None + limit: Optional[StrictInt] = None + offset: Optional[StrictInt] = None + count: Optional[StrictInt] = None + is_read: Optional[StrictBool] = None + is_seen: Optional[StrictBool] = None + unread: Optional[StrictInt] = None + unseen: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["notifications", "limit", "offset", "count", "is_read", "is_seen", "unread", "unseen"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NotificationList from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item_notifications in self.notifications: + if _item_notifications: + _items.append(_item_notifications.to_dict()) + _dict['notifications'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NotificationList from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "notifications": [Notification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None, + "limit": obj.get("limit"), + "offset": obj.get("offset"), + "count": obj.get("count"), + "is_read": obj.get("is_read"), + "is_seen": obj.get("is_seen"), + "unread": obj.get("unread"), + "unseen": obj.get("unseen") + }) + return _obj + + diff --git a/koyeb/api_async/models/o_auth_callback_reply.py b/koyeb/api_async/models/o_auth_callback_reply.py new file mode 100644 index 00000000..10c18893 --- /dev/null +++ b/koyeb/api_async/models/o_auth_callback_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.token import Token +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class OAuthCallbackReply(BaseModel): + """ + OAuthCallbackReply + """ # noqa: E501 + token: Optional[Token] = None + __properties: ClassVar[List[str]] = ["token"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of OAuthCallbackReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of token + if self.token: + _dict['token'] = self.token.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of OAuthCallbackReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "token": Token.from_dict(obj["token"]) if obj.get("token") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/o_auth_callback_request.py b/koyeb/api_async/models/o_auth_callback_request.py new file mode 100644 index 00000000..651da98e --- /dev/null +++ b/koyeb/api_async/models/o_auth_callback_request.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class OAuthCallbackRequest(BaseModel): + """ + OAuthCallbackRequest + """ # noqa: E501 + state: Optional[StrictStr] = None + code: Optional[StrictStr] = None + setup_action: Optional[StrictStr] = Field(default=None, description="setup_action is populated in the context of a GitHub app installation request. For logins and signups, it is not set.") + installation_id: Optional[StrictStr] = Field(default=None, description="installation_id is populated in the context of a GitHub app installation request. For logins and signups, it is not set.") + __properties: ClassVar[List[str]] = ["state", "code", "setup_action", "installation_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of OAuthCallbackRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of OAuthCallbackRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "state": obj.get("state"), + "code": obj.get("code"), + "setup_action": obj.get("setup_action"), + "installation_id": obj.get("installation_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/o_auth_provider.py b/koyeb/api_async/models/o_auth_provider.py new file mode 100644 index 00000000..5d3417f6 --- /dev/null +++ b/koyeb/api_async/models/o_auth_provider.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class OAuthProvider(BaseModel): + """ + OAuthProvider + """ # noqa: E501 + id: Optional[StrictStr] = None + url: Optional[StrictStr] = None + state: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "url", "state"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of OAuthProvider from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of OAuthProvider from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "url": obj.get("url"), + "state": obj.get("state") + }) + return _obj + + diff --git a/koyeb/api_async/models/object.py b/koyeb/api_async/models/object.py new file mode 100644 index 00000000..b89598e3 --- /dev/null +++ b/koyeb/api_async/models/object.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Object(BaseModel): + """ + Object + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + type: Optional[StrictStr] = None + metadata: Optional[Dict[str, Any]] = None + deleted: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["id", "name", "type", "metadata", "deleted"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Object from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Object from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "type": obj.get("type"), + "metadata": obj.get("metadata"), + "deleted": obj.get("deleted") + }) + return _obj + + diff --git a/koyeb/api_async/models/organization.py b/koyeb/api_async/models/organization.py new file mode 100644 index 00000000..e1cfa0f0 --- /dev/null +++ b/koyeb/api_async/models/organization.py @@ -0,0 +1,155 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_deactivation_reason import OrganizationDeactivationReason +from koyeb.api_async.models.organization_detailed_status import OrganizationDetailedStatus +from koyeb.api_async.models.organization_status import OrganizationStatus +from koyeb.api_async.models.plan import Plan +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Organization(BaseModel): + """ + Organization + """ # noqa: E501 + id: Optional[StrictStr] = None + external_id: Optional[StrictStr] = None + provisioning: Optional[StrictBool] = None + address1: Optional[StrictStr] = None + address2: Optional[StrictStr] = None + city: Optional[StrictStr] = None + postal_code: Optional[StrictStr] = None + state: Optional[StrictStr] = None + country: Optional[StrictStr] = None + company: Optional[StrictBool] = None + vat_number: Optional[StrictStr] = None + billing_name: Optional[StrictStr] = None + billing_email: Optional[StrictStr] = None + name: Optional[StrictStr] = None + plan: Optional[Plan] = Plan.HOBBY + plan_updated_at: Optional[datetime] = None + has_payment_method: Optional[StrictBool] = None + subscription_id: Optional[StrictStr] = None + current_subscription_id: Optional[StrictStr] = None + latest_subscription_id: Optional[StrictStr] = None + signup_qualification: Optional[Dict[str, Any]] = None + status: Optional[OrganizationStatus] = OrganizationStatus.WARNING + status_message: Optional[OrganizationDetailedStatus] = OrganizationDetailedStatus.NEW + deactivation_reason: Optional[OrganizationDeactivationReason] = OrganizationDeactivationReason.INVALID + verified: Optional[StrictBool] = None + qualifies_for_hobby23: Optional[StrictBool] = None + reprocess_after: Optional[datetime] = None + trialing: Optional[StrictBool] = None + trial_starts_at: Optional[datetime] = None + trial_ends_at: Optional[datetime] = None + email_domain_allowlist: Optional[List[StrictStr]] = None + default_project_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "external_id", "provisioning", "address1", "address2", "city", "postal_code", "state", "country", "company", "vat_number", "billing_name", "billing_email", "name", "plan", "plan_updated_at", "has_payment_method", "subscription_id", "current_subscription_id", "latest_subscription_id", "signup_qualification", "status", "status_message", "deactivation_reason", "verified", "qualifies_for_hobby23", "reprocess_after", "trialing", "trial_starts_at", "trial_ends_at", "email_domain_allowlist", "default_project_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Organization from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Organization from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "external_id": obj.get("external_id"), + "provisioning": obj.get("provisioning"), + "address1": obj.get("address1"), + "address2": obj.get("address2"), + "city": obj.get("city"), + "postal_code": obj.get("postal_code"), + "state": obj.get("state"), + "country": obj.get("country"), + "company": obj.get("company"), + "vat_number": obj.get("vat_number"), + "billing_name": obj.get("billing_name"), + "billing_email": obj.get("billing_email"), + "name": obj.get("name"), + "plan": obj.get("plan") if obj.get("plan") is not None else Plan.HOBBY, + "plan_updated_at": obj.get("plan_updated_at"), + "has_payment_method": obj.get("has_payment_method"), + "subscription_id": obj.get("subscription_id"), + "current_subscription_id": obj.get("current_subscription_id"), + "latest_subscription_id": obj.get("latest_subscription_id"), + "signup_qualification": obj.get("signup_qualification"), + "status": obj.get("status") if obj.get("status") is not None else OrganizationStatus.WARNING, + "status_message": obj.get("status_message") if obj.get("status_message") is not None else OrganizationDetailedStatus.NEW, + "deactivation_reason": obj.get("deactivation_reason") if obj.get("deactivation_reason") is not None else OrganizationDeactivationReason.INVALID, + "verified": obj.get("verified"), + "qualifies_for_hobby23": obj.get("qualifies_for_hobby23"), + "reprocess_after": obj.get("reprocess_after"), + "trialing": obj.get("trialing"), + "trial_starts_at": obj.get("trial_starts_at"), + "trial_ends_at": obj.get("trial_ends_at"), + "email_domain_allowlist": obj.get("email_domain_allowlist"), + "default_project_id": obj.get("default_project_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/organization_deactivation_reason.py b/koyeb/api_async/models/organization_deactivation_reason.py new file mode 100644 index 00000000..f7c78f6e --- /dev/null +++ b/koyeb/api_async/models/organization_deactivation_reason.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class OrganizationDeactivationReason(str, Enum): + """ + OrganizationDeactivationReason + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + REQUESTED_BY_OWNER = 'REQUESTED_BY_OWNER' + SUBSCRIPTION_TERMINATION = 'SUBSCRIPTION_TERMINATION' + LOCKED_BY_ADMIN = 'LOCKED_BY_ADMIN' + VERIFICATION_FAILED = 'VERIFICATION_FAILED' + TRIAL_DID_NOT_CONVERT = 'TRIAL_DID_NOT_CONVERT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of OrganizationDeactivationReason from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/organization_detailed_status.py b/koyeb/api_async/models/organization_detailed_status.py new file mode 100644 index 00000000..18a8ad08 --- /dev/null +++ b/koyeb/api_async/models/organization_detailed_status.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class OrganizationDetailedStatus(str, Enum): + """ + OrganizationDetailedStatus + """ + + """ + allowed enum values + """ + NEW = 'NEW' + EMAIL_NOT_VALIDATED = 'EMAIL_NOT_VALIDATED' + BILLING_INFO_MISSING = 'BILLING_INFO_MISSING' + LOCKED = 'LOCKED' + PAYMENT_FAILURE = 'PAYMENT_FAILURE' + VALID = 'VALID' + PENDING_VERIFICATION = 'PENDING_VERIFICATION' + VERIFICATION_FAILED = 'VERIFICATION_FAILED' + REVIEWING_ACCOUNT = 'REVIEWING_ACCOUNT' + PLAN_UPGRADE_REQUIRED = 'PLAN_UPGRADE_REQUIRED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of OrganizationDetailedStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/organization_invitation.py b/koyeb/api_async/models/organization_invitation.py new file mode 100644 index 00000000..5c4b0b74 --- /dev/null +++ b/koyeb/api_async/models/organization_invitation.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_invitation_status import OrganizationInvitationStatus +from koyeb.api_async.models.public_organization import PublicOrganization +from koyeb.api_async.models.public_user import PublicUser +from koyeb.api_async.models.user_role_role import UserRoleRole +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class OrganizationInvitation(BaseModel): + """ + OrganizationInvitation + """ # noqa: E501 + id: Optional[StrictStr] = None + email: Optional[StrictStr] = None + role: Optional[UserRoleRole] = UserRoleRole.INVALID + status: Optional[OrganizationInvitationStatus] = OrganizationInvitationStatus.INVALID + expires_at: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + organization: Optional[PublicOrganization] = None + invitee_id: Optional[StrictStr] = None + invitee: Optional[PublicUser] = None + inviter_id: Optional[StrictStr] = None + inviter: Optional[PublicUser] = None + __properties: ClassVar[List[str]] = ["id", "email", "role", "status", "expires_at", "organization_id", "organization", "invitee_id", "invitee", "inviter_id", "inviter"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of OrganizationInvitation from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + # override the default output from pydantic by calling `to_dict()` of invitee + if self.invitee: + _dict['invitee'] = self.invitee.to_dict() + # override the default output from pydantic by calling `to_dict()` of inviter + if self.inviter: + _dict['inviter'] = self.inviter.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of OrganizationInvitation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "email": obj.get("email"), + "role": obj.get("role") if obj.get("role") is not None else UserRoleRole.INVALID, + "status": obj.get("status") if obj.get("status") is not None else OrganizationInvitationStatus.INVALID, + "expires_at": obj.get("expires_at"), + "organization_id": obj.get("organization_id"), + "organization": PublicOrganization.from_dict(obj["organization"]) if obj.get("organization") is not None else None, + "invitee_id": obj.get("invitee_id"), + "invitee": PublicUser.from_dict(obj["invitee"]) if obj.get("invitee") is not None else None, + "inviter_id": obj.get("inviter_id"), + "inviter": PublicUser.from_dict(obj["inviter"]) if obj.get("inviter") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/organization_invitation_status.py b/koyeb/api_async/models/organization_invitation_status.py new file mode 100644 index 00000000..256fce22 --- /dev/null +++ b/koyeb/api_async/models/organization_invitation_status.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class OrganizationInvitationStatus(str, Enum): + """ + OrganizationInvitationStatus + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + PENDING = 'PENDING' + ACCEPTED = 'ACCEPTED' + REFUSED = 'REFUSED' + EXPIRED = 'EXPIRED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of OrganizationInvitationStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/organization_member.py b/koyeb/api_async/models/organization_member.py new file mode 100644 index 00000000..bbb504e4 --- /dev/null +++ b/koyeb/api_async/models/organization_member.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_member_status import OrganizationMemberStatus +from koyeb.api_async.models.public_organization import PublicOrganization +from koyeb.api_async.models.public_user import PublicUser +from koyeb.api_async.models.user_role_role import UserRoleRole +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class OrganizationMember(BaseModel): + """ + OrganizationMember + """ # noqa: E501 + id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + user_id: Optional[StrictStr] = None + external_id: Optional[StrictStr] = None + joined_at: Optional[datetime] = None + role: Optional[UserRoleRole] = UserRoleRole.INVALID + status: Optional[OrganizationMemberStatus] = OrganizationMemberStatus.INVALID + user: Optional[PublicUser] = None + organization: Optional[PublicOrganization] = None + __properties: ClassVar[List[str]] = ["id", "organization_id", "user_id", "external_id", "joined_at", "role", "status", "user", "organization"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of OrganizationMember from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of user + if self.user: + _dict['user'] = self.user.to_dict() + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of OrganizationMember from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "organization_id": obj.get("organization_id"), + "user_id": obj.get("user_id"), + "external_id": obj.get("external_id"), + "joined_at": obj.get("joined_at"), + "role": obj.get("role") if obj.get("role") is not None else UserRoleRole.INVALID, + "status": obj.get("status") if obj.get("status") is not None else OrganizationMemberStatus.INVALID, + "user": PublicUser.from_dict(obj["user"]) if obj.get("user") is not None else None, + "organization": PublicOrganization.from_dict(obj["organization"]) if obj.get("organization") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/organization_member_status.py b/koyeb/api_async/models/organization_member_status.py new file mode 100644 index 00000000..eb1a7f38 --- /dev/null +++ b/koyeb/api_async/models/organization_member_status.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class OrganizationMemberStatus(str, Enum): + """ + OrganizationMemberStatus + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + ACTIVE = 'ACTIVE' + DELETED = 'DELETED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of OrganizationMemberStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/organization_status.py b/koyeb/api_async/models/organization_status.py new file mode 100644 index 00000000..b8b6c050 --- /dev/null +++ b/koyeb/api_async/models/organization_status.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class OrganizationStatus(str, Enum): + """ + OrganizationStatus + """ + + """ + allowed enum values + """ + WARNING = 'WARNING' + LOCKED = 'LOCKED' + ACTIVE = 'ACTIVE' + DEACTIVATING = 'DEACTIVATING' + DEACTIVATED = 'DEACTIVATED' + DELETING = 'DELETING' + DELETED = 'DELETED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of OrganizationStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/organization_summary.py b/koyeb/api_async/models/organization_summary.py new file mode 100644 index 00000000..bd727222 --- /dev/null +++ b/koyeb/api_async/models/organization_summary.py @@ -0,0 +1,139 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.apps_summary import AppsSummary +from koyeb.api_async.models.domains_summary import DomainsSummary +from koyeb.api_async.models.instances_summary import InstancesSummary +from koyeb.api_async.models.members_summary import MembersSummary +from koyeb.api_async.models.neon_postgres_summary import NeonPostgresSummary +from koyeb.api_async.models.secrets_summary import SecretsSummary +from koyeb.api_async.models.service_summary import ServiceSummary +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class OrganizationSummary(BaseModel): + """ + OrganizationSummary + """ # noqa: E501 + organization_id: Optional[StrictStr] = None + instances: Optional[InstancesSummary] = None + apps: Optional[AppsSummary] = None + services: Optional[Dict[str, ServiceSummary]] = None + domains: Optional[DomainsSummary] = None + secrets: Optional[SecretsSummary] = None + neon_postgres: Optional[NeonPostgresSummary] = None + members: Optional[MembersSummary] = None + __properties: ClassVar[List[str]] = ["organization_id", "instances", "apps", "services", "domains", "secrets", "neon_postgres", "members"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of OrganizationSummary from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of instances + if self.instances: + _dict['instances'] = self.instances.to_dict() + # override the default output from pydantic by calling `to_dict()` of apps + if self.apps: + _dict['apps'] = self.apps.to_dict() + # override the default output from pydantic by calling `to_dict()` of each value in services (dict) + _field_dict = {} + if self.services: + for _key_services in self.services: + if self.services[_key_services]: + _field_dict[_key_services] = self.services[_key_services].to_dict() + _dict['services'] = _field_dict + # override the default output from pydantic by calling `to_dict()` of domains + if self.domains: + _dict['domains'] = self.domains.to_dict() + # override the default output from pydantic by calling `to_dict()` of secrets + if self.secrets: + _dict['secrets'] = self.secrets.to_dict() + # override the default output from pydantic by calling `to_dict()` of neon_postgres + if self.neon_postgres: + _dict['neon_postgres'] = self.neon_postgres.to_dict() + # override the default output from pydantic by calling `to_dict()` of members + if self.members: + _dict['members'] = self.members.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of OrganizationSummary from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization_id": obj.get("organization_id"), + "instances": InstancesSummary.from_dict(obj["instances"]) if obj.get("instances") is not None else None, + "apps": AppsSummary.from_dict(obj["apps"]) if obj.get("apps") is not None else None, + "services": dict( + (_k, ServiceSummary.from_dict(_v)) + for _k, _v in obj["services"].items() + ) + if obj.get("services") is not None + else None, + "domains": DomainsSummary.from_dict(obj["domains"]) if obj.get("domains") is not None else None, + "secrets": SecretsSummary.from_dict(obj["secrets"]) if obj.get("secrets") is not None else None, + "neon_postgres": NeonPostgresSummary.from_dict(obj["neon_postgres"]) if obj.get("neon_postgres") is not None else None, + "members": MembersSummary.from_dict(obj["members"]) if obj.get("members") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/payment_method.py b/koyeb/api_async/models/payment_method.py new file mode 100644 index 00000000..4dd35321 --- /dev/null +++ b/koyeb/api_async/models/payment_method.py @@ -0,0 +1,130 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.payment_method_status import PaymentMethodStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class PaymentMethod(BaseModel): + """ + PaymentMethod + """ # noqa: E501 + id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + version: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + type: Optional[StrictStr] = None + provider: Optional[StrictStr] = None + status: Optional[PaymentMethodStatus] = PaymentMethodStatus.INVALID + messages: Optional[List[StrictStr]] = None + stripe_payment_method_id: Optional[StrictStr] = None + authorization_verified_at: Optional[datetime] = None + authorization_canceled_at: Optional[datetime] = None + authorization_stripe_payment_intent_id: Optional[StrictStr] = None + authorization_stripe_payment_intent_client_secret: Optional[StrictStr] = None + card_brand: Optional[StrictStr] = None + card_country: Optional[StrictStr] = None + card_funding: Optional[StrictStr] = None + card_fingerprint: Optional[StrictStr] = None + card_last_digits: Optional[StrictStr] = None + card_expiration_month: Optional[StrictInt] = None + card_expiration_year: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["id", "created_at", "updated_at", "version", "organization_id", "type", "provider", "status", "messages", "stripe_payment_method_id", "authorization_verified_at", "authorization_canceled_at", "authorization_stripe_payment_intent_id", "authorization_stripe_payment_intent_client_secret", "card_brand", "card_country", "card_funding", "card_fingerprint", "card_last_digits", "card_expiration_month", "card_expiration_year"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PaymentMethod from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PaymentMethod from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "version": obj.get("version"), + "organization_id": obj.get("organization_id"), + "type": obj.get("type"), + "provider": obj.get("provider"), + "status": obj.get("status") if obj.get("status") is not None else PaymentMethodStatus.INVALID, + "messages": obj.get("messages"), + "stripe_payment_method_id": obj.get("stripe_payment_method_id"), + "authorization_verified_at": obj.get("authorization_verified_at"), + "authorization_canceled_at": obj.get("authorization_canceled_at"), + "authorization_stripe_payment_intent_id": obj.get("authorization_stripe_payment_intent_id"), + "authorization_stripe_payment_intent_client_secret": obj.get("authorization_stripe_payment_intent_client_secret"), + "card_brand": obj.get("card_brand"), + "card_country": obj.get("card_country"), + "card_funding": obj.get("card_funding"), + "card_fingerprint": obj.get("card_fingerprint"), + "card_last_digits": obj.get("card_last_digits"), + "card_expiration_month": obj.get("card_expiration_month"), + "card_expiration_year": obj.get("card_expiration_year") + }) + return _obj + + diff --git a/koyeb/api_async/models/payment_method_status.py b/koyeb/api_async/models/payment_method_status.py new file mode 100644 index 00000000..bb5f4d84 --- /dev/null +++ b/koyeb/api_async/models/payment_method_status.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class PaymentMethodStatus(str, Enum): + """ + PaymentMethodStatus + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + CREATED = 'CREATED' + AUTHORIZED = 'AUTHORIZED' + DECLINED = 'DECLINED' + CANCELED = 'CANCELED' + EXPIRED = 'EXPIRED' + UNCHECKED = 'UNCHECKED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PaymentMethodStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/period_usage.py b/koyeb/api_async/models/period_usage.py new file mode 100644 index 00000000..5e33e6a6 --- /dev/null +++ b/koyeb/api_async/models/period_usage.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.app_usage import AppUsage +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class PeriodUsage(BaseModel): + """ + PeriodUsage + """ # noqa: E501 + starting_time: Optional[datetime] = None + ending_time: Optional[datetime] = None + apps: Optional[List[AppUsage]] = None + __properties: ClassVar[List[str]] = ["starting_time", "ending_time", "apps"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PeriodUsage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in apps (list) + _items = [] + if self.apps: + for _item_apps in self.apps: + if _item_apps: + _items.append(_item_apps.to_dict()) + _dict['apps'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PeriodUsage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "starting_time": obj.get("starting_time"), + "ending_time": obj.get("ending_time"), + "apps": [AppUsage.from_dict(_item) for _item in obj["apps"]] if obj.get("apps") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/persistent_volume.py b/koyeb/api_async/models/persistent_volume.py new file mode 100644 index 00000000..abf47cc7 --- /dev/null +++ b/koyeb/api_async/models/persistent_volume.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.persistent_volume_backing_store import PersistentVolumeBackingStore +from koyeb.api_async.models.persistent_volume_status import PersistentVolumeStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class PersistentVolume(BaseModel): + """ + PersistentVolume + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + snapshot_id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + deleted_at: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + region: Optional[StrictStr] = None + read_only: Optional[StrictBool] = None + max_size: Optional[StrictInt] = None + cur_size: Optional[StrictInt] = None + status: Optional[PersistentVolumeStatus] = PersistentVolumeStatus.PERSISTENT_VOLUME_STATUS_INVALID + backing_store: Optional[PersistentVolumeBackingStore] = PersistentVolumeBackingStore.PERSISTENT_VOLUME_BACKING_STORE_INVALID + __properties: ClassVar[List[str]] = ["id", "name", "snapshot_id", "created_at", "updated_at", "deleted_at", "organization_id", "service_id", "region", "read_only", "max_size", "cur_size", "status", "backing_store"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PersistentVolume from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PersistentVolume from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "snapshot_id": obj.get("snapshot_id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "deleted_at": obj.get("deleted_at"), + "organization_id": obj.get("organization_id"), + "service_id": obj.get("service_id"), + "region": obj.get("region"), + "read_only": obj.get("read_only"), + "max_size": obj.get("max_size"), + "cur_size": obj.get("cur_size"), + "status": obj.get("status") if obj.get("status") is not None else PersistentVolumeStatus.PERSISTENT_VOLUME_STATUS_INVALID, + "backing_store": obj.get("backing_store") if obj.get("backing_store") is not None else PersistentVolumeBackingStore.PERSISTENT_VOLUME_BACKING_STORE_INVALID + }) + return _obj + + diff --git a/koyeb/api_async/models/persistent_volume_backing_store.py b/koyeb/api_async/models/persistent_volume_backing_store.py new file mode 100644 index 00000000..9f8a3494 --- /dev/null +++ b/koyeb/api_async/models/persistent_volume_backing_store.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class PersistentVolumeBackingStore(str, Enum): + """ + PersistentVolumeBackingStore + """ + + """ + allowed enum values + """ + PERSISTENT_VOLUME_BACKING_STORE_INVALID = 'PERSISTENT_VOLUME_BACKING_STORE_INVALID' + PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK = 'PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PersistentVolumeBackingStore from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/persistent_volume_event.py b/koyeb/api_async/models/persistent_volume_event.py new file mode 100644 index 00000000..723404ea --- /dev/null +++ b/koyeb/api_async/models/persistent_volume_event.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class PersistentVolumeEvent(BaseModel): + """ + PersistentVolumeEvent + """ # noqa: E501 + id: Optional[StrictStr] = None + when: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + persistent_volume_id: Optional[StrictStr] = None + type: Optional[StrictStr] = None + message: Optional[StrictStr] = None + metadata: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["id", "when", "organization_id", "persistent_volume_id", "type", "message", "metadata"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PersistentVolumeEvent from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PersistentVolumeEvent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "when": obj.get("when"), + "organization_id": obj.get("organization_id"), + "persistent_volume_id": obj.get("persistent_volume_id"), + "type": obj.get("type"), + "message": obj.get("message"), + "metadata": obj.get("metadata") + }) + return _obj + + diff --git a/koyeb/api_async/models/persistent_volume_quotas.py b/koyeb/api_async/models/persistent_volume_quotas.py new file mode 100644 index 00000000..b33bb37d --- /dev/null +++ b/koyeb/api_async/models/persistent_volume_quotas.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class PersistentVolumeQuotas(BaseModel): + """ + PersistentVolumeQuotas + """ # noqa: E501 + max_total_size: Optional[StrictInt] = Field(default=None, description="MaxTotalSize for all volumes on a region (in Gigabyte / GB).") + max_volume_size: Optional[StrictInt] = Field(default=None, description="MaxVolumeSize for one volume (in Gigabyte / GB).") + max_per_instance_size: Optional[StrictInt] = Field(default=None, description="MaxPerInstanceSize for all volumes on an instance (in Gigabyte / GB).") + __properties: ClassVar[List[str]] = ["max_total_size", "max_volume_size", "max_per_instance_size"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PersistentVolumeQuotas from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PersistentVolumeQuotas from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "max_total_size": obj.get("max_total_size"), + "max_volume_size": obj.get("max_volume_size"), + "max_per_instance_size": obj.get("max_per_instance_size") + }) + return _obj + + diff --git a/koyeb/api_async/models/persistent_volume_status.py b/koyeb/api_async/models/persistent_volume_status.py new file mode 100644 index 00000000..9e8fae12 --- /dev/null +++ b/koyeb/api_async/models/persistent_volume_status.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class PersistentVolumeStatus(str, Enum): + """ + PersistentVolumeStatus + """ + + """ + allowed enum values + """ + PERSISTENT_VOLUME_STATUS_INVALID = 'PERSISTENT_VOLUME_STATUS_INVALID' + PERSISTENT_VOLUME_STATUS_ATTACHED = 'PERSISTENT_VOLUME_STATUS_ATTACHED' + PERSISTENT_VOLUME_STATUS_DETACHED = 'PERSISTENT_VOLUME_STATUS_DETACHED' + PERSISTENT_VOLUME_STATUS_DELETING = 'PERSISTENT_VOLUME_STATUS_DELETING' + PERSISTENT_VOLUME_STATUS_DELETED = 'PERSISTENT_VOLUME_STATUS_DELETED' + PERSISTENT_VOLUME_STATUS_ARCHIVING = 'PERSISTENT_VOLUME_STATUS_ARCHIVING' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PersistentVolumeStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/plan.py b/koyeb/api_async/models/plan.py new file mode 100644 index 00000000..ea762666 --- /dev/null +++ b/koyeb/api_async/models/plan.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class Plan(str, Enum): + """ + Plan + """ + + """ + allowed enum values + """ + HOBBY = 'hobby' + STARTER = 'starter' + STARTUP = 'startup' + BUSINESS = 'business' + ENTERPRISE = 'enterprise' + INTERNAL = 'internal' + HOBBY23 = 'hobby23' + NO_PLAN = 'no_plan' + PRO = 'pro' + SCALE = 'scale' + PARTNER_CSP = 'partner_csp' + PARTNER_CSP_UNIT = 'partner_csp_unit' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of Plan from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/port.py b/koyeb/api_async/models/port.py new file mode 100644 index 00000000..11bc010b --- /dev/null +++ b/koyeb/api_async/models/port.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Port(BaseModel): + """ + Port + """ # noqa: E501 + port: Optional[StrictInt] = None + protocol: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["port", "protocol"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Port from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Port from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "port": obj.get("port"), + "protocol": obj.get("protocol") + }) + return _obj + + diff --git a/koyeb/api_async/models/private_registry_configuration.py b/koyeb/api_async/models/private_registry_configuration.py new file mode 100644 index 00000000..6d45b615 --- /dev/null +++ b/koyeb/api_async/models/private_registry_configuration.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class PrivateRegistryConfiguration(BaseModel): + """ + PrivateRegistryConfiguration + """ # noqa: E501 + username: Optional[StrictStr] = None + password: Optional[StrictStr] = None + url: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["username", "password", "url"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PrivateRegistryConfiguration from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PrivateRegistryConfiguration from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "username": obj.get("username"), + "password": obj.get("password"), + "url": obj.get("url") + }) + return _obj + + diff --git a/koyeb/api_async/models/project.py b/koyeb/api_async/models/project.py new file mode 100644 index 00000000..4f244dc0 --- /dev/null +++ b/koyeb/api_async/models/project.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Project(BaseModel): + """ + Project + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + description: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + updated_at: Optional[datetime] = None + created_at: Optional[datetime] = None + service_count: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "name", "description", "organization_id", "updated_at", "created_at", "service_count"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Project from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Project from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "description": obj.get("description"), + "organization_id": obj.get("organization_id"), + "updated_at": obj.get("updated_at"), + "created_at": obj.get("created_at"), + "service_count": obj.get("service_count") + }) + return _obj + + diff --git a/koyeb/api_async/models/proxy_port_protocol.py b/koyeb/api_async/models/proxy_port_protocol.py new file mode 100644 index 00000000..3d253437 --- /dev/null +++ b/koyeb/api_async/models/proxy_port_protocol.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class ProxyPortProtocol(str, Enum): + """ + ProxyPortProtocol + """ + + """ + allowed enum values + """ + TCP = 'tcp' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ProxyPortProtocol from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/public_organization.py b/koyeb/api_async/models/public_organization.py new file mode 100644 index 00000000..775d52b9 --- /dev/null +++ b/koyeb/api_async/models/public_organization.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_status import OrganizationStatus +from koyeb.api_async.models.plan import Plan +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class PublicOrganization(BaseModel): + """ + PublicOrganization + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + plan: Optional[Plan] = Plan.HOBBY + status: Optional[OrganizationStatus] = OrganizationStatus.WARNING + external_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "name", "plan", "status", "external_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PublicOrganization from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PublicOrganization from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "plan": obj.get("plan") if obj.get("plan") is not None else Plan.HOBBY, + "status": obj.get("status") if obj.get("status") is not None else OrganizationStatus.WARNING, + "external_id": obj.get("external_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/public_user.py b/koyeb/api_async/models/public_user.py new file mode 100644 index 00000000..9a899158 --- /dev/null +++ b/koyeb/api_async/models/public_user.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class PublicUser(BaseModel): + """ + PublicUser + """ # noqa: E501 + id: Optional[StrictStr] = None + email: Optional[StrictStr] = None + name: Optional[StrictStr] = None + avatar_url: Optional[StrictStr] = None + github_id: Optional[StrictStr] = None + github_user: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "email", "name", "avatar_url", "github_id", "github_user"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PublicUser from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PublicUser from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "email": obj.get("email"), + "name": obj.get("name"), + "avatar_url": obj.get("avatar_url"), + "github_id": obj.get("github_id"), + "github_user": obj.get("github_user") + }) + return _obj + + diff --git a/koyeb/api_async/models/query_logs_reply.py b/koyeb/api_async/models/query_logs_reply.py new file mode 100644 index 00000000..23e47854 --- /dev/null +++ b/koyeb/api_async/models/query_logs_reply.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.log_entry import LogEntry +from koyeb.api_async.models.query_logs_reply_pagination import QueryLogsReplyPagination +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class QueryLogsReply(BaseModel): + """ + QueryLogsReply + """ # noqa: E501 + data: Optional[List[LogEntry]] = None + pagination: Optional[QueryLogsReplyPagination] = None + __properties: ClassVar[List[str]] = ["data", "pagination"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryLogsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items + # override the default output from pydantic by calling `to_dict()` of pagination + if self.pagination: + _dict['pagination'] = self.pagination.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryLogsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": [LogEntry.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "pagination": QueryLogsReplyPagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/query_logs_reply_pagination.py b/koyeb/api_async/models/query_logs_reply_pagination.py new file mode 100644 index 00000000..59a7151a --- /dev/null +++ b/koyeb/api_async/models/query_logs_reply_pagination.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class QueryLogsReplyPagination(BaseModel): + """ + QueryLogsReplyPagination + """ # noqa: E501 + has_more: Optional[StrictBool] = None + next_start: Optional[datetime] = None + next_end: Optional[datetime] = None + __properties: ClassVar[List[str]] = ["has_more", "next_start", "next_end"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of QueryLogsReplyPagination from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of QueryLogsReplyPagination from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "has_more": obj.get("has_more"), + "next_start": obj.get("next_start"), + "next_end": obj.get("next_end") + }) + return _obj + + diff --git a/koyeb/api_async/models/quotas.py b/koyeb/api_async/models/quotas.py new file mode 100644 index 00000000..793993a7 --- /dev/null +++ b/koyeb/api_async/models/quotas.py @@ -0,0 +1,155 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.domain_load_balancer_quotas import DomainLoadBalancerQuotas +from koyeb.api_async.models.lifecycle_quotas import LifecycleQuotas +from koyeb.api_async.models.persistent_volume_quotas import PersistentVolumeQuotas +from koyeb.api_async.models.scale_to_zero_quotas import ScaleToZeroQuotas +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Quotas(BaseModel): + """ + Quotas + """ # noqa: E501 + apps: Optional[StrictStr] = None + services: Optional[StrictStr] = None + domains: Optional[StrictStr] = None + services_by_app: Optional[StrictStr] = None + service_provisioning_concurrency: Optional[StrictStr] = None + memory_mb: Optional[StrictStr] = None + instance_types: Optional[List[StrictStr]] = None + regions: Optional[List[StrictStr]] = None + max_organization_members: Optional[StrictStr] = None + max_instances_by_type: Optional[Dict[str, StrictStr]] = None + persistent_volumes_by_region: Optional[Dict[str, PersistentVolumeQuotas]] = None + custom_domains: Optional[StrictStr] = None + domains_load_balancer: Optional[DomainLoadBalancerQuotas] = None + metrics_retention: Optional[StrictInt] = None + logs_retention: Optional[StrictInt] = None + access_reserved_subdomains: Optional[List[StrictStr]] = None + proxy_ports: Optional[StrictInt] = None + scale_to_zero: Optional[ScaleToZeroQuotas] = None + archives: Optional[StrictStr] = None + archive_max_size_mb: Optional[StrictStr] = None + lifecycle: Optional[LifecycleQuotas] = None + max_projects: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["apps", "services", "domains", "services_by_app", "service_provisioning_concurrency", "memory_mb", "instance_types", "regions", "max_organization_members", "max_instances_by_type", "persistent_volumes_by_region", "custom_domains", "domains_load_balancer", "metrics_retention", "logs_retention", "access_reserved_subdomains", "proxy_ports", "scale_to_zero", "archives", "archive_max_size_mb", "lifecycle", "max_projects"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Quotas from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each value in persistent_volumes_by_region (dict) + _field_dict = {} + if self.persistent_volumes_by_region: + for _key_persistent_volumes_by_region in self.persistent_volumes_by_region: + if self.persistent_volumes_by_region[_key_persistent_volumes_by_region]: + _field_dict[_key_persistent_volumes_by_region] = self.persistent_volumes_by_region[_key_persistent_volumes_by_region].to_dict() + _dict['persistent_volumes_by_region'] = _field_dict + # override the default output from pydantic by calling `to_dict()` of domains_load_balancer + if self.domains_load_balancer: + _dict['domains_load_balancer'] = self.domains_load_balancer.to_dict() + # override the default output from pydantic by calling `to_dict()` of scale_to_zero + if self.scale_to_zero: + _dict['scale_to_zero'] = self.scale_to_zero.to_dict() + # override the default output from pydantic by calling `to_dict()` of lifecycle + if self.lifecycle: + _dict['lifecycle'] = self.lifecycle.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Quotas from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apps": obj.get("apps"), + "services": obj.get("services"), + "domains": obj.get("domains"), + "services_by_app": obj.get("services_by_app"), + "service_provisioning_concurrency": obj.get("service_provisioning_concurrency"), + "memory_mb": obj.get("memory_mb"), + "instance_types": obj.get("instance_types"), + "regions": obj.get("regions"), + "max_organization_members": obj.get("max_organization_members"), + "max_instances_by_type": obj.get("max_instances_by_type"), + "persistent_volumes_by_region": dict( + (_k, PersistentVolumeQuotas.from_dict(_v)) + for _k, _v in obj["persistent_volumes_by_region"].items() + ) + if obj.get("persistent_volumes_by_region") is not None + else None, + "custom_domains": obj.get("custom_domains"), + "domains_load_balancer": DomainLoadBalancerQuotas.from_dict(obj["domains_load_balancer"]) if obj.get("domains_load_balancer") is not None else None, + "metrics_retention": obj.get("metrics_retention"), + "logs_retention": obj.get("logs_retention"), + "access_reserved_subdomains": obj.get("access_reserved_subdomains"), + "proxy_ports": obj.get("proxy_ports"), + "scale_to_zero": ScaleToZeroQuotas.from_dict(obj["scale_to_zero"]) if obj.get("scale_to_zero") is not None else None, + "archives": obj.get("archives"), + "archive_max_size_mb": obj.get("archive_max_size_mb"), + "lifecycle": LifecycleQuotas.from_dict(obj["lifecycle"]) if obj.get("lifecycle") is not None else None, + "max_projects": obj.get("max_projects") + }) + return _obj + + diff --git a/koyeb/api_async/models/reactivate_organization_reply.py b/koyeb/api_async/models/reactivate_organization_reply.py new file mode 100644 index 00000000..e3243e0a --- /dev/null +++ b/koyeb/api_async/models/reactivate_organization_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ReactivateOrganizationReply(BaseModel): + """ + ReactivateOrganizationReply + """ # noqa: E501 + organization: Optional[Organization] = None + __properties: ClassVar[List[str]] = ["organization"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ReactivateOrganizationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ReactivateOrganizationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization": Organization.from_dict(obj["organization"]) if obj.get("organization") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/redeem_coupon_request.py b/koyeb/api_async/models/redeem_coupon_request.py new file mode 100644 index 00000000..08156d17 --- /dev/null +++ b/koyeb/api_async/models/redeem_coupon_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RedeemCouponRequest(BaseModel): + """ + RedeemCouponRequest + """ # noqa: E501 + code: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["code"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RedeemCouponRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RedeemCouponRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "code": obj.get("code") + }) + return _obj + + diff --git a/koyeb/api_async/models/redeploy_reply.py b/koyeb/api_async/models/redeploy_reply.py new file mode 100644 index 00000000..8167c557 --- /dev/null +++ b/koyeb/api_async/models/redeploy_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment import Deployment +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RedeployReply(BaseModel): + """ + RedeployReply + """ # noqa: E501 + deployment: Optional[Deployment] = None + __properties: ClassVar[List[str]] = ["deployment"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RedeployReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of deployment + if self.deployment: + _dict['deployment'] = self.deployment.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RedeployReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "deployment": Deployment.from_dict(obj["deployment"]) if obj.get("deployment") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/redeploy_request_info.py b/koyeb/api_async/models/redeploy_request_info.py new file mode 100644 index 00000000..1f606e7a --- /dev/null +++ b/koyeb/api_async/models/redeploy_request_info.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RedeployRequestInfo(BaseModel): + """ + RedeployRequestInfo + """ # noqa: E501 + deployment_group: Optional[StrictStr] = None + sha: Optional[StrictStr] = None + use_cache: Optional[StrictBool] = None + skip_build: Optional[StrictBool] = Field(default=None, description="If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened.") + __properties: ClassVar[List[str]] = ["deployment_group", "sha", "use_cache", "skip_build"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RedeployRequestInfo from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RedeployRequestInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "deployment_group": obj.get("deployment_group"), + "sha": obj.get("sha"), + "use_cache": obj.get("use_cache"), + "skip_build": obj.get("skip_build") + }) + return _obj + + diff --git a/koyeb/api_async/models/region.py b/koyeb/api_async/models/region.py new file mode 100644 index 00000000..7af81cd7 --- /dev/null +++ b/koyeb/api_async/models/region.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Region(BaseModel): + """ + Region + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + coordinates: Optional[List[StrictStr]] = None + status: Optional[StrictStr] = None + instances: Optional[List[StrictStr]] = None + datacenters: Optional[List[StrictStr]] = None + volumes_enabled: Optional[StrictBool] = None + scope: Optional[StrictStr] = Field(default=None, description="The scope of the region, continent, metropolitan area, etc.") + __properties: ClassVar[List[str]] = ["id", "name", "coordinates", "status", "instances", "datacenters", "volumes_enabled", "scope"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Region from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Region from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "coordinates": obj.get("coordinates"), + "status": obj.get("status"), + "instances": obj.get("instances"), + "datacenters": obj.get("datacenters"), + "volumes_enabled": obj.get("volumes_enabled"), + "scope": obj.get("scope") + }) + return _obj + + diff --git a/koyeb/api_async/models/region_availability.py b/koyeb/api_async/models/region_availability.py new file mode 100644 index 00000000..a4b24f98 --- /dev/null +++ b/koyeb/api_async/models/region_availability.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.availability_level import AvailabilityLevel +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RegionAvailability(BaseModel): + """ + RegionAvailability + """ # noqa: E501 + availability: Optional[AvailabilityLevel] = AvailabilityLevel.UNKNOWN + __properties: ClassVar[List[str]] = ["availability"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RegionAvailability from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RegionAvailability from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "availability": obj.get("availability") if obj.get("availability") is not None else AvailabilityLevel.UNKNOWN + }) + return _obj + + diff --git a/koyeb/api_async/models/region_list_item.py b/koyeb/api_async/models/region_list_item.py new file mode 100644 index 00000000..2e407704 --- /dev/null +++ b/koyeb/api_async/models/region_list_item.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RegionListItem(BaseModel): + """ + RegionListItem + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + coordinates: Optional[List[StrictStr]] = None + status: Optional[StrictStr] = None + instances: Optional[List[StrictStr]] = None + datacenters: Optional[List[StrictStr]] = None + volumes_enabled: Optional[StrictBool] = None + scope: Optional[StrictStr] = Field(default=None, description="The scope of the region, continent, metropolitan area, etc.") + __properties: ClassVar[List[str]] = ["id", "name", "coordinates", "status", "instances", "datacenters", "volumes_enabled", "scope"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RegionListItem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RegionListItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "coordinates": obj.get("coordinates"), + "status": obj.get("status"), + "instances": obj.get("instances"), + "datacenters": obj.get("datacenters"), + "volumes_enabled": obj.get("volumes_enabled"), + "scope": obj.get("scope") + }) + return _obj + + diff --git a/koyeb/api_async/models/region_usage.py b/koyeb/api_async/models/region_usage.py new file mode 100644 index 00000000..b625ff40 --- /dev/null +++ b/koyeb/api_async/models/region_usage.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.instance_usage import InstanceUsage +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RegionUsage(BaseModel): + """ + RegionUsage + """ # noqa: E501 + instances: Optional[Dict[str, InstanceUsage]] = None + __properties: ClassVar[List[str]] = ["instances"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RegionUsage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each value in instances (dict) + _field_dict = {} + if self.instances: + for _key_instances in self.instances: + if self.instances[_key_instances]: + _field_dict[_key_instances] = self.instances[_key_instances].to_dict() + _dict['instances'] = _field_dict + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RegionUsage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "instances": dict( + (_k, InstanceUsage.from_dict(_v)) + for _k, _v in obj["instances"].items() + ) + if obj.get("instances") is not None + else None + }) + return _obj + + diff --git a/koyeb/api_async/models/regional_deployment.py b/koyeb/api_async/models/regional_deployment.py new file mode 100644 index 00000000..28b9a811 --- /dev/null +++ b/koyeb/api_async/models/regional_deployment.py @@ -0,0 +1,145 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_provisioning_info import DeploymentProvisioningInfo +from koyeb.api_async.models.regional_deployment_definition import RegionalDeploymentDefinition +from koyeb.api_async.models.regional_deployment_role import RegionalDeploymentRole +from koyeb.api_async.models.regional_deployment_status import RegionalDeploymentStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RegionalDeployment(BaseModel): + """ + RegionalDeployment + """ # noqa: E501 + id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + scheduled_at: Optional[datetime] = None + allocated_at: Optional[datetime] = None + started_at: Optional[datetime] = None + succeeded_at: Optional[datetime] = None + terminated_at: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + region: Optional[StrictStr] = None + parent_id: Optional[StrictStr] = None + child_id: Optional[StrictStr] = None + status: Optional[RegionalDeploymentStatus] = RegionalDeploymentStatus.PENDING + messages: Optional[List[StrictStr]] = None + definition: Optional[RegionalDeploymentDefinition] = None + datacenters: Optional[List[StrictStr]] = None + metadata: Optional[Dict[str, Any]] = None + provisioning_info: Optional[DeploymentProvisioningInfo] = None + role: Optional[RegionalDeploymentRole] = RegionalDeploymentRole.INVALID + version: Optional[StrictStr] = None + deployment_group: Optional[StrictStr] = None + deployment_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "created_at", "updated_at", "scheduled_at", "allocated_at", "started_at", "succeeded_at", "terminated_at", "organization_id", "app_id", "service_id", "region", "parent_id", "child_id", "status", "messages", "definition", "datacenters", "metadata", "provisioning_info", "role", "version", "deployment_group", "deployment_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RegionalDeployment from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of definition + if self.definition: + _dict['definition'] = self.definition.to_dict() + # override the default output from pydantic by calling `to_dict()` of provisioning_info + if self.provisioning_info: + _dict['provisioning_info'] = self.provisioning_info.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RegionalDeployment from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "scheduled_at": obj.get("scheduled_at"), + "allocated_at": obj.get("allocated_at"), + "started_at": obj.get("started_at"), + "succeeded_at": obj.get("succeeded_at"), + "terminated_at": obj.get("terminated_at"), + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "service_id": obj.get("service_id"), + "region": obj.get("region"), + "parent_id": obj.get("parent_id"), + "child_id": obj.get("child_id"), + "status": obj.get("status") if obj.get("status") is not None else RegionalDeploymentStatus.PENDING, + "messages": obj.get("messages"), + "definition": RegionalDeploymentDefinition.from_dict(obj["definition"]) if obj.get("definition") is not None else None, + "datacenters": obj.get("datacenters"), + "metadata": obj.get("metadata"), + "provisioning_info": DeploymentProvisioningInfo.from_dict(obj["provisioning_info"]) if obj.get("provisioning_info") is not None else None, + "role": obj.get("role") if obj.get("role") is not None else RegionalDeploymentRole.INVALID, + "version": obj.get("version"), + "deployment_group": obj.get("deployment_group"), + "deployment_id": obj.get("deployment_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/regional_deployment_definition.py b/koyeb/api_async/models/regional_deployment_definition.py new file mode 100644 index 00000000..1f4c054b --- /dev/null +++ b/koyeb/api_async/models/regional_deployment_definition.py @@ -0,0 +1,192 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.archive_source import ArchiveSource +from koyeb.api_async.models.config_file import ConfigFile +from koyeb.api_async.models.deployment_health_check import DeploymentHealthCheck +from koyeb.api_async.models.deployment_strategy import DeploymentStrategy +from koyeb.api_async.models.docker_source import DockerSource +from koyeb.api_async.models.env import Env +from koyeb.api_async.models.git_source import GitSource +from koyeb.api_async.models.port import Port +from koyeb.api_async.models.regional_deployment_definition_type import RegionalDeploymentDefinitionType +from koyeb.api_async.models.regional_deployment_mesh import RegionalDeploymentMesh +from koyeb.api_async.models.regional_deployment_volume import RegionalDeploymentVolume +from koyeb.api_async.models.route import Route +from koyeb.api_async.models.scaling import Scaling +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RegionalDeploymentDefinition(BaseModel): + """ + RegionalDeploymentDefinition + """ # noqa: E501 + name: Optional[StrictStr] = None + type: Optional[RegionalDeploymentDefinitionType] = RegionalDeploymentDefinitionType.INVALID + strategy: Optional[DeploymentStrategy] = None + routes: Optional[List[Route]] = None + ports: Optional[List[Port]] = None + env: Optional[List[Env]] = None + region: Optional[StrictStr] = None + scaling: Optional[Scaling] = None + instance_type: Optional[StrictStr] = None + deployment_group: Optional[StrictStr] = None + health_checks: Optional[List[DeploymentHealthCheck]] = None + volumes: Optional[List[RegionalDeploymentVolume]] = None + config_files: Optional[List[ConfigFile]] = None + skip_cache: Optional[StrictBool] = None + mesh: Optional[RegionalDeploymentMesh] = RegionalDeploymentMesh.REGIONAL_DEPLOYMENT_MESH_AUTO + docker: Optional[DockerSource] = None + git: Optional[GitSource] = None + archive: Optional[ArchiveSource] = None + __properties: ClassVar[List[str]] = ["name", "type", "strategy", "routes", "ports", "env", "region", "scaling", "instance_type", "deployment_group", "health_checks", "volumes", "config_files", "skip_cache", "mesh", "docker", "git", "archive"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RegionalDeploymentDefinition from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of strategy + if self.strategy: + _dict['strategy'] = self.strategy.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in routes (list) + _items = [] + if self.routes: + for _item_routes in self.routes: + if _item_routes: + _items.append(_item_routes.to_dict()) + _dict['routes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in ports (list) + _items = [] + if self.ports: + for _item_ports in self.ports: + if _item_ports: + _items.append(_item_ports.to_dict()) + _dict['ports'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in env (list) + _items = [] + if self.env: + for _item_env in self.env: + if _item_env: + _items.append(_item_env.to_dict()) + _dict['env'] = _items + # override the default output from pydantic by calling `to_dict()` of scaling + if self.scaling: + _dict['scaling'] = self.scaling.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in health_checks (list) + _items = [] + if self.health_checks: + for _item_health_checks in self.health_checks: + if _item_health_checks: + _items.append(_item_health_checks.to_dict()) + _dict['health_checks'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in volumes (list) + _items = [] + if self.volumes: + for _item_volumes in self.volumes: + if _item_volumes: + _items.append(_item_volumes.to_dict()) + _dict['volumes'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in config_files (list) + _items = [] + if self.config_files: + for _item_config_files in self.config_files: + if _item_config_files: + _items.append(_item_config_files.to_dict()) + _dict['config_files'] = _items + # override the default output from pydantic by calling `to_dict()` of docker + if self.docker: + _dict['docker'] = self.docker.to_dict() + # override the default output from pydantic by calling `to_dict()` of git + if self.git: + _dict['git'] = self.git.to_dict() + # override the default output from pydantic by calling `to_dict()` of archive + if self.archive: + _dict['archive'] = self.archive.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RegionalDeploymentDefinition from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "type": obj.get("type") if obj.get("type") is not None else RegionalDeploymentDefinitionType.INVALID, + "strategy": DeploymentStrategy.from_dict(obj["strategy"]) if obj.get("strategy") is not None else None, + "routes": [Route.from_dict(_item) for _item in obj["routes"]] if obj.get("routes") is not None else None, + "ports": [Port.from_dict(_item) for _item in obj["ports"]] if obj.get("ports") is not None else None, + "env": [Env.from_dict(_item) for _item in obj["env"]] if obj.get("env") is not None else None, + "region": obj.get("region"), + "scaling": Scaling.from_dict(obj["scaling"]) if obj.get("scaling") is not None else None, + "instance_type": obj.get("instance_type"), + "deployment_group": obj.get("deployment_group"), + "health_checks": [DeploymentHealthCheck.from_dict(_item) for _item in obj["health_checks"]] if obj.get("health_checks") is not None else None, + "volumes": [RegionalDeploymentVolume.from_dict(_item) for _item in obj["volumes"]] if obj.get("volumes") is not None else None, + "config_files": [ConfigFile.from_dict(_item) for _item in obj["config_files"]] if obj.get("config_files") is not None else None, + "skip_cache": obj.get("skip_cache"), + "mesh": obj.get("mesh") if obj.get("mesh") is not None else RegionalDeploymentMesh.REGIONAL_DEPLOYMENT_MESH_AUTO, + "docker": DockerSource.from_dict(obj["docker"]) if obj.get("docker") is not None else None, + "git": GitSource.from_dict(obj["git"]) if obj.get("git") is not None else None, + "archive": ArchiveSource.from_dict(obj["archive"]) if obj.get("archive") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/regional_deployment_definition_type.py b/koyeb/api_async/models/regional_deployment_definition_type.py new file mode 100644 index 00000000..d130da32 --- /dev/null +++ b/koyeb/api_async/models/regional_deployment_definition_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class RegionalDeploymentDefinitionType(str, Enum): + """ + RegionalDeploymentDefinitionType + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + WEB = 'WEB' + WORKER = 'WORKER' + UNDERSCORE = '_' + SANDBOX = 'SANDBOX' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RegionalDeploymentDefinitionType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/regional_deployment_event.py b/koyeb/api_async/models/regional_deployment_event.py new file mode 100644 index 00000000..9d09295a --- /dev/null +++ b/koyeb/api_async/models/regional_deployment_event.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RegionalDeploymentEvent(BaseModel): + """ + RegionalDeploymentEvent + """ # noqa: E501 + id: Optional[StrictStr] = None + when: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + regional_deployment_id: Optional[StrictStr] = None + type: Optional[StrictStr] = None + message: Optional[StrictStr] = None + metadata: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["id", "when", "organization_id", "regional_deployment_id", "type", "message", "metadata"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RegionalDeploymentEvent from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RegionalDeploymentEvent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "when": obj.get("when"), + "organization_id": obj.get("organization_id"), + "regional_deployment_id": obj.get("regional_deployment_id"), + "type": obj.get("type"), + "message": obj.get("message"), + "metadata": obj.get("metadata") + }) + return _obj + + diff --git a/koyeb/api_async/models/regional_deployment_list_item.py b/koyeb/api_async/models/regional_deployment_list_item.py new file mode 100644 index 00000000..8943ee24 --- /dev/null +++ b/koyeb/api_async/models/regional_deployment_list_item.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.regional_deployment_definition import RegionalDeploymentDefinition +from koyeb.api_async.models.regional_deployment_status import RegionalDeploymentStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RegionalDeploymentListItem(BaseModel): + """ + RegionalDeploymentListItem + """ # noqa: E501 + id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + region: Optional[StrictStr] = None + status: Optional[RegionalDeploymentStatus] = RegionalDeploymentStatus.PENDING + messages: Optional[List[StrictStr]] = None + definition: Optional[RegionalDeploymentDefinition] = None + __properties: ClassVar[List[str]] = ["id", "created_at", "updated_at", "region", "status", "messages", "definition"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RegionalDeploymentListItem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of definition + if self.definition: + _dict['definition'] = self.definition.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RegionalDeploymentListItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "region": obj.get("region"), + "status": obj.get("status") if obj.get("status") is not None else RegionalDeploymentStatus.PENDING, + "messages": obj.get("messages"), + "definition": RegionalDeploymentDefinition.from_dict(obj["definition"]) if obj.get("definition") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/regional_deployment_mesh.py b/koyeb/api_async/models/regional_deployment_mesh.py new file mode 100644 index 00000000..6de8183d --- /dev/null +++ b/koyeb/api_async/models/regional_deployment_mesh.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class RegionalDeploymentMesh(str, Enum): + """ + RegionalDeploymentMesh + """ + + """ + allowed enum values + """ + REGIONAL_DEPLOYMENT_MESH_AUTO = 'REGIONAL_DEPLOYMENT_MESH_AUTO' + REGIONAL_DEPLOYMENT_MESH_ENABLED = 'REGIONAL_DEPLOYMENT_MESH_ENABLED' + REGIONAL_DEPLOYMENT_MESH_DISABLED = 'REGIONAL_DEPLOYMENT_MESH_DISABLED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RegionalDeploymentMesh from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/regional_deployment_role.py b/koyeb/api_async/models/regional_deployment_role.py new file mode 100644 index 00000000..1a17b3e3 --- /dev/null +++ b/koyeb/api_async/models/regional_deployment_role.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class RegionalDeploymentRole(str, Enum): + """ + RegionalDeploymentRole + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + ACTIVE = 'ACTIVE' + UPCOMING = 'UPCOMING' + CURRENT = 'CURRENT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RegionalDeploymentRole from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/regional_deployment_status.py b/koyeb/api_async/models/regional_deployment_status.py new file mode 100644 index 00000000..fc0a3635 --- /dev/null +++ b/koyeb/api_async/models/regional_deployment_status.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class RegionalDeploymentStatus(str, Enum): + """ + RegionalDeploymentStatus + """ + + """ + allowed enum values + """ + PENDING = 'PENDING' + PROVISIONING = 'PROVISIONING' + SCHEDULED = 'SCHEDULED' + CANCELING = 'CANCELING' + CANCELED = 'CANCELED' + ALLOCATING = 'ALLOCATING' + STARTING = 'STARTING' + HEALTHY = 'HEALTHY' + DEGRADED = 'DEGRADED' + UNHEALTHY = 'UNHEALTHY' + STOPPING = 'STOPPING' + STOPPED = 'STOPPED' + ERRORING = 'ERRORING' + ERROR = 'ERROR' + SLEEPING = 'SLEEPING' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RegionalDeploymentStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/regional_deployment_volume.py b/koyeb/api_async/models/regional_deployment_volume.py new file mode 100644 index 00000000..51e48ee7 --- /dev/null +++ b/koyeb/api_async/models/regional_deployment_volume.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RegionalDeploymentVolume(BaseModel): + """ + RegionalDeploymentVolume + """ # noqa: E501 + id: Optional[StrictStr] = None + path: Optional[StrictStr] = None + replica_index: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["id", "path", "replica_index"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RegionalDeploymentVolume from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RegionalDeploymentVolume from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "path": obj.get("path"), + "replica_index": obj.get("replica_index") + }) + return _obj + + diff --git a/koyeb/api_async/models/remove_organization_member_reply.py b/koyeb/api_async/models/remove_organization_member_reply.py new file mode 100644 index 00000000..7559c562 --- /dev/null +++ b/koyeb/api_async/models/remove_organization_member_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_member import OrganizationMember +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RemoveOrganizationMemberReply(BaseModel): + """ + RemoveOrganizationMemberReply + """ # noqa: E501 + member: Optional[OrganizationMember] = None + __properties: ClassVar[List[str]] = ["member"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RemoveOrganizationMemberReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of member + if self.member: + _dict['member'] = self.member.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RemoveOrganizationMemberReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "member": OrganizationMember.from_dict(obj["member"]) if obj.get("member") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/resend_organization_invitation_reply.py b/koyeb/api_async/models/resend_organization_invitation_reply.py new file mode 100644 index 00000000..b799e09d --- /dev/null +++ b/koyeb/api_async/models/resend_organization_invitation_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization_invitation import OrganizationInvitation +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ResendOrganizationInvitationReply(BaseModel): + """ + ResendOrganizationInvitationReply + """ # noqa: E501 + invitation: Optional[OrganizationInvitation] = None + __properties: ClassVar[List[str]] = ["invitation"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ResendOrganizationInvitationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of invitation + if self.invitation: + _dict['invitation'] = self.invitation.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ResendOrganizationInvitationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "invitation": OrganizationInvitation.from_dict(obj["invitation"]) if obj.get("invitation") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/reset_password_request.py b/koyeb/api_async/models/reset_password_request.py new file mode 100644 index 00000000..f2016ae1 --- /dev/null +++ b/koyeb/api_async/models/reset_password_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ResetPasswordRequest(BaseModel): + """ + ResetPasswordRequest + """ # noqa: E501 + email: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["email"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ResetPasswordRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ResetPasswordRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "email": obj.get("email") + }) + return _obj + + diff --git a/koyeb/api_async/models/reveal_secret_reply.py b/koyeb/api_async/models/reveal_secret_reply.py new file mode 100644 index 00000000..ccb8be1c --- /dev/null +++ b/koyeb/api_async/models/reveal_secret_reply.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class RevealSecretReply(BaseModel): + """ + RevealSecretReply + """ # noqa: E501 + value: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["value"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of RevealSecretReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RevealSecretReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "value": obj.get("value") + }) + return _obj + + diff --git a/koyeb/api_async/models/review_organization_capacity_reply.py b/koyeb/api_async/models/review_organization_capacity_reply.py new file mode 100644 index 00000000..4d053dac --- /dev/null +++ b/koyeb/api_async/models/review_organization_capacity_reply.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ReviewOrganizationCapacityReply(BaseModel): + """ + ReviewOrganizationCapacityReply + """ # noqa: E501 + has_capacity: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["has_capacity"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ReviewOrganizationCapacityReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ReviewOrganizationCapacityReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "has_capacity": obj.get("has_capacity") + }) + return _obj + + diff --git a/koyeb/api_async/models/review_organization_capacity_request.py b/koyeb/api_async/models/review_organization_capacity_request.py new file mode 100644 index 00000000..e945f69a --- /dev/null +++ b/koyeb/api_async/models/review_organization_capacity_request.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ReviewOrganizationCapacityRequest(BaseModel): + """ + ReviewOrganizationCapacityRequest + """ # noqa: E501 + plan: Optional[StrictStr] = None + trialing: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["plan", "trialing"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ReviewOrganizationCapacityRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ReviewOrganizationCapacityRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "plan": obj.get("plan"), + "trialing": obj.get("trialing") + }) + return _obj + + diff --git a/koyeb/api_async/models/route.py b/koyeb/api_async/models/route.py new file mode 100644 index 00000000..da23b40b --- /dev/null +++ b/koyeb/api_async/models/route.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.security_policies import SecurityPolicies +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Route(BaseModel): + """ + Route + """ # noqa: E501 + port: Optional[StrictInt] = None + path: Optional[StrictStr] = None + security_policies: Optional[SecurityPolicies] = None + __properties: ClassVar[List[str]] = ["port", "path", "security_policies"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Route from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of security_policies + if self.security_policies: + _dict['security_policies'] = self.security_policies.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Route from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "port": obj.get("port"), + "path": obj.get("path"), + "security_policies": SecurityPolicies.from_dict(obj["security_policies"]) if obj.get("security_policies") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/sample.py b/koyeb/api_async/models/sample.py new file mode 100644 index 00000000..a21ef90f --- /dev/null +++ b/koyeb/api_async/models/sample.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Sample(BaseModel): + """ + Sample + """ # noqa: E501 + timestamp: Optional[StrictStr] = None + value: Optional[Union[StrictFloat, StrictInt]] = None + __properties: ClassVar[List[str]] = ["timestamp", "value"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Sample from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Sample from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "timestamp": obj.get("timestamp"), + "value": obj.get("value") + }) + return _obj + + diff --git a/koyeb/api_async/models/sandbox_metadata.py b/koyeb/api_async/models/sandbox_metadata.py new file mode 100644 index 00000000..9233fbc2 --- /dev/null +++ b/koyeb/api_async/models/sandbox_metadata.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class SandboxMetadata(BaseModel): + """ + SandboxMetadata + """ # noqa: E501 + public_url: Optional[StrictStr] = None + routing_key: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["public_url", "routing_key"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SandboxMetadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SandboxMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "public_url": obj.get("public_url"), + "routing_key": obj.get("routing_key") + }) + return _obj + + diff --git a/koyeb/api_async/models/scale_to_zero_quotas.py b/koyeb/api_async/models/scale_to_zero_quotas.py new file mode 100644 index 00000000..9f6ce06d --- /dev/null +++ b/koyeb/api_async/models/scale_to_zero_quotas.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ScaleToZeroQuotas(BaseModel): + """ + ScaleToZeroQuotas + """ # noqa: E501 + is_deep_sleep_enabled: Optional[StrictBool] = None + deep_sleep_idle_delay_min: Optional[StrictInt] = None + deep_sleep_idle_delay_max: Optional[StrictInt] = None + is_light_sleep_enabled: Optional[StrictBool] = None + light_sleep_idle_delay_min: Optional[StrictInt] = None + light_sleep_idle_delay_max: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["is_deep_sleep_enabled", "deep_sleep_idle_delay_min", "deep_sleep_idle_delay_max", "is_light_sleep_enabled", "light_sleep_idle_delay_min", "light_sleep_idle_delay_max"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ScaleToZeroQuotas from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ScaleToZeroQuotas from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "is_deep_sleep_enabled": obj.get("is_deep_sleep_enabled"), + "deep_sleep_idle_delay_min": obj.get("deep_sleep_idle_delay_min"), + "deep_sleep_idle_delay_max": obj.get("deep_sleep_idle_delay_max"), + "is_light_sleep_enabled": obj.get("is_light_sleep_enabled"), + "light_sleep_idle_delay_min": obj.get("light_sleep_idle_delay_min"), + "light_sleep_idle_delay_max": obj.get("light_sleep_idle_delay_max") + }) + return _obj + + diff --git a/koyeb/api_async/models/scaling.py b/koyeb/api_async/models/scaling.py new file mode 100644 index 00000000..d4873533 --- /dev/null +++ b/koyeb/api_async/models/scaling.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_scaling_target import DeploymentScalingTarget +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Scaling(BaseModel): + """ + Scaling + """ # noqa: E501 + min: Optional[StrictInt] = None + max: Optional[StrictInt] = None + targets: Optional[List[DeploymentScalingTarget]] = None + __properties: ClassVar[List[str]] = ["min", "max", "targets"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Scaling from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in targets (list) + _items = [] + if self.targets: + for _item_targets in self.targets: + if _item_targets: + _items.append(_item_targets.to_dict()) + _dict['targets'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Scaling from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "min": obj.get("min"), + "max": obj.get("max"), + "targets": [DeploymentScalingTarget.from_dict(_item) for _item in obj["targets"]] if obj.get("targets") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/secret.py b/koyeb/api_async/models/secret.py new file mode 100644 index 00000000..3dc3cedb --- /dev/null +++ b/koyeb/api_async/models/secret.py @@ -0,0 +1,152 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.azure_container_registry_configuration import AzureContainerRegistryConfiguration +from koyeb.api_async.models.database_role_password import DatabaseRolePassword +from koyeb.api_async.models.digital_ocean_registry_configuration import DigitalOceanRegistryConfiguration +from koyeb.api_async.models.docker_hub_registry_configuration import DockerHubRegistryConfiguration +from koyeb.api_async.models.gcp_container_registry_configuration import GCPContainerRegistryConfiguration +from koyeb.api_async.models.git_hub_registry_configuration import GitHubRegistryConfiguration +from koyeb.api_async.models.git_lab_registry_configuration import GitLabRegistryConfiguration +from koyeb.api_async.models.private_registry_configuration import PrivateRegistryConfiguration +from koyeb.api_async.models.secret_type import SecretType +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Secret(BaseModel): + """ + Secret + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + type: Optional[SecretType] = SecretType.SIMPLE + updated_at: Optional[datetime] = None + created_at: Optional[datetime] = None + project_id: Optional[StrictStr] = Field(default=None, description="The project ID this secret belongs to. Empty if the secret is organization-level.") + value: Optional[StrictStr] = None + docker_hub_registry: Optional[DockerHubRegistryConfiguration] = None + private_registry: Optional[PrivateRegistryConfiguration] = None + digital_ocean_registry: Optional[DigitalOceanRegistryConfiguration] = None + github_registry: Optional[GitHubRegistryConfiguration] = None + gitlab_registry: Optional[GitLabRegistryConfiguration] = None + gcp_container_registry: Optional[GCPContainerRegistryConfiguration] = None + azure_container_registry: Optional[AzureContainerRegistryConfiguration] = None + database_role_password: Optional[DatabaseRolePassword] = None + __properties: ClassVar[List[str]] = ["id", "name", "organization_id", "type", "updated_at", "created_at", "project_id", "value", "docker_hub_registry", "private_registry", "digital_ocean_registry", "github_registry", "gitlab_registry", "gcp_container_registry", "azure_container_registry", "database_role_password"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Secret from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of docker_hub_registry + if self.docker_hub_registry: + _dict['docker_hub_registry'] = self.docker_hub_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of private_registry + if self.private_registry: + _dict['private_registry'] = self.private_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of digital_ocean_registry + if self.digital_ocean_registry: + _dict['digital_ocean_registry'] = self.digital_ocean_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of github_registry + if self.github_registry: + _dict['github_registry'] = self.github_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of gitlab_registry + if self.gitlab_registry: + _dict['gitlab_registry'] = self.gitlab_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of gcp_container_registry + if self.gcp_container_registry: + _dict['gcp_container_registry'] = self.gcp_container_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of azure_container_registry + if self.azure_container_registry: + _dict['azure_container_registry'] = self.azure_container_registry.to_dict() + # override the default output from pydantic by calling `to_dict()` of database_role_password + if self.database_role_password: + _dict['database_role_password'] = self.database_role_password.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Secret from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "organization_id": obj.get("organization_id"), + "type": obj.get("type") if obj.get("type") is not None else SecretType.SIMPLE, + "updated_at": obj.get("updated_at"), + "created_at": obj.get("created_at"), + "project_id": obj.get("project_id"), + "value": obj.get("value"), + "docker_hub_registry": DockerHubRegistryConfiguration.from_dict(obj["docker_hub_registry"]) if obj.get("docker_hub_registry") is not None else None, + "private_registry": PrivateRegistryConfiguration.from_dict(obj["private_registry"]) if obj.get("private_registry") is not None else None, + "digital_ocean_registry": DigitalOceanRegistryConfiguration.from_dict(obj["digital_ocean_registry"]) if obj.get("digital_ocean_registry") is not None else None, + "github_registry": GitHubRegistryConfiguration.from_dict(obj["github_registry"]) if obj.get("github_registry") is not None else None, + "gitlab_registry": GitLabRegistryConfiguration.from_dict(obj["gitlab_registry"]) if obj.get("gitlab_registry") is not None else None, + "gcp_container_registry": GCPContainerRegistryConfiguration.from_dict(obj["gcp_container_registry"]) if obj.get("gcp_container_registry") is not None else None, + "azure_container_registry": AzureContainerRegistryConfiguration.from_dict(obj["azure_container_registry"]) if obj.get("azure_container_registry") is not None else None, + "database_role_password": DatabaseRolePassword.from_dict(obj["database_role_password"]) if obj.get("database_role_password") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/secret_type.py b/koyeb/api_async/models/secret_type.py new file mode 100644 index 00000000..241aca98 --- /dev/null +++ b/koyeb/api_async/models/secret_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class SecretType(str, Enum): + """ + SecretType + """ + + """ + allowed enum values + """ + SIMPLE = 'SIMPLE' + REGISTRY = 'REGISTRY' + MANAGED = 'MANAGED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SecretType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/secrets_summary.py b/koyeb/api_async/models/secrets_summary.py new file mode 100644 index 00000000..83f0d8a9 --- /dev/null +++ b/koyeb/api_async/models/secrets_summary.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class SecretsSummary(BaseModel): + """ + SecretsSummary + """ # noqa: E501 + total: Optional[StrictStr] = None + by_type: Optional[Dict[str, StrictStr]] = None + __properties: ClassVar[List[str]] = ["total", "by_type"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SecretsSummary from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SecretsSummary from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "total": obj.get("total"), + "by_type": obj.get("by_type") + }) + return _obj + + diff --git a/koyeb/api_async/models/security_policies.py b/koyeb/api_async/models/security_policies.py new file mode 100644 index 00000000..11a060c2 --- /dev/null +++ b/koyeb/api_async/models/security_policies.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.basic_auth_policy import BasicAuthPolicy +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class SecurityPolicies(BaseModel): + """ + SecurityPolicies + """ # noqa: E501 + basic_auths: Optional[List[BasicAuthPolicy]] = None + api_keys: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["basic_auths", "api_keys"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SecurityPolicies from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in basic_auths (list) + _items = [] + if self.basic_auths: + for _item_basic_auths in self.basic_auths: + if _item_basic_auths: + _items.append(_item_basic_auths.to_dict()) + _dict['basic_auths'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SecurityPolicies from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "basic_auths": [BasicAuthPolicy.from_dict(_item) for _item in obj["basic_auths"]] if obj.get("basic_auths") is not None else None, + "api_keys": obj.get("api_keys") + }) + return _obj + + diff --git a/koyeb/api_async/models/service.py b/koyeb/api_async/models/service.py new file mode 100644 index 00000000..e16c66be --- /dev/null +++ b/koyeb/api_async/models/service.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.service_life_cycle import ServiceLifeCycle +from koyeb.api_async.models.service_state import ServiceState +from koyeb.api_async.models.service_status import ServiceStatus +from koyeb.api_async.models.service_type import ServiceType +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Service(BaseModel): + """ + Service + """ # noqa: E501 + id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + started_at: Optional[datetime] = None + succeeded_at: Optional[datetime] = None + paused_at: Optional[datetime] = None + resumed_at: Optional[datetime] = None + terminated_at: Optional[datetime] = None + name: Optional[StrictStr] = None + type: Optional[ServiceType] = ServiceType.INVALID_TYPE + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + status: Optional[ServiceStatus] = ServiceStatus.STARTING + messages: Optional[List[StrictStr]] = None + version: Optional[StrictStr] = None + active_deployment_id: Optional[StrictStr] = None + latest_deployment_id: Optional[StrictStr] = None + last_provisioned_deployment_id: Optional[StrictStr] = None + state: Optional[ServiceState] = None + life_cycle: Optional[ServiceLifeCycle] = None + __properties: ClassVar[List[str]] = ["id", "created_at", "updated_at", "started_at", "succeeded_at", "paused_at", "resumed_at", "terminated_at", "name", "type", "organization_id", "app_id", "status", "messages", "version", "active_deployment_id", "latest_deployment_id", "last_provisioned_deployment_id", "state", "life_cycle"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Service from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of state + if self.state: + _dict['state'] = self.state.to_dict() + # override the default output from pydantic by calling `to_dict()` of life_cycle + if self.life_cycle: + _dict['life_cycle'] = self.life_cycle.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Service from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "started_at": obj.get("started_at"), + "succeeded_at": obj.get("succeeded_at"), + "paused_at": obj.get("paused_at"), + "resumed_at": obj.get("resumed_at"), + "terminated_at": obj.get("terminated_at"), + "name": obj.get("name"), + "type": obj.get("type") if obj.get("type") is not None else ServiceType.INVALID_TYPE, + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "status": obj.get("status") if obj.get("status") is not None else ServiceStatus.STARTING, + "messages": obj.get("messages"), + "version": obj.get("version"), + "active_deployment_id": obj.get("active_deployment_id"), + "latest_deployment_id": obj.get("latest_deployment_id"), + "last_provisioned_deployment_id": obj.get("last_provisioned_deployment_id"), + "state": ServiceState.from_dict(obj["state"]) if obj.get("state") is not None else None, + "life_cycle": ServiceLifeCycle.from_dict(obj["life_cycle"]) if obj.get("life_cycle") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/service_event.py b/koyeb/api_async/models/service_event.py new file mode 100644 index 00000000..381f2b0e --- /dev/null +++ b/koyeb/api_async/models/service_event.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ServiceEvent(BaseModel): + """ + ServiceEvent + """ # noqa: E501 + id: Optional[StrictStr] = None + when: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + type: Optional[StrictStr] = None + message: Optional[StrictStr] = None + metadata: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["id", "when", "organization_id", "service_id", "type", "message", "metadata"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ServiceEvent from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceEvent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "when": obj.get("when"), + "organization_id": obj.get("organization_id"), + "service_id": obj.get("service_id"), + "type": obj.get("type"), + "message": obj.get("message"), + "metadata": obj.get("metadata") + }) + return _obj + + diff --git a/koyeb/api_async/models/service_life_cycle.py b/koyeb/api_async/models/service_life_cycle.py new file mode 100644 index 00000000..f0ee3a76 --- /dev/null +++ b/koyeb/api_async/models/service_life_cycle.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ServiceLifeCycle(BaseModel): + """ + ServiceLifeCycle + """ # noqa: E501 + delete_after_sleep: Optional[StrictInt] = None + delete_after_create: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["delete_after_sleep", "delete_after_create"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ServiceLifeCycle from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceLifeCycle from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "delete_after_sleep": obj.get("delete_after_sleep"), + "delete_after_create": obj.get("delete_after_create") + }) + return _obj + + diff --git a/koyeb/api_async/models/service_list_item.py b/koyeb/api_async/models/service_list_item.py new file mode 100644 index 00000000..31d4fa84 --- /dev/null +++ b/koyeb/api_async/models/service_list_item.py @@ -0,0 +1,125 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.service_life_cycle import ServiceLifeCycle +from koyeb.api_async.models.service_state import ServiceState +from koyeb.api_async.models.service_status import ServiceStatus +from koyeb.api_async.models.service_type import ServiceType +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ServiceListItem(BaseModel): + """ + ServiceListItem + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + type: Optional[ServiceType] = ServiceType.INVALID_TYPE + organization_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + updated_at: Optional[datetime] = None + created_at: Optional[datetime] = None + status: Optional[ServiceStatus] = ServiceStatus.STARTING + messages: Optional[List[StrictStr]] = None + version: Optional[StrictStr] = None + state: Optional[ServiceState] = None + active_deployment_id: Optional[StrictStr] = None + latest_deployment_id: Optional[StrictStr] = None + life_cycle: Optional[ServiceLifeCycle] = None + __properties: ClassVar[List[str]] = ["id", "name", "type", "organization_id", "app_id", "updated_at", "created_at", "status", "messages", "version", "state", "active_deployment_id", "latest_deployment_id", "life_cycle"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ServiceListItem from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of state + if self.state: + _dict['state'] = self.state.to_dict() + # override the default output from pydantic by calling `to_dict()` of life_cycle + if self.life_cycle: + _dict['life_cycle'] = self.life_cycle.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceListItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "type": obj.get("type") if obj.get("type") is not None else ServiceType.INVALID_TYPE, + "organization_id": obj.get("organization_id"), + "app_id": obj.get("app_id"), + "updated_at": obj.get("updated_at"), + "created_at": obj.get("created_at"), + "status": obj.get("status") if obj.get("status") is not None else ServiceStatus.STARTING, + "messages": obj.get("messages"), + "version": obj.get("version"), + "state": ServiceState.from_dict(obj["state"]) if obj.get("state") is not None else None, + "active_deployment_id": obj.get("active_deployment_id"), + "latest_deployment_id": obj.get("latest_deployment_id"), + "life_cycle": ServiceLifeCycle.from_dict(obj["life_cycle"]) if obj.get("life_cycle") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/service_state.py b/koyeb/api_async/models/service_state.py new file mode 100644 index 00000000..4f8522db --- /dev/null +++ b/koyeb/api_async/models/service_state.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.auto_release import AutoRelease +from koyeb.api_async.models.desired_deployment import DesiredDeployment +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ServiceState(BaseModel): + """ + ServiceState + """ # noqa: E501 + desired_deployment: Optional[DesiredDeployment] = None + auto_release: Optional[AutoRelease] = None + __properties: ClassVar[List[str]] = ["desired_deployment", "auto_release"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ServiceState from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of desired_deployment + if self.desired_deployment: + _dict['desired_deployment'] = self.desired_deployment.to_dict() + # override the default output from pydantic by calling `to_dict()` of auto_release + if self.auto_release: + _dict['auto_release'] = self.auto_release.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceState from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "desired_deployment": DesiredDeployment.from_dict(obj["desired_deployment"]) if obj.get("desired_deployment") is not None else None, + "auto_release": AutoRelease.from_dict(obj["auto_release"]) if obj.get("auto_release") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/service_status.py b/koyeb/api_async/models/service_status.py new file mode 100644 index 00000000..f0f5bfb1 --- /dev/null +++ b/koyeb/api_async/models/service_status.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class ServiceStatus(str, Enum): + """ + ServiceStatus + """ + + """ + allowed enum values + """ + STARTING = 'STARTING' + HEALTHY = 'HEALTHY' + DEGRADED = 'DEGRADED' + UNHEALTHY = 'UNHEALTHY' + DELETING = 'DELETING' + DELETED = 'DELETED' + PAUSING = 'PAUSING' + PAUSED = 'PAUSED' + RESUMING = 'RESUMING' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/service_summary.py b/koyeb/api_async/models/service_summary.py new file mode 100644 index 00000000..5f36d154 --- /dev/null +++ b/koyeb/api_async/models/service_summary.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ServiceSummary(BaseModel): + """ + ServiceSummary + """ # noqa: E501 + total: Optional[StrictStr] = None + by_status: Optional[Dict[str, StrictStr]] = None + __properties: ClassVar[List[str]] = ["total", "by_status"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ServiceSummary from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceSummary from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "total": obj.get("total"), + "by_status": obj.get("by_status") + }) + return _obj + + diff --git a/koyeb/api_async/models/service_type.py b/koyeb/api_async/models/service_type.py new file mode 100644 index 00000000..684e867e --- /dev/null +++ b/koyeb/api_async/models/service_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class ServiceType(str, Enum): + """ + ServiceType + """ + + """ + allowed enum values + """ + INVALID_TYPE = 'INVALID_TYPE' + WEB = 'WEB' + WORKER = 'WORKER' + DATABASE = 'DATABASE' + SANDBOX = 'SANDBOX' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/service_usage.py b/koyeb/api_async/models/service_usage.py new file mode 100644 index 00000000..7bab570e --- /dev/null +++ b/koyeb/api_async/models/service_usage.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.region_usage import RegionUsage +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class ServiceUsage(BaseModel): + """ + ServiceUsage + """ # noqa: E501 + service_id: Optional[StrictStr] = None + service_name: Optional[StrictStr] = None + regions: Optional[Dict[str, RegionUsage]] = None + __properties: ClassVar[List[str]] = ["service_id", "service_name", "regions"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ServiceUsage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each value in regions (dict) + _field_dict = {} + if self.regions: + for _key_regions in self.regions: + if self.regions[_key_regions]: + _field_dict[_key_regions] = self.regions[_key_regions].to_dict() + _dict['regions'] = _field_dict + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceUsage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "service_id": obj.get("service_id"), + "service_name": obj.get("service_name"), + "regions": dict( + (_k, RegionUsage.from_dict(_v)) + for _k, _v in obj["regions"].items() + ) + if obj.get("regions") is not None + else None + }) + return _obj + + diff --git a/koyeb/api_async/models/snapshot.py b/koyeb/api_async/models/snapshot.py new file mode 100644 index 00000000..81abf422 --- /dev/null +++ b/koyeb/api_async/models/snapshot.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.snapshot_status import SnapshotStatus +from koyeb.api_async.models.snapshot_type import SnapshotType +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Snapshot(BaseModel): + """ + The object that represents a snapshot. It can either be local, on a node, or remote, in a cold storage. + """ # noqa: E501 + id: Optional[StrictStr] = None + name: Optional[StrictStr] = None + size: Optional[StrictInt] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + deleted_at: Optional[datetime] = None + organization_id: Optional[StrictStr] = None + parent_volume_id: Optional[StrictStr] = None + region: Optional[StrictStr] = None + status: Optional[SnapshotStatus] = SnapshotStatus.SNAPSHOT_STATUS_INVALID + type: Optional[SnapshotType] = SnapshotType.SNAPSHOT_TYPE_INVALID + __properties: ClassVar[List[str]] = ["id", "name", "size", "created_at", "updated_at", "deleted_at", "organization_id", "parent_volume_id", "region", "status", "type"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Snapshot from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Snapshot from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "size": obj.get("size"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "deleted_at": obj.get("deleted_at"), + "organization_id": obj.get("organization_id"), + "parent_volume_id": obj.get("parent_volume_id"), + "region": obj.get("region"), + "status": obj.get("status") if obj.get("status") is not None else SnapshotStatus.SNAPSHOT_STATUS_INVALID, + "type": obj.get("type") if obj.get("type") is not None else SnapshotType.SNAPSHOT_TYPE_INVALID + }) + return _obj + + diff --git a/koyeb/api_async/models/snapshot_status.py b/koyeb/api_async/models/snapshot_status.py new file mode 100644 index 00000000..ec7f810c --- /dev/null +++ b/koyeb/api_async/models/snapshot_status.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class SnapshotStatus(str, Enum): + """ + SnapshotStatus + """ + + """ + allowed enum values + """ + SNAPSHOT_STATUS_INVALID = 'SNAPSHOT_STATUS_INVALID' + SNAPSHOT_STATUS_CREATING = 'SNAPSHOT_STATUS_CREATING' + SNAPSHOT_STATUS_AVAILABLE = 'SNAPSHOT_STATUS_AVAILABLE' + SNAPSHOT_STATUS_MIGRATING = 'SNAPSHOT_STATUS_MIGRATING' + SNAPSHOT_STATUS_DELETING = 'SNAPSHOT_STATUS_DELETING' + SNAPSHOT_STATUS_DELETED = 'SNAPSHOT_STATUS_DELETED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SnapshotStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/snapshot_type.py b/koyeb/api_async/models/snapshot_type.py new file mode 100644 index 00000000..bbe3f47a --- /dev/null +++ b/koyeb/api_async/models/snapshot_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class SnapshotType(str, Enum): + """ + SnapshotType + """ + + """ + allowed enum values + """ + SNAPSHOT_TYPE_INVALID = 'SNAPSHOT_TYPE_INVALID' + SNAPSHOT_TYPE_LOCAL = 'SNAPSHOT_TYPE_LOCAL' + SNAPSHOT_TYPE_REMOTE = 'SNAPSHOT_TYPE_REMOTE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SnapshotType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/stream_result_of_exec_command_reply.py b/koyeb/api_async/models/stream_result_of_exec_command_reply.py new file mode 100644 index 00000000..4233ea21 --- /dev/null +++ b/koyeb/api_async/models/stream_result_of_exec_command_reply.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.exec_command_reply import ExecCommandReply +from koyeb.api_async.models.google_rpc_status import GoogleRpcStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class StreamResultOfExecCommandReply(BaseModel): + """ + StreamResultOfExecCommandReply + """ # noqa: E501 + result: Optional[ExecCommandReply] = None + error: Optional[GoogleRpcStatus] = None + __properties: ClassVar[List[str]] = ["result", "error"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of StreamResultOfExecCommandReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of result + if self.result: + _dict['result'] = self.result.to_dict() + # override the default output from pydantic by calling `to_dict()` of error + if self.error: + _dict['error'] = self.error.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of StreamResultOfExecCommandReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "result": ExecCommandReply.from_dict(obj["result"]) if obj.get("result") is not None else None, + "error": GoogleRpcStatus.from_dict(obj["error"]) if obj.get("error") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/stream_result_of_log_entry.py b/koyeb/api_async/models/stream_result_of_log_entry.py new file mode 100644 index 00000000..c65d364e --- /dev/null +++ b/koyeb/api_async/models/stream_result_of_log_entry.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.google_rpc_status import GoogleRpcStatus +from koyeb.api_async.models.log_entry import LogEntry +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class StreamResultOfLogEntry(BaseModel): + """ + StreamResultOfLogEntry + """ # noqa: E501 + result: Optional[LogEntry] = None + error: Optional[GoogleRpcStatus] = None + __properties: ClassVar[List[str]] = ["result", "error"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of StreamResultOfLogEntry from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of result + if self.result: + _dict['result'] = self.result.to_dict() + # override the default output from pydantic by calling `to_dict()` of error + if self.error: + _dict['error'] = self.error.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of StreamResultOfLogEntry from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "result": LogEntry.from_dict(obj["result"]) if obj.get("result") is not None else None, + "error": GoogleRpcStatus.from_dict(obj["error"]) if obj.get("error") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/subscription.py b/koyeb/api_async/models/subscription.py new file mode 100644 index 00000000..99af857c --- /dev/null +++ b/koyeb/api_async/models/subscription.py @@ -0,0 +1,140 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.subscription_payment_failure import SubscriptionPaymentFailure +from koyeb.api_async.models.subscription_status import SubscriptionStatus +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Subscription(BaseModel): + """ + Subscription + """ # noqa: E501 + id: Optional[StrictStr] = None + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + version: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + stripe_subscription_id: Optional[StrictStr] = None + status: Optional[SubscriptionStatus] = SubscriptionStatus.INVALID + messages: Optional[List[StrictStr]] = None + has_pending_update: Optional[StrictBool] = None + stripe_pending_invoice_id: Optional[StrictStr] = None + terminate_at: Optional[datetime] = None + canceled_at: Optional[datetime] = None + terminated_at: Optional[datetime] = None + current_period_start: Optional[datetime] = None + current_period_end: Optional[datetime] = None + currency: Optional[StrictStr] = None + amount_payable: Optional[StrictStr] = None + amount_paid: Optional[StrictStr] = None + amount_remaining: Optional[StrictStr] = None + payment_failure: Optional[SubscriptionPaymentFailure] = None + trialing: Optional[StrictBool] = None + trial_ends_at: Optional[datetime] = None + trial_max_spend: Optional[StrictStr] = None + current_spend: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "created_at", "updated_at", "version", "organization_id", "stripe_subscription_id", "status", "messages", "has_pending_update", "stripe_pending_invoice_id", "terminate_at", "canceled_at", "terminated_at", "current_period_start", "current_period_end", "currency", "amount_payable", "amount_paid", "amount_remaining", "payment_failure", "trialing", "trial_ends_at", "trial_max_spend", "current_spend"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Subscription from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of payment_failure + if self.payment_failure: + _dict['payment_failure'] = self.payment_failure.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Subscription from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "created_at": obj.get("created_at"), + "updated_at": obj.get("updated_at"), + "version": obj.get("version"), + "organization_id": obj.get("organization_id"), + "stripe_subscription_id": obj.get("stripe_subscription_id"), + "status": obj.get("status") if obj.get("status") is not None else SubscriptionStatus.INVALID, + "messages": obj.get("messages"), + "has_pending_update": obj.get("has_pending_update"), + "stripe_pending_invoice_id": obj.get("stripe_pending_invoice_id"), + "terminate_at": obj.get("terminate_at"), + "canceled_at": obj.get("canceled_at"), + "terminated_at": obj.get("terminated_at"), + "current_period_start": obj.get("current_period_start"), + "current_period_end": obj.get("current_period_end"), + "currency": obj.get("currency"), + "amount_payable": obj.get("amount_payable"), + "amount_paid": obj.get("amount_paid"), + "amount_remaining": obj.get("amount_remaining"), + "payment_failure": SubscriptionPaymentFailure.from_dict(obj["payment_failure"]) if obj.get("payment_failure") is not None else None, + "trialing": obj.get("trialing"), + "trial_ends_at": obj.get("trial_ends_at"), + "trial_max_spend": obj.get("trial_max_spend"), + "current_spend": obj.get("current_spend") + }) + return _obj + + diff --git a/koyeb/api_async/models/subscription_payment_failure.py b/koyeb/api_async/models/subscription_payment_failure.py new file mode 100644 index 00000000..00b4ff9e --- /dev/null +++ b/koyeb/api_async/models/subscription_payment_failure.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.subscription_payment_failure_stripe_sdk import SubscriptionPaymentFailureStripeSDK +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class SubscriptionPaymentFailure(BaseModel): + """ + SubscriptionPaymentFailure + """ # noqa: E501 + failed_at: Optional[datetime] = None + next_attempt: Optional[datetime] = None + attempt_count: Optional[StrictStr] = None + error_code: Optional[StrictStr] = None + error_reason: Optional[StrictStr] = None + error_type: Optional[StrictStr] = None + error_message: Optional[StrictStr] = None + payment_method_required: Optional[StrictBool] = None + redirect_url: Optional[StrictStr] = None + stripe_sdk: Optional[SubscriptionPaymentFailureStripeSDK] = None + __properties: ClassVar[List[str]] = ["failed_at", "next_attempt", "attempt_count", "error_code", "error_reason", "error_type", "error_message", "payment_method_required", "redirect_url", "stripe_sdk"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubscriptionPaymentFailure from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of stripe_sdk + if self.stripe_sdk: + _dict['stripe_sdk'] = self.stripe_sdk.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubscriptionPaymentFailure from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "failed_at": obj.get("failed_at"), + "next_attempt": obj.get("next_attempt"), + "attempt_count": obj.get("attempt_count"), + "error_code": obj.get("error_code"), + "error_reason": obj.get("error_reason"), + "error_type": obj.get("error_type"), + "error_message": obj.get("error_message"), + "payment_method_required": obj.get("payment_method_required"), + "redirect_url": obj.get("redirect_url"), + "stripe_sdk": SubscriptionPaymentFailureStripeSDK.from_dict(obj["stripe_sdk"]) if obj.get("stripe_sdk") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/subscription_payment_failure_stripe_sdk.py b/koyeb/api_async/models/subscription_payment_failure_stripe_sdk.py new file mode 100644 index 00000000..7af992ae --- /dev/null +++ b/koyeb/api_async/models/subscription_payment_failure_stripe_sdk.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class SubscriptionPaymentFailureStripeSDK(BaseModel): + """ + SubscriptionPaymentFailureStripeSDK + """ # noqa: E501 + client_secret_key: Optional[StrictStr] = None + raw_json: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["client_secret_key", "raw_json"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SubscriptionPaymentFailureStripeSDK from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SubscriptionPaymentFailureStripeSDK from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "client_secret_key": obj.get("client_secret_key"), + "raw_json": obj.get("raw_json") + }) + return _obj + + diff --git a/koyeb/api_async/models/subscription_status.py b/koyeb/api_async/models/subscription_status.py new file mode 100644 index 00000000..486f6efa --- /dev/null +++ b/koyeb/api_async/models/subscription_status.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class SubscriptionStatus(str, Enum): + """ + SubscriptionStatus + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + CREATED = 'CREATED' + ACTIVE = 'ACTIVE' + WARNING = 'WARNING' + URGENT = 'URGENT' + CANCELING = 'CANCELING' + CANCELED = 'CANCELED' + TERMINATING = 'TERMINATING' + TERMINATED = 'TERMINATED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SubscriptionStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/tcp_health_check.py b/koyeb/api_async/models/tcp_health_check.py new file mode 100644 index 00000000..dc9ba685 --- /dev/null +++ b/koyeb/api_async/models/tcp_health_check.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class TCPHealthCheck(BaseModel): + """ + TCPHealthCheck + """ # noqa: E501 + port: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["port"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TCPHealthCheck from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TCPHealthCheck from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "port": obj.get("port") + }) + return _obj + + diff --git a/koyeb/api_async/models/token.py b/koyeb/api_async/models/token.py new file mode 100644 index 00000000..79f495a6 --- /dev/null +++ b/koyeb/api_async/models/token.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Token(BaseModel): + """ + Token + """ # noqa: E501 + id: Optional[StrictStr] = None + user_id: Optional[StrictStr] = None + organization_id: Optional[StrictStr] = None + expires_at: Optional[datetime] = None + __properties: ClassVar[List[str]] = ["id", "user_id", "organization_id", "expires_at"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Token from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Token from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "user_id": obj.get("user_id"), + "organization_id": obj.get("organization_id"), + "expires_at": obj.get("expires_at") + }) + return _obj + + diff --git a/koyeb/api_async/models/trigger_deployment_metadata.py b/koyeb/api_async/models/trigger_deployment_metadata.py new file mode 100644 index 00000000..e2454f39 --- /dev/null +++ b/koyeb/api_async/models/trigger_deployment_metadata.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.trigger_deployment_metadata_actor_type import TriggerDeploymentMetadataActorType +from koyeb.api_async.models.trigger_deployment_metadata_trigger_type import TriggerDeploymentMetadataTriggerType +from koyeb.api_async.models.trigger_git_deployment_metadata import TriggerGitDeploymentMetadata +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class TriggerDeploymentMetadata(BaseModel): + """ + TriggerDeploymentMetadata + """ # noqa: E501 + type: Optional[TriggerDeploymentMetadataTriggerType] = TriggerDeploymentMetadataTriggerType.UNKNOWN_TYPE + actor: Optional[TriggerDeploymentMetadataActorType] = TriggerDeploymentMetadataActorType.UNKNOWN_ACTOR + git: Optional[TriggerGitDeploymentMetadata] = None + __properties: ClassVar[List[str]] = ["type", "actor", "git"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TriggerDeploymentMetadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of git + if self.git: + _dict['git'] = self.git.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TriggerDeploymentMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type") if obj.get("type") is not None else TriggerDeploymentMetadataTriggerType.UNKNOWN_TYPE, + "actor": obj.get("actor") if obj.get("actor") is not None else TriggerDeploymentMetadataActorType.UNKNOWN_ACTOR, + "git": TriggerGitDeploymentMetadata.from_dict(obj["git"]) if obj.get("git") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/trigger_deployment_metadata_actor_type.py b/koyeb/api_async/models/trigger_deployment_metadata_actor_type.py new file mode 100644 index 00000000..a74aa835 --- /dev/null +++ b/koyeb/api_async/models/trigger_deployment_metadata_actor_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class TriggerDeploymentMetadataActorType(str, Enum): + """ + TriggerDeploymentMetadataActorType + """ + + """ + allowed enum values + """ + UNKNOWN_ACTOR = 'UNKNOWN_ACTOR' + USER = 'USER' + SYSTEM = 'SYSTEM' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of TriggerDeploymentMetadataActorType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/trigger_deployment_metadata_trigger_type.py b/koyeb/api_async/models/trigger_deployment_metadata_trigger_type.py new file mode 100644 index 00000000..3aac8381 --- /dev/null +++ b/koyeb/api_async/models/trigger_deployment_metadata_trigger_type.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class TriggerDeploymentMetadataTriggerType(str, Enum): + """ + TriggerDeploymentMetadataTriggerType + """ + + """ + allowed enum values + """ + UNKNOWN_TYPE = 'UNKNOWN_TYPE' + GIT = 'GIT' + RESUME = 'RESUME' + DATABASE_SYNC = 'DATABASE_SYNC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of TriggerDeploymentMetadataTriggerType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/trigger_git_deployment_metadata.py b/koyeb/api_async/models/trigger_git_deployment_metadata.py new file mode 100644 index 00000000..cd5c99af --- /dev/null +++ b/koyeb/api_async/models/trigger_git_deployment_metadata.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.trigger_git_deployment_metadata_provider import TriggerGitDeploymentMetadataProvider +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class TriggerGitDeploymentMetadata(BaseModel): + """ + TriggerGitDeploymentMetadata + """ # noqa: E501 + provider: Optional[TriggerGitDeploymentMetadataProvider] = TriggerGitDeploymentMetadataProvider.UNKNOWN + repository: Optional[StrictStr] = None + branch: Optional[StrictStr] = None + sha: Optional[StrictStr] = None + message: Optional[StrictStr] = None + sender_username: Optional[StrictStr] = None + sender_avatar_url: Optional[StrictStr] = None + sender_profile_url: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["provider", "repository", "branch", "sha", "message", "sender_username", "sender_avatar_url", "sender_profile_url"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TriggerGitDeploymentMetadata from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TriggerGitDeploymentMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "provider": obj.get("provider") if obj.get("provider") is not None else TriggerGitDeploymentMetadataProvider.UNKNOWN, + "repository": obj.get("repository"), + "branch": obj.get("branch"), + "sha": obj.get("sha"), + "message": obj.get("message"), + "sender_username": obj.get("sender_username"), + "sender_avatar_url": obj.get("sender_avatar_url"), + "sender_profile_url": obj.get("sender_profile_url") + }) + return _obj + + diff --git a/koyeb/api_async/models/trigger_git_deployment_metadata_provider.py b/koyeb/api_async/models/trigger_git_deployment_metadata_provider.py new file mode 100644 index 00000000..c2f10198 --- /dev/null +++ b/koyeb/api_async/models/trigger_git_deployment_metadata_provider.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class TriggerGitDeploymentMetadataProvider(str, Enum): + """ + TriggerGitDeploymentMetadataProvider + """ + + """ + allowed enum values + """ + UNKNOWN = 'UNKNOWN' + GITHUB = 'GITHUB' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of TriggerGitDeploymentMetadataProvider from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/update_app.py b/koyeb/api_async/models/update_app.py new file mode 100644 index 00000000..7259d74d --- /dev/null +++ b/koyeb/api_async/models/update_app.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.app_life_cycle import AppLifeCycle +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateApp(BaseModel): + """ + UpdateApp + """ # noqa: E501 + name: Optional[StrictStr] = None + life_cycle: Optional[AppLifeCycle] = None + __properties: ClassVar[List[str]] = ["name", "life_cycle"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateApp from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of life_cycle + if self.life_cycle: + _dict['life_cycle'] = self.life_cycle.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateApp from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "life_cycle": AppLifeCycle.from_dict(obj["life_cycle"]) if obj.get("life_cycle") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_app_reply.py b/koyeb/api_async/models/update_app_reply.py new file mode 100644 index 00000000..1711dc26 --- /dev/null +++ b/koyeb/api_async/models/update_app_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.app import App +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateAppReply(BaseModel): + """ + UpdateAppReply + """ # noqa: E501 + app: Optional[App] = None + __properties: ClassVar[List[str]] = ["app"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateAppReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of app + if self.app: + _dict['app'] = self.app.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateAppReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "app": App.from_dict(obj["app"]) if obj.get("app") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_budget_reply.py b/koyeb/api_async/models/update_budget_reply.py new file mode 100644 index 00000000..c66c07b6 --- /dev/null +++ b/koyeb/api_async/models/update_budget_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.budget import Budget +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateBudgetReply(BaseModel): + """ + UpdateBudgetReply + """ # noqa: E501 + budget: Optional[Budget] = None + __properties: ClassVar[List[str]] = ["budget"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateBudgetReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of budget + if self.budget: + _dict['budget'] = self.budget.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateBudgetReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "budget": Budget.from_dict(obj["budget"]) if obj.get("budget") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_budget_request.py b/koyeb/api_async/models/update_budget_request.py new file mode 100644 index 00000000..37e6e091 --- /dev/null +++ b/koyeb/api_async/models/update_budget_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateBudgetRequest(BaseModel): + """ + UpdateBudgetRequest + """ # noqa: E501 + amount: Optional[StrictStr] = Field(default=None, description="In cents.") + __properties: ClassVar[List[str]] = ["amount"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateBudgetRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateBudgetRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "amount": obj.get("amount") + }) + return _obj + + diff --git a/koyeb/api_async/models/update_credential_reply.py b/koyeb/api_async/models/update_credential_reply.py new file mode 100644 index 00000000..92f18bcd --- /dev/null +++ b/koyeb/api_async/models/update_credential_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.credential import Credential +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateCredentialReply(BaseModel): + """ + UpdateCredentialReply + """ # noqa: E501 + credential: Optional[Credential] = None + __properties: ClassVar[List[str]] = ["credential"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateCredentialReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of credential + if self.credential: + _dict['credential'] = self.credential.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateCredentialReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "credential": Credential.from_dict(obj["credential"]) if obj.get("credential") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_domain.py b/koyeb/api_async/models/update_domain.py new file mode 100644 index 00000000..603ab46e --- /dev/null +++ b/koyeb/api_async/models/update_domain.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateDomain(BaseModel): + """ + UpdateDomain + """ # noqa: E501 + app_id: Optional[StrictStr] = Field(default=None, description="To attach or detach from an app for custom domain.") + subdomain: Optional[StrictStr] = Field(default=None, description="To change subdomain for auto-assigned domain.") + __properties: ClassVar[List[str]] = ["app_id", "subdomain"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateDomain from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateDomain from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "app_id": obj.get("app_id"), + "subdomain": obj.get("subdomain") + }) + return _obj + + diff --git a/koyeb/api_async/models/update_domain_reply.py b/koyeb/api_async/models/update_domain_reply.py new file mode 100644 index 00000000..4a781750 --- /dev/null +++ b/koyeb/api_async/models/update_domain_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.domain import Domain +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateDomainReply(BaseModel): + """ + UpdateDomainReply + """ # noqa: E501 + domain: Optional[Domain] = None + __properties: ClassVar[List[str]] = ["domain"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateDomainReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of domain + if self.domain: + _dict['domain'] = self.domain.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateDomainReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "domain": Domain.from_dict(obj["domain"]) if obj.get("domain") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_organization_default_project_reply.py b/koyeb/api_async/models/update_organization_default_project_reply.py new file mode 100644 index 00000000..86b4a791 --- /dev/null +++ b/koyeb/api_async/models/update_organization_default_project_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateOrganizationDefaultProjectReply(BaseModel): + """ + UpdateOrganizationDefaultProjectReply + """ # noqa: E501 + organization: Optional[Organization] = None + __properties: ClassVar[List[str]] = ["organization"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateOrganizationDefaultProjectReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateOrganizationDefaultProjectReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization": Organization.from_dict(obj["organization"]) if obj.get("organization") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_organization_default_project_request.py b/koyeb/api_async/models/update_organization_default_project_request.py new file mode 100644 index 00000000..9170f668 --- /dev/null +++ b/koyeb/api_async/models/update_organization_default_project_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateOrganizationDefaultProjectRequest(BaseModel): + """ + UpdateOrganizationDefaultProjectRequest + """ # noqa: E501 + default_project_id: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["default_project_id"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateOrganizationDefaultProjectRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateOrganizationDefaultProjectRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "default_project_id": obj.get("default_project_id") + }) + return _obj + + diff --git a/koyeb/api_async/models/update_organization_name_reply.py b/koyeb/api_async/models/update_organization_name_reply.py new file mode 100644 index 00000000..17aece35 --- /dev/null +++ b/koyeb/api_async/models/update_organization_name_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateOrganizationNameReply(BaseModel): + """ + UpdateOrganizationNameReply + """ # noqa: E501 + organization: Optional[Organization] = None + __properties: ClassVar[List[str]] = ["organization"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateOrganizationNameReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateOrganizationNameReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization": Organization.from_dict(obj["organization"]) if obj.get("organization") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_organization_name_request.py b/koyeb/api_async/models/update_organization_name_request.py new file mode 100644 index 00000000..a2c26fc5 --- /dev/null +++ b/koyeb/api_async/models/update_organization_name_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateOrganizationNameRequest(BaseModel): + """ + UpdateOrganizationNameRequest + """ # noqa: E501 + name: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateOrganizationNameRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateOrganizationNameRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name") + }) + return _obj + + diff --git a/koyeb/api_async/models/update_organization_plan_reply.py b/koyeb/api_async/models/update_organization_plan_reply.py new file mode 100644 index 00000000..854ed2e7 --- /dev/null +++ b/koyeb/api_async/models/update_organization_plan_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateOrganizationPlanReply(BaseModel): + """ + UpdateOrganizationPlanReply + """ # noqa: E501 + organization: Optional[Organization] = None + __properties: ClassVar[List[str]] = ["organization"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateOrganizationPlanReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateOrganizationPlanReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization": Organization.from_dict(obj["organization"]) if obj.get("organization") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_organization_plan_request.py b/koyeb/api_async/models/update_organization_plan_request.py new file mode 100644 index 00000000..37456e26 --- /dev/null +++ b/koyeb/api_async/models/update_organization_plan_request.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.plan import Plan +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateOrganizationPlanRequest(BaseModel): + """ + UpdateOrganizationPlanRequest + """ # noqa: E501 + plan: Optional[Plan] = Plan.HOBBY + coupon_code: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["plan", "coupon_code"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateOrganizationPlanRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateOrganizationPlanRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "plan": obj.get("plan") if obj.get("plan") is not None else Plan.HOBBY, + "coupon_code": obj.get("coupon_code") + }) + return _obj + + diff --git a/koyeb/api_async/models/update_organization_reply.py b/koyeb/api_async/models/update_organization_reply.py new file mode 100644 index 00000000..6c90951d --- /dev/null +++ b/koyeb/api_async/models/update_organization_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateOrganizationReply(BaseModel): + """ + UpdateOrganizationReply + """ # noqa: E501 + organization: Optional[Organization] = None + __properties: ClassVar[List[str]] = ["organization"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateOrganizationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateOrganizationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization": Organization.from_dict(obj["organization"]) if obj.get("organization") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_password_request.py b/koyeb/api_async/models/update_password_request.py new file mode 100644 index 00000000..f87f352c --- /dev/null +++ b/koyeb/api_async/models/update_password_request.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdatePasswordRequest(BaseModel): + """ + UpdatePasswordRequest + """ # noqa: E501 + id: Optional[StrictStr] = None + password: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "password"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdatePasswordRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdatePasswordRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "password": obj.get("password") + }) + return _obj + + diff --git a/koyeb/api_async/models/update_persistent_volume_reply.py b/koyeb/api_async/models/update_persistent_volume_reply.py new file mode 100644 index 00000000..04d4b00c --- /dev/null +++ b/koyeb/api_async/models/update_persistent_volume_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.persistent_volume import PersistentVolume +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdatePersistentVolumeReply(BaseModel): + """ + UpdatePersistentVolumeReply + """ # noqa: E501 + volume: Optional[PersistentVolume] = None + __properties: ClassVar[List[str]] = ["volume"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdatePersistentVolumeReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of volume + if self.volume: + _dict['volume'] = self.volume.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdatePersistentVolumeReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "volume": PersistentVolume.from_dict(obj["volume"]) if obj.get("volume") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_persistent_volume_request.py b/koyeb/api_async/models/update_persistent_volume_request.py new file mode 100644 index 00000000..14852a46 --- /dev/null +++ b/koyeb/api_async/models/update_persistent_volume_request.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdatePersistentVolumeRequest(BaseModel): + """ + UpdatePersistentVolumeRequest + """ # noqa: E501 + name: Optional[StrictStr] = None + max_size: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["name", "max_size"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdatePersistentVolumeRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdatePersistentVolumeRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "max_size": obj.get("max_size") + }) + return _obj + + diff --git a/koyeb/api_async/models/update_project_reply.py b/koyeb/api_async/models/update_project_reply.py new file mode 100644 index 00000000..5919495f --- /dev/null +++ b/koyeb/api_async/models/update_project_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.project import Project +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateProjectReply(BaseModel): + """ + UpdateProjectReply + """ # noqa: E501 + project: Optional[Project] = None + __properties: ClassVar[List[str]] = ["project"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateProjectReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateProjectReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_secret_reply.py b/koyeb/api_async/models/update_secret_reply.py new file mode 100644 index 00000000..7d189ba0 --- /dev/null +++ b/koyeb/api_async/models/update_secret_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.secret import Secret +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateSecretReply(BaseModel): + """ + UpdateSecretReply + """ # noqa: E501 + secret: Optional[Secret] = None + __properties: ClassVar[List[str]] = ["secret"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateSecretReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of secret + if self.secret: + _dict['secret'] = self.secret.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateSecretReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "secret": Secret.from_dict(obj["secret"]) if obj.get("secret") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_service.py b/koyeb/api_async/models/update_service.py new file mode 100644 index 00000000..e8f7bad4 --- /dev/null +++ b/koyeb/api_async/models/update_service.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.deployment_definition import DeploymentDefinition +from koyeb.api_async.models.deployment_metadata import DeploymentMetadata +from koyeb.api_async.models.service_life_cycle import ServiceLifeCycle +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateService(BaseModel): + """ + UpdateService + """ # noqa: E501 + definition: Optional[DeploymentDefinition] = None + metadata: Optional[DeploymentMetadata] = None + skip_build: Optional[StrictBool] = Field(default=None, description="If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. The call fails if no previous successful builds happened.") + save_only: Optional[StrictBool] = None + life_cycle: Optional[ServiceLifeCycle] = None + __properties: ClassVar[List[str]] = ["definition", "metadata", "skip_build", "save_only", "life_cycle"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateService from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of definition + if self.definition: + _dict['definition'] = self.definition.to_dict() + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['metadata'] = self.metadata.to_dict() + # override the default output from pydantic by calling `to_dict()` of life_cycle + if self.life_cycle: + _dict['life_cycle'] = self.life_cycle.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateService from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "definition": DeploymentDefinition.from_dict(obj["definition"]) if obj.get("definition") is not None else None, + "metadata": DeploymentMetadata.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None, + "skip_build": obj.get("skip_build"), + "save_only": obj.get("save_only"), + "life_cycle": ServiceLifeCycle.from_dict(obj["life_cycle"]) if obj.get("life_cycle") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_service_reply.py b/koyeb/api_async/models/update_service_reply.py new file mode 100644 index 00000000..2a61677c --- /dev/null +++ b/koyeb/api_async/models/update_service_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.service import Service +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateServiceReply(BaseModel): + """ + UpdateServiceReply + """ # noqa: E501 + service: Optional[Service] = None + __properties: ClassVar[List[str]] = ["service"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateServiceReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of service + if self.service: + _dict['service'] = self.service.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateServiceReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "service": Service.from_dict(obj["service"]) if obj.get("service") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_service_scaling_request.py b/koyeb/api_async/models/update_service_scaling_request.py new file mode 100644 index 00000000..d096dcfb --- /dev/null +++ b/koyeb/api_async/models/update_service_scaling_request.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.manual_service_scaling import ManualServiceScaling +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateServiceScalingRequest(BaseModel): + """ + UpdateServiceScalingRequest + """ # noqa: E501 + scalings: Optional[List[ManualServiceScaling]] = None + __properties: ClassVar[List[str]] = ["scalings"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateServiceScalingRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in scalings (list) + _items = [] + if self.scalings: + for _item_scalings in self.scalings: + if _item_scalings: + _items.append(_item_scalings.to_dict()) + _dict['scalings'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateServiceScalingRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "scalings": [ManualServiceScaling.from_dict(_item) for _item in obj["scalings"]] if obj.get("scalings") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_snapshot_reply.py b/koyeb/api_async/models/update_snapshot_reply.py new file mode 100644 index 00000000..5f59bd4a --- /dev/null +++ b/koyeb/api_async/models/update_snapshot_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.snapshot import Snapshot +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateSnapshotReply(BaseModel): + """ + UpdateSnapshotReply + """ # noqa: E501 + snapshot: Optional[Snapshot] = None + __properties: ClassVar[List[str]] = ["snapshot"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateSnapshotReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of snapshot + if self.snapshot: + _dict['snapshot'] = self.snapshot.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateSnapshotReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "snapshot": Snapshot.from_dict(obj["snapshot"]) if obj.get("snapshot") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_snapshot_request.py b/koyeb/api_async/models/update_snapshot_request.py new file mode 100644 index 00000000..801fc6b0 --- /dev/null +++ b/koyeb/api_async/models/update_snapshot_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateSnapshotRequest(BaseModel): + """ + UpdateSnapshotRequest + """ # noqa: E501 + name: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateSnapshotRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateSnapshotRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name") + }) + return _obj + + diff --git a/koyeb/api_async/models/update_user_request_user_update_body.py b/koyeb/api_async/models/update_user_request_user_update_body.py new file mode 100644 index 00000000..0a05660b --- /dev/null +++ b/koyeb/api_async/models/update_user_request_user_update_body.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateUserRequestUserUpdateBody(BaseModel): + """ + UpdateUserRequestUserUpdateBody + """ # noqa: E501 + id: Optional[StrictStr] = None + email: Optional[StrictStr] = None + current_password: Optional[StrictStr] = None + password: Optional[StrictStr] = None + newsletter_subscribed: Optional[StrictBool] = None + name: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["id", "email", "current_password", "password", "newsletter_subscribed", "name"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateUserRequestUserUpdateBody from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateUserRequestUserUpdateBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "email": obj.get("email"), + "current_password": obj.get("current_password"), + "password": obj.get("password"), + "newsletter_subscribed": obj.get("newsletter_subscribed"), + "name": obj.get("name") + }) + return _obj + + diff --git a/koyeb/api_async/models/update_user_settings_reply.py b/koyeb/api_async/models/update_user_settings_reply.py new file mode 100644 index 00000000..f50a8920 --- /dev/null +++ b/koyeb/api_async/models/update_user_settings_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.user_settings import UserSettings +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateUserSettingsReply(BaseModel): + """ + UpdateUserSettingsReply + """ # noqa: E501 + settings: Optional[UserSettings] = None + __properties: ClassVar[List[str]] = ["settings"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateUserSettingsReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of settings + if self.settings: + _dict['settings'] = self.settings.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateUserSettingsReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "settings": UserSettings.from_dict(obj["settings"]) if obj.get("settings") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/update_user_settings_request.py b/koyeb/api_async/models/update_user_settings_request.py new file mode 100644 index 00000000..33ff27fe --- /dev/null +++ b/koyeb/api_async/models/update_user_settings_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpdateUserSettingsRequest(BaseModel): + """ + UpdateUserSettingsRequest + """ # noqa: E501 + failed_deployment_email_notification: Optional[StrictBool] = Field(default=None, description="(Optional) Toggle failed deployment email notification.") + __properties: ClassVar[List[str]] = ["failed_deployment_email_notification"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpdateUserSettingsRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpdateUserSettingsRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "failed_deployment_email_notification": obj.get("failed_deployment_email_notification") + }) + return _obj + + diff --git a/koyeb/api_async/models/upsert_signup_qualification_reply.py b/koyeb/api_async/models/upsert_signup_qualification_reply.py new file mode 100644 index 00000000..5440a5bf --- /dev/null +++ b/koyeb/api_async/models/upsert_signup_qualification_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.organization import Organization +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpsertSignupQualificationReply(BaseModel): + """ + UpsertSignupQualificationReply + """ # noqa: E501 + organization: Optional[Organization] = None + __properties: ClassVar[List[str]] = ["organization"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpsertSignupQualificationReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of organization + if self.organization: + _dict['organization'] = self.organization.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpsertSignupQualificationReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization": Organization.from_dict(obj["organization"]) if obj.get("organization") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/upsert_signup_qualification_request.py b/koyeb/api_async/models/upsert_signup_qualification_request.py new file mode 100644 index 00000000..f89bab9b --- /dev/null +++ b/koyeb/api_async/models/upsert_signup_qualification_request.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UpsertSignupQualificationRequest(BaseModel): + """ + UpsertSignupQualificationRequest + """ # noqa: E501 + signup_qualification: Optional[Dict[str, Any]] = None + __properties: ClassVar[List[str]] = ["signup_qualification"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UpsertSignupQualificationRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UpsertSignupQualificationRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "signup_qualification": obj.get("signup_qualification") + }) + return _obj + + diff --git a/koyeb/api_async/models/usage.py b/koyeb/api_async/models/usage.py new file mode 100644 index 00000000..7172e7fc --- /dev/null +++ b/koyeb/api_async/models/usage.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.period_usage import PeriodUsage +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class Usage(BaseModel): + """ + Usage + """ # noqa: E501 + organization_id: Optional[StrictStr] = None + periods: Optional[Dict[str, PeriodUsage]] = None + __properties: ClassVar[List[str]] = ["organization_id", "periods"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Usage from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each value in periods (dict) + _field_dict = {} + if self.periods: + for _key_periods in self.periods: + if self.periods[_key_periods]: + _field_dict[_key_periods] = self.periods[_key_periods].to_dict() + _dict['periods'] = _field_dict + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Usage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization_id": obj.get("organization_id"), + "periods": dict( + (_k, PeriodUsage.from_dict(_v)) + for _k, _v in obj["periods"].items() + ) + if obj.get("periods") is not None + else None + }) + return _obj + + diff --git a/koyeb/api_async/models/usage_details.py b/koyeb/api_async/models/usage_details.py new file mode 100644 index 00000000..1063d0da --- /dev/null +++ b/koyeb/api_async/models/usage_details.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UsageDetails(BaseModel): + """ + UsageDetails + """ # noqa: E501 + organization_id: Optional[StrictStr] = None + instance_id: Optional[StrictStr] = None + app_id: Optional[StrictStr] = None + app_name: Optional[StrictStr] = None + service_id: Optional[StrictStr] = None + service_name: Optional[StrictStr] = None + regional_deployment_id: Optional[StrictStr] = None + region: Optional[StrictStr] = None + deployment_id: Optional[StrictStr] = None + instance_type: Optional[StrictStr] = None + duration_seconds: Optional[StrictInt] = None + started_at: Optional[datetime] = None + terminated_at: Optional[datetime] = None + __properties: ClassVar[List[str]] = ["organization_id", "instance_id", "app_id", "app_name", "service_id", "service_name", "regional_deployment_id", "region", "deployment_id", "instance_type", "duration_seconds", "started_at", "terminated_at"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UsageDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UsageDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "organization_id": obj.get("organization_id"), + "instance_id": obj.get("instance_id"), + "app_id": obj.get("app_id"), + "app_name": obj.get("app_name"), + "service_id": obj.get("service_id"), + "service_name": obj.get("service_name"), + "regional_deployment_id": obj.get("regional_deployment_id"), + "region": obj.get("region"), + "deployment_id": obj.get("deployment_id"), + "instance_type": obj.get("instance_type"), + "duration_seconds": obj.get("duration_seconds"), + "started_at": obj.get("started_at"), + "terminated_at": obj.get("terminated_at") + }) + return _obj + + diff --git a/koyeb/api_async/models/user.py b/koyeb/api_async/models/user.py new file mode 100644 index 00000000..b790bb72 --- /dev/null +++ b/koyeb/api_async/models/user.py @@ -0,0 +1,118 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.user_flags import UserFlags +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class User(BaseModel): + """ + User + """ # noqa: E501 + id: Optional[StrictStr] = None + email: Optional[StrictStr] = None + avatar_url: Optional[StrictStr] = None + two_factor_authentication: Optional[StrictBool] = None + last_login: Optional[datetime] = None + last_login_ip: Optional[StrictStr] = None + updated_at: Optional[datetime] = None + created_at: Optional[datetime] = None + newsletter_subscribed: Optional[StrictBool] = None + github_id: Optional[StrictStr] = None + github_user: Optional[StrictStr] = None + flags: Optional[List[UserFlags]] = None + name: Optional[StrictStr] = None + email_validated: Optional[StrictBool] = None + trialed: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["id", "email", "avatar_url", "two_factor_authentication", "last_login", "last_login_ip", "updated_at", "created_at", "newsletter_subscribed", "github_id", "github_user", "flags", "name", "email_validated", "trialed"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of User from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of User from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "email": obj.get("email"), + "avatar_url": obj.get("avatar_url"), + "two_factor_authentication": obj.get("two_factor_authentication"), + "last_login": obj.get("last_login"), + "last_login_ip": obj.get("last_login_ip"), + "updated_at": obj.get("updated_at"), + "created_at": obj.get("created_at"), + "newsletter_subscribed": obj.get("newsletter_subscribed"), + "github_id": obj.get("github_id"), + "github_user": obj.get("github_user"), + "flags": obj.get("flags"), + "name": obj.get("name"), + "email_validated": obj.get("email_validated"), + "trialed": obj.get("trialed") + }) + return _obj + + diff --git a/koyeb/api_async/models/user_flags.py b/koyeb/api_async/models/user_flags.py new file mode 100644 index 00000000..4a31b7c9 --- /dev/null +++ b/koyeb/api_async/models/user_flags.py @@ -0,0 +1,48 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class UserFlags(str, Enum): + """ + UserFlags + """ + + """ + allowed enum values + """ + ADMIN = 'ADMIN' + TEST = 'TEST' + RESTRICTED = 'RESTRICTED' + ACTIVE = 'ACTIVE' + BETA = 'BETA' + MAX_ORGANIZATIONS_25 = 'MAX_ORGANIZATIONS_25' + MAX_ORGANIZATIONS_100 = 'MAX_ORGANIZATIONS_100' + MAX_ORGANIZATIONS_1000 = 'MAX_ORGANIZATIONS_1000' + MAX_ORGANIZATIONS_10000 = 'MAX_ORGANIZATIONS_10000' + MAX_ORGANIZATIONS_100000 = 'MAX_ORGANIZATIONS_100000' + MAX_ORGANIZATIONS_1000000 = 'MAX_ORGANIZATIONS_1000000' + PARTNER_CSP = 'PARTNER_CSP' + IGNORE_ORGANIZATION_NAME_RESERVATION_RULE_NEON_PREFIX = 'IGNORE_ORGANIZATION_NAME_RESERVATION_RULE_NEON_PREFIX' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of UserFlags from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/user_reply.py b/koyeb/api_async/models/user_reply.py new file mode 100644 index 00000000..74dd2336 --- /dev/null +++ b/koyeb/api_async/models/user_reply.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.user import User +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UserReply(BaseModel): + """ + UserReply + """ # noqa: E501 + user: Optional[User] = None + __properties: ClassVar[List[str]] = ["user"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of user + if self.user: + _dict['user'] = self.user.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "user": User.from_dict(obj["user"]) if obj.get("user") is not None else None + }) + return _obj + + diff --git a/koyeb/api_async/models/user_role_role.py b/koyeb/api_async/models/user_role_role.py new file mode 100644 index 00000000..f964e609 --- /dev/null +++ b/koyeb/api_async/models/user_role_role.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class UserRoleRole(str, Enum): + """ + UserRoleRole + """ + + """ + allowed enum values + """ + INVALID = 'INVALID' + OWNER = 'OWNER' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of UserRoleRole from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/models/user_settings.py b/koyeb/api_async/models/user_settings.py new file mode 100644 index 00000000..1e7118b4 --- /dev/null +++ b/koyeb/api_async/models/user_settings.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class UserSettings(BaseModel): + """ + UserSettings + """ # noqa: E501 + id: Optional[StrictStr] = None + user_id: Optional[StrictStr] = None + failed_deployment_email_notification: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["id", "user_id", "failed_deployment_email_notification"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserSettings from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of UserSettings from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "user_id": obj.get("user_id"), + "failed_deployment_email_notification": obj.get("failed_deployment_email_notification") + }) + return _obj + + diff --git a/koyeb/api_async/models/verify_docker_image_reply.py b/koyeb/api_async/models/verify_docker_image_reply.py new file mode 100644 index 00000000..a4e88f5a --- /dev/null +++ b/koyeb/api_async/models/verify_docker_image_reply.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from koyeb.api_async.models.verify_docker_image_reply_err_code import VerifyDockerImageReplyErrCode +from typing import Optional, Set +from typing_extensions import Self +from pydantic_core import to_jsonable_python + +class VerifyDockerImageReply(BaseModel): + """ + VerifyDockerImageReply + """ # noqa: E501 + success: Optional[StrictBool] = None + reason: Optional[StrictStr] = None + code: Optional[VerifyDockerImageReplyErrCode] = VerifyDockerImageReplyErrCode.UNKNOWN + __properties: ClassVar[List[str]] = ["success", "reason", "code"] + + model_config = ConfigDict( + validate_by_name=True, + validate_by_alias=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + return json.dumps(to_jsonable_python(self.to_dict())) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of VerifyDockerImageReply from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VerifyDockerImageReply from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "success": obj.get("success"), + "reason": obj.get("reason"), + "code": obj.get("code") if obj.get("code") is not None else VerifyDockerImageReplyErrCode.UNKNOWN + }) + return _obj + + diff --git a/koyeb/api_async/models/verify_docker_image_reply_err_code.py b/koyeb/api_async/models/verify_docker_image_reply_err_code.py new file mode 100644 index 00000000..fb4d4ae6 --- /dev/null +++ b/koyeb/api_async/models/verify_docker_image_reply_err_code.py @@ -0,0 +1,48 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class VerifyDockerImageReplyErrCode(str, Enum): + """ + - UNKNOWN: Default value - AUTH_ACCESS_DENIED: The registry denied access to an authenticated request - ANON_ACCESS_DENIED: The registry denied access to an anonymous request - AUTH_NOT_FOUND: The image has not been found after an authenticated request - ANON_NOT_FOUND: The image has not been found after an anonymous request - REGISTRY_ERROR: The registry returned an error - TIMEOUT: The request to the registry timed out - DNS: There was an error trying to resolve the name of the registry - MALFORMED: The provided image name is malformed - INVALID_OS: The operating system is not supported - INVALID_ARCH: The architecture is not supported - INVALID_SCHEME: The scheme is not https - GENERIC: Generic catch-all error code + """ + + """ + allowed enum values + """ + UNKNOWN = 'UNKNOWN' + AUTH_ACCESS_DENIED = 'AUTH_ACCESS_DENIED' + ANON_ACCESS_DENIED = 'ANON_ACCESS_DENIED' + AUTH_NOT_FOUND = 'AUTH_NOT_FOUND' + ANON_NOT_FOUND = 'ANON_NOT_FOUND' + REGISTRY_ERROR = 'REGISTRY_ERROR' + TIMEOUT = 'TIMEOUT' + DNS = 'DNS' + MALFORMED = 'MALFORMED' + INVALID_OS = 'INVALID_OS' + INVALID_ARCH = 'INVALID_ARCH' + INVALID_SCHEME = 'INVALID_SCHEME' + GENERIC = 'GENERIC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of VerifyDockerImageReplyErrCode from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/koyeb/api_async/rest.py b/koyeb/api_async/rest.py new file mode 100644 index 00000000..46365f8f --- /dev/null +++ b/koyeb/api_async/rest.py @@ -0,0 +1,201 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import io +import json +import re +import ssl +from typing import Optional, Union + +import httpx + +from koyeb.api_async.exceptions import ApiException, ApiValueError + +RESTResponseType = httpx.Response + +class RESTResponse(io.IOBase): + + def __init__(self, resp) -> None: + self.response = resp + self.status = resp.status_code + self.reason = resp.reason_phrase + self.data = None + + async def read(self): + if self.data is None: + self.data = await self.response.aread() + return self.data + + @property + def headers(self): + """Returns a CIMultiDictProxy of response headers.""" + return self.response.headers + + def getheaders(self): + """Returns a CIMultiDictProxy of the response headers; use ``headers`` instead.""" + return self.response.headers + + def getheader(self, name, default=None): + """Returns a given response header; use ``headers`` instead.""" + return self.response.headers.get(name, default) + + +class RESTClientObject: + + def __init__(self, configuration) -> None: + + # maxsize is number of requests to host that are allowed in parallel + self.maxsize = configuration.connection_pool_maxsize + + self.ssl_context = ssl.create_default_context( + cafile=configuration.ssl_ca_cert, + cadata=configuration.ca_cert_data, + ) + if configuration.cert_file: + self.ssl_context.load_cert_chain( + configuration.cert_file, keyfile=configuration.key_file + ) + + if not configuration.verify_ssl: + self.ssl_context.check_hostname = False + self.ssl_context.verify_mode = ssl.CERT_NONE + + self.proxy = configuration.proxy + self.proxy_headers = configuration.proxy_headers + + self.pool_manager: Optional[httpx.AsyncClient] = None + + async def close(self): + if self.pool_manager is not None: + await self.pool_manager.aclose() + + async def request( + self, + method, + url, + headers=None, + body=None, + post_params=None, + _request_timeout=None): + """Execute request + + :param method: http request method + :param url: http request url + :param headers: http request headers + :param body: request json body, for `application/json` + :param post_params: request post parameters, + `application/x-www-form-urlencoded` + and `multipart/form-data` + :param _request_timeout: 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. + """ + method = method.upper() + assert method in [ + 'GET', + 'HEAD', + 'DELETE', + 'POST', + 'PUT', + 'PATCH', + 'OPTIONS' + ] + + if post_params and body: + raise ApiValueError( + "body parameter cannot be used with post_params parameter." + ) + + post_params = post_params or {} + headers = headers or {} + timeout = _request_timeout or 5 * 60 + + if 'Content-Type' not in headers: + headers['Content-Type'] = 'application/json' + + args = { + "method": method, + "url": url, + "timeout": timeout, + "headers": headers + } + + # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` + if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: + if re.search('json', headers['Content-Type'], re.IGNORECASE): + if body is not None: + args["json"] = body + if body is None and post_params: + args["json"] = dict(post_params) + elif headers['Content-Type'] == 'application/x-www-form-urlencoded': # noqa: E501 + args["data"] = dict(post_params) + elif headers['Content-Type'] == 'multipart/form-data': + # must del headers['Content-Type'], or the correct + # Content-Type which generated by httpx + del headers['Content-Type'] + + files = [] + data = {} + for param in post_params: + k, v = param + if isinstance(v, tuple) and len(v) == 3: + files.append((k, v)) + else: + # Ensures that dict objects are serialized + if isinstance(v, dict): + v = json.dumps(v) + elif isinstance(v, int): + v = str(v) + data[k] = v + + if files: + args["files"] = files + if data: + args["data"] = data + + # Pass a `bytes` parameter directly in the body to support + # other content types than Json when `body` argument is provided + # in serialized form + elif isinstance(body, str) or isinstance(body, bytes): + args["data"] = body + else: + # Cannot generate the request from given parameters + msg = """Cannot prepare a request message for provided + arguments. Please check that your arguments match + declared content type.""" + raise ApiException(status=0, reason=msg) + + if self.pool_manager is None: + self.pool_manager = self._create_pool_manager() + + r = await self.pool_manager.request(**args) + return RESTResponse(r) + + def _create_pool_manager(self) -> httpx.AsyncClient: + limits = httpx.Limits(max_connections=self.maxsize) + + proxy = None + if self.proxy: + proxy = httpx.Proxy( + url=self.proxy, + headers=self.proxy_headers + ) + + return httpx.AsyncClient( + limits=limits, + proxy=proxy, + verify=self.ssl_context, + trust_env=True + ) diff --git a/koyeb/api_async/test/__init__.py b/koyeb/api_async/test/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/koyeb/api_async/test/test_accept_organization_invitation_reply.py b/koyeb/api_async/test/test_accept_organization_invitation_reply.py new file mode 100644 index 00000000..e2c090ee --- /dev/null +++ b/koyeb/api_async/test/test_accept_organization_invitation_reply.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.accept_organization_invitation_reply import AcceptOrganizationInvitationReply + +class TestAcceptOrganizationInvitationReply(unittest.TestCase): + """AcceptOrganizationInvitationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AcceptOrganizationInvitationReply: + """Test AcceptOrganizationInvitationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AcceptOrganizationInvitationReply` + """ + model = AcceptOrganizationInvitationReply() + if include_optional: + return AcceptOrganizationInvitationReply( + invitation = koyeb.api_async.models.organization_invitation.OrganizationInvitation( + id = '', + email = '', + role = 'INVALID', + status = 'INVALID', + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + external_id = '', ), + invitee_id = '', + invitee = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + inviter_id = '', + inviter = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), ) + ) + else: + return AcceptOrganizationInvitationReply( + ) + """ + + def testAcceptOrganizationInvitationReply(self): + """Test AcceptOrganizationInvitationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_action.py b/koyeb/api_async/test/test_action.py new file mode 100644 index 00000000..d66d3d19 --- /dev/null +++ b/koyeb/api_async/test/test_action.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.action import Action + +class TestAction(unittest.TestCase): + """Action unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAction(self): + """Test Action""" + # inst = Action() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_activity.py b/koyeb/api_async/test/test_activity.py new file mode 100644 index 00000000..8ab9c0dd --- /dev/null +++ b/koyeb/api_async/test/test_activity.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.activity import Activity + +class TestActivity(unittest.TestCase): + """Activity unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Activity: + """Test Activity + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Activity` + """ + model = Activity() + if include_optional: + return Activity( + id = '', + actor = koyeb.api_async.models.object.Object( + id = '', + name = '', + type = '', + metadata = koyeb.api_async.models.metadata.metadata(), + deleted = True, ), + object = koyeb.api_async.models.object.Object( + id = '', + name = '', + type = '', + metadata = koyeb.api_async.models.metadata.metadata(), + deleted = True, ), + verb = '', + metadata = None, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return Activity( + ) + """ + + def testActivity(self): + """Test Activity""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_activity_api.py b/koyeb/api_async/test/test_activity_api.py new file mode 100644 index 00000000..0325ec24 --- /dev/null +++ b/koyeb/api_async/test/test_activity_api.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.activity_api import ActivityApi + + +class TestActivityApi(unittest.IsolatedAsyncioTestCase): + """ActivityApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = ActivityApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_get_account_activities(self) -> None: + """Test case for get_account_activities + + """ + pass + + async def test_list_activities(self) -> None: + """Test case for list_activities + + List Activities + """ + pass + + async def test_list_notifications(self) -> None: + """Test case for list_notifications + + List Notifications + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_activity_list.py b/koyeb/api_async/test/test_activity_list.py new file mode 100644 index 00000000..4d9475df --- /dev/null +++ b/koyeb/api_async/test/test_activity_list.py @@ -0,0 +1,72 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.activity_list import ActivityList + +class TestActivityList(unittest.TestCase): + """ActivityList unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ActivityList: + """Test ActivityList + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ActivityList` + """ + model = ActivityList() + if include_optional: + return ActivityList( + activities = [ + koyeb.api_async.models.activity.Activity( + id = '', + actor = koyeb.api_async.models.object.Object( + id = '', + name = '', + type = '', + metadata = koyeb.api_async.models.metadata.metadata(), + deleted = True, ), + object = koyeb.api_async.models.object.Object( + id = '', + name = '', + type = '', + metadata = koyeb.api_async.models.metadata.metadata(), + deleted = True, ), + verb = '', + metadata = koyeb.api_async.models.metadata.metadata(), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + limit = 56, + offset = 56, + has_next = True + ) + else: + return ActivityList( + ) + """ + + def testActivityList(self): + """Test ActivityList""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_app.py b/koyeb/api_async/test/test_app.py new file mode 100644 index 00000000..866613f9 --- /dev/null +++ b/koyeb/api_async/test/test_app.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.app import App + +class TestApp(unittest.TestCase): + """App unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> App: + """Test App + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `App` + """ + model = App() + if include_optional: + return App( + id = '', + name = '', + organization_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + paused_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resumed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'STARTING', + messages = [ + '' + ], + version = '', + domains = [ + koyeb.api_async.models.domain.Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'PENDING', + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + messages = [ + '' + ], + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '', ) + ], + life_cycle = koyeb.api_async.models.app_life_cycle.AppLifeCycle( + delete_when_empty = True, ) + ) + else: + return App( + ) + """ + + def testApp(self): + """Test App""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_app_event.py b/koyeb/api_async/test/test_app_event.py new file mode 100644 index 00000000..39d0951b --- /dev/null +++ b/koyeb/api_async/test/test_app_event.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.app_event import AppEvent + +class TestAppEvent(unittest.TestCase): + """AppEvent unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AppEvent: + """Test AppEvent + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AppEvent` + """ + model = AppEvent() + if include_optional: + return AppEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + type = '', + message = '', + metadata = None + ) + else: + return AppEvent( + ) + """ + + def testAppEvent(self): + """Test AppEvent""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_app_life_cycle.py b/koyeb/api_async/test/test_app_life_cycle.py new file mode 100644 index 00000000..90d57969 --- /dev/null +++ b/koyeb/api_async/test/test_app_life_cycle.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.app_life_cycle import AppLifeCycle + +class TestAppLifeCycle(unittest.TestCase): + """AppLifeCycle unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AppLifeCycle: + """Test AppLifeCycle + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AppLifeCycle` + """ + model = AppLifeCycle() + if include_optional: + return AppLifeCycle( + delete_when_empty = True + ) + else: + return AppLifeCycle( + ) + """ + + def testAppLifeCycle(self): + """Test AppLifeCycle""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_app_list_item.py b/koyeb/api_async/test/test_app_list_item.py new file mode 100644 index 00000000..fe0815ff --- /dev/null +++ b/koyeb/api_async/test/test_app_list_item.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.app_list_item import AppListItem + +class TestAppListItem(unittest.TestCase): + """AppListItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AppListItem: + """Test AppListItem + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AppListItem` + """ + model = AppListItem() + if include_optional: + return AppListItem( + id = '', + name = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + domains = [ + koyeb.api_async.models.domain.Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'PENDING', + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + messages = [ + '' + ], + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '', ) + ], + status = 'STARTING', + messages = [ + '' + ] + ) + else: + return AppListItem( + ) + """ + + def testAppListItem(self): + """Test AppListItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_app_status.py b/koyeb/api_async/test/test_app_status.py new file mode 100644 index 00000000..3724313b --- /dev/null +++ b/koyeb/api_async/test/test_app_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.app_status import AppStatus + +class TestAppStatus(unittest.TestCase): + """AppStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAppStatus(self): + """Test AppStatus""" + # inst = AppStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_app_usage.py b/koyeb/api_async/test/test_app_usage.py new file mode 100644 index 00000000..43b524bb --- /dev/null +++ b/koyeb/api_async/test/test_app_usage.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.app_usage import AppUsage + +class TestAppUsage(unittest.TestCase): + """AppUsage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AppUsage: + """Test AppUsage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AppUsage` + """ + model = AppUsage() + if include_optional: + return AppUsage( + app_id = '', + app_name = '', + services = [ + koyeb.api_async.models.service_usage.ServiceUsage( + service_id = '', + service_name = '', + regions = { + 'key' : koyeb.api_async.models.region_usage.RegionUsage( + instances = { + 'key' : koyeb.api_async.models.instance_usage.InstanceUsage( + duration_seconds = 56, ) + }, ) + }, ) + ], + databases = [ + koyeb.api_async.models.database_usage.DatabaseUsage( + service_id = '', + service_name = '', + compute_time_seconds = 56, + data_storage_megabytes_hours = 56, ) + ] + ) + else: + return AppUsage( + ) + """ + + def testAppUsage(self): + """Test AppUsage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_apps_api.py b/koyeb/api_async/test/test_apps_api.py new file mode 100644 index 00000000..db7fcee7 --- /dev/null +++ b/koyeb/api_async/test/test_apps_api.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.apps_api import AppsApi + + +class TestAppsApi(unittest.IsolatedAsyncioTestCase): + """AppsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = AppsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_app(self) -> None: + """Test case for create_app + + Create App + """ + pass + + async def test_delete_app(self) -> None: + """Test case for delete_app + + Delete App + """ + pass + + async def test_get_app(self) -> None: + """Test case for get_app + + Get App + """ + pass + + async def test_list_app_events(self) -> None: + """Test case for list_app_events + + List App events + """ + pass + + async def test_list_apps(self) -> None: + """Test case for list_apps + + List App + """ + pass + + async def test_pause_app(self) -> None: + """Test case for pause_app + + Pause App + """ + pass + + async def test_resume_app(self) -> None: + """Test case for resume_app + + Resume App + """ + pass + + async def test_update_app(self) -> None: + """Test case for update_app + + Update App + """ + pass + + async def test_update_app2(self) -> None: + """Test case for update_app2 + + Update App + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_apps_summary.py b/koyeb/api_async/test/test_apps_summary.py new file mode 100644 index 00000000..5f97ebd5 --- /dev/null +++ b/koyeb/api_async/test/test_apps_summary.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.apps_summary import AppsSummary + +class TestAppsSummary(unittest.TestCase): + """AppsSummary unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AppsSummary: + """Test AppsSummary + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AppsSummary` + """ + model = AppsSummary() + if include_optional: + return AppsSummary( + total = '', + by_status = { + 'key' : '' + } + ) + else: + return AppsSummary( + ) + """ + + def testAppsSummary(self): + """Test AppsSummary""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_archive.py b/koyeb/api_async/test/test_archive.py new file mode 100644 index 00000000..1da29a8c --- /dev/null +++ b/koyeb/api_async/test/test_archive.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.archive import Archive + +class TestArchive(unittest.TestCase): + """Archive unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Archive: + """Test Archive + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Archive` + """ + model = Archive() + if include_optional: + return Archive( + id = '', + organization_id = '', + upload_url = '', + size = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return Archive( + ) + """ + + def testArchive(self): + """Test Archive""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_archive_deployment_metadata.py b/koyeb/api_async/test/test_archive_deployment_metadata.py new file mode 100644 index 00000000..135444c4 --- /dev/null +++ b/koyeb/api_async/test/test_archive_deployment_metadata.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.archive_deployment_metadata import ArchiveDeploymentMetadata + +class TestArchiveDeploymentMetadata(unittest.TestCase): + """ArchiveDeploymentMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ArchiveDeploymentMetadata: + """Test ArchiveDeploymentMetadata + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ArchiveDeploymentMetadata` + """ + model = ArchiveDeploymentMetadata() + if include_optional: + return ArchiveDeploymentMetadata( + last_provisioned_deployment_id = '' + ) + else: + return ArchiveDeploymentMetadata( + ) + """ + + def testArchiveDeploymentMetadata(self): + """Test ArchiveDeploymentMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_archive_source.py b/koyeb/api_async/test/test_archive_source.py new file mode 100644 index 00000000..e8298695 --- /dev/null +++ b/koyeb/api_async/test/test_archive_source.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.archive_source import ArchiveSource + +class TestArchiveSource(unittest.TestCase): + """ArchiveSource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ArchiveSource: + """Test ArchiveSource + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ArchiveSource` + """ + model = ArchiveSource() + if include_optional: + return ArchiveSource( + id = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), + docker = koyeb.api_async.models.docker_builder.DockerBuilder( + dockerfile = '', + entrypoint = [ + '' + ], + command = '', + args = [ + '' + ], + target = '', + privileged = True, ) + ) + else: + return ArchiveSource( + ) + """ + + def testArchiveSource(self): + """Test ArchiveSource""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_archives_api.py b/koyeb/api_async/test/test_archives_api.py new file mode 100644 index 00000000..481d847e --- /dev/null +++ b/koyeb/api_async/test/test_archives_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.archives_api import ArchivesApi + + +class TestArchivesApi(unittest.IsolatedAsyncioTestCase): + """ArchivesApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = ArchivesApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_archive(self) -> None: + """Test case for create_archive + + Create Archive + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_auto_release.py b/koyeb/api_async/test/test_auto_release.py new file mode 100644 index 00000000..9cab3d3c --- /dev/null +++ b/koyeb/api_async/test/test_auto_release.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.auto_release import AutoRelease + +class TestAutoRelease(unittest.TestCase): + """AutoRelease unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AutoRelease: + """Test AutoRelease + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AutoRelease` + """ + model = AutoRelease() + if include_optional: + return AutoRelease( + groups = [ + koyeb.api_async.models.configuration_extracted_from_the_latest_deployment_in_this_deployment_group.Configuration extracted from the latest deployment in this deployment_group( + name = '', + repository = '', + git_ref = '', + latest_sha = '', ) + ] + ) + else: + return AutoRelease( + ) + """ + + def testAutoRelease(self): + """Test AutoRelease""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_auto_release_group.py b/koyeb/api_async/test/test_auto_release_group.py new file mode 100644 index 00000000..5fec477f --- /dev/null +++ b/koyeb/api_async/test/test_auto_release_group.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.auto_release_group import AutoReleaseGroup + +class TestAutoReleaseGroup(unittest.TestCase): + """AutoReleaseGroup unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AutoReleaseGroup: + """Test AutoReleaseGroup + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AutoReleaseGroup` + """ + model = AutoReleaseGroup() + if include_optional: + return AutoReleaseGroup( + name = '', + repository = '', + git_ref = '', + latest_sha = '' + ) + else: + return AutoReleaseGroup( + ) + """ + + def testAutoReleaseGroup(self): + """Test AutoReleaseGroup""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_autocomplete_reply.py b/koyeb/api_async/test/test_autocomplete_reply.py new file mode 100644 index 00000000..407b0ffc --- /dev/null +++ b/koyeb/api_async/test/test_autocomplete_reply.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.autocomplete_reply import AutocompleteReply + +class TestAutocompleteReply(unittest.TestCase): + """AutocompleteReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AutocompleteReply: + """Test AutocompleteReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AutocompleteReply` + """ + model = AutocompleteReply() + if include_optional: + return AutocompleteReply( + secrets = [ + '' + ], + user_env = [ + '' + ], + system_env = [ + '' + ] + ) + else: + return AutocompleteReply( + ) + """ + + def testAutocompleteReply(self): + """Test AutocompleteReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_autocomplete_request.py b/koyeb/api_async/test/test_autocomplete_request.py new file mode 100644 index 00000000..8f23f762 --- /dev/null +++ b/koyeb/api_async/test/test_autocomplete_request.py @@ -0,0 +1,189 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.autocomplete_request import AutocompleteRequest + +class TestAutocompleteRequest(unittest.TestCase): + """AutocompleteRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AutocompleteRequest: + """Test AutocompleteRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AutocompleteRequest` + """ + model = AutocompleteRequest() + if include_optional: + return AutocompleteRequest( + definition = koyeb.api_async.models.deployment_definition.DeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.deployment_route.DeploymentRoute( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.deployment_port.DeploymentPort( + port = 56, + protocol = '', ) + ], + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port.DeploymentProxyPort( + port = 56, + protocol = 'tcp', ) + ], + env = [ + koyeb.api_async.models.deployment_env.DeploymentEnv( + scopes = [ + '' + ], + key = '', + value = '', + secret = '', ) + ], + regions = [ + '' + ], + scalings = [ + koyeb.api_async.models.deployment_scaling.DeploymentScaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ) + ], + instance_types = [ + koyeb.api_async.models.deployment_instance_type.DeploymentInstanceType() + ], + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.deployment_volume.DeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), ), + database = koyeb.api_async.models.database_source.DatabaseSource( + neon_postgres = koyeb.api_async.models.neon_postgres_database.NeonPostgresDatabase( + pg_version = 56, + region = '', + instance_type = '', + roles = [ + koyeb.api_async.models.neon_postgres_database/neon_role.NeonPostgresDatabase.NeonRole( + name = '', + secret = '', ) + ], + databases = [ + koyeb.api_async.models.neon_postgres_database/neon_database.NeonPostgresDatabase.NeonDatabase( + name = '', + owner = '', ) + ], ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', ), ) + ) + else: + return AutocompleteRequest( + ) + """ + + def testAutocompleteRequest(self): + """Test AutocompleteRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_availability_level.py b/koyeb/api_async/test/test_availability_level.py new file mode 100644 index 00000000..89e9d0c0 --- /dev/null +++ b/koyeb/api_async/test/test_availability_level.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.availability_level import AvailabilityLevel + +class TestAvailabilityLevel(unittest.TestCase): + """AvailabilityLevel unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAvailabilityLevel(self): + """Test AvailabilityLevel""" + # inst = AvailabilityLevel() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_azure_container_registry_configuration.py b/koyeb/api_async/test/test_azure_container_registry_configuration.py new file mode 100644 index 00000000..dfad96b3 --- /dev/null +++ b/koyeb/api_async/test/test_azure_container_registry_configuration.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.azure_container_registry_configuration import AzureContainerRegistryConfiguration + +class TestAzureContainerRegistryConfiguration(unittest.TestCase): + """AzureContainerRegistryConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AzureContainerRegistryConfiguration: + """Test AzureContainerRegistryConfiguration + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AzureContainerRegistryConfiguration` + """ + model = AzureContainerRegistryConfiguration() + if include_optional: + return AzureContainerRegistryConfiguration( + registry_name = '', + username = '', + password = '' + ) + else: + return AzureContainerRegistryConfiguration( + ) + """ + + def testAzureContainerRegistryConfiguration(self): + """Test AzureContainerRegistryConfiguration""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_basic_auth_policy.py b/koyeb/api_async/test/test_basic_auth_policy.py new file mode 100644 index 00000000..045babfb --- /dev/null +++ b/koyeb/api_async/test/test_basic_auth_policy.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.basic_auth_policy import BasicAuthPolicy + +class TestBasicAuthPolicy(unittest.TestCase): + """BasicAuthPolicy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BasicAuthPolicy: + """Test BasicAuthPolicy + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BasicAuthPolicy` + """ + model = BasicAuthPolicy() + if include_optional: + return BasicAuthPolicy( + username = '', + password = '' + ) + else: + return BasicAuthPolicy( + ) + """ + + def testBasicAuthPolicy(self): + """Test BasicAuthPolicy""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_billing_api.py b/koyeb/api_async/test/test_billing_api.py new file mode 100644 index 00000000..e381cd9d --- /dev/null +++ b/koyeb/api_async/test/test_billing_api.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.billing_api import BillingApi + + +class TestBillingApi(unittest.IsolatedAsyncioTestCase): + """BillingApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = BillingApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_has_unpaid_invoices(self) -> None: + """Test case for has_unpaid_invoices + + Experimental: Has unpaid invoices + """ + pass + + async def test_manage(self) -> None: + """Test case for manage + + """ + pass + + async def test_next_invoice(self) -> None: + """Test case for next_invoice + + Experimental: Fetch next invoice + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_budget.py b/koyeb/api_async/test/test_budget.py new file mode 100644 index 00000000..c604fbb7 --- /dev/null +++ b/koyeb/api_async/test/test_budget.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.budget import Budget + +class TestBudget(unittest.TestCase): + """Budget unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Budget: + """Test Budget + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Budget` + """ + model = Budget() + if include_optional: + return Budget( + amount = '', + thresholds = [ + '' + ] + ) + else: + return Budget( + ) + """ + + def testBudget(self): + """Test Budget""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_buildpack_builder.py b/koyeb/api_async/test/test_buildpack_builder.py new file mode 100644 index 00000000..95e3b3d6 --- /dev/null +++ b/koyeb/api_async/test/test_buildpack_builder.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.buildpack_builder import BuildpackBuilder + +class TestBuildpackBuilder(unittest.TestCase): + """BuildpackBuilder unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BuildpackBuilder: + """Test BuildpackBuilder + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BuildpackBuilder` + """ + model = BuildpackBuilder() + if include_optional: + return BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True + ) + else: + return BuildpackBuilder( + ) + """ + + def testBuildpackBuilder(self): + """Test BuildpackBuilder""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_canny_auth_reply.py b/koyeb/api_async/test/test_canny_auth_reply.py new file mode 100644 index 00000000..02a6b175 --- /dev/null +++ b/koyeb/api_async/test/test_canny_auth_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.canny_auth_reply import CannyAuthReply + +class TestCannyAuthReply(unittest.TestCase): + """CannyAuthReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CannyAuthReply: + """Test CannyAuthReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CannyAuthReply` + """ + model = CannyAuthReply() + if include_optional: + return CannyAuthReply( + token = '' + ) + else: + return CannyAuthReply( + ) + """ + + def testCannyAuthReply(self): + """Test CannyAuthReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_catalog_datacenters_api.py b/koyeb/api_async/test/test_catalog_datacenters_api.py new file mode 100644 index 00000000..4562626b --- /dev/null +++ b/koyeb/api_async/test/test_catalog_datacenters_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.catalog_datacenters_api import CatalogDatacentersApi + + +class TestCatalogDatacentersApi(unittest.IsolatedAsyncioTestCase): + """CatalogDatacentersApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = CatalogDatacentersApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_list_datacenters(self) -> None: + """Test case for list_datacenters + + List datacenters + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_catalog_gpu_details.py b/koyeb/api_async/test/test_catalog_gpu_details.py new file mode 100644 index 00000000..8b576d7e --- /dev/null +++ b/koyeb/api_async/test/test_catalog_gpu_details.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.catalog_gpu_details import CatalogGPUDetails + +class TestCatalogGPUDetails(unittest.TestCase): + """CatalogGPUDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CatalogGPUDetails: + """Test CatalogGPUDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CatalogGPUDetails` + """ + model = CatalogGPUDetails() + if include_optional: + return CatalogGPUDetails( + count = 56, + brand = '', + memory = '', + name = '' + ) + else: + return CatalogGPUDetails( + ) + """ + + def testCatalogGPUDetails(self): + """Test CatalogGPUDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_catalog_instance.py b/koyeb/api_async/test/test_catalog_instance.py new file mode 100644 index 00000000..140c70d6 --- /dev/null +++ b/koyeb/api_async/test/test_catalog_instance.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.catalog_instance import CatalogInstance + +class TestCatalogInstance(unittest.TestCase): + """CatalogInstance unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CatalogInstance: + """Test CatalogInstance + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CatalogInstance` + """ + model = CatalogInstance() + if include_optional: + return CatalogInstance( + id = '', + description = '', + vcpu = 56, + memory = '', + disk = '', + price_per_second = '', + price_hourly = '', + price_monthly = '', + regions = [ + '' + ], + status = '', + require_plan = [ + '' + ], + vcpu_shares = 1.337, + display_name = '', + aliases = [ + '' + ], + type = '', + gpu = koyeb.api_async.models.catalog_gpu_details.CatalogGPUDetails( + count = 56, + brand = '', + memory = '', + name = '', ), + service_types = [ + '' + ], + volumes_enabled = True, + light_sleep_enabled = True + ) + else: + return CatalogInstance( + ) + """ + + def testCatalogInstance(self): + """Test CatalogInstance""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_catalog_instance_list_item.py b/koyeb/api_async/test/test_catalog_instance_list_item.py new file mode 100644 index 00000000..195ee878 --- /dev/null +++ b/koyeb/api_async/test/test_catalog_instance_list_item.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.catalog_instance_list_item import CatalogInstanceListItem + +class TestCatalogInstanceListItem(unittest.TestCase): + """CatalogInstanceListItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CatalogInstanceListItem: + """Test CatalogInstanceListItem + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CatalogInstanceListItem` + """ + model = CatalogInstanceListItem() + if include_optional: + return CatalogInstanceListItem( + id = '', + description = '', + vcpu = 56, + memory = '', + disk = '', + price_per_second = '', + price_hourly = '', + price_monthly = '', + regions = [ + '' + ], + status = '', + require_plan = [ + '' + ], + vcpu_shares = 1.337, + display_name = '', + aliases = [ + '' + ], + type = '', + gpu = koyeb.api_async.models.catalog_gpu_details.CatalogGPUDetails( + count = 56, + brand = '', + memory = '', + name = '', ), + service_types = [ + '' + ], + volumes_enabled = True, + light_sleep_enabled = True + ) + else: + return CatalogInstanceListItem( + ) + """ + + def testCatalogInstanceListItem(self): + """Test CatalogInstanceListItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_catalog_instance_usage_api.py b/koyeb/api_async/test/test_catalog_instance_usage_api.py new file mode 100644 index 00000000..1634d8f1 --- /dev/null +++ b/koyeb/api_async/test/test_catalog_instance_usage_api.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.catalog_instance_usage_api import CatalogInstanceUsageApi + + +class TestCatalogInstanceUsageApi(unittest.IsolatedAsyncioTestCase): + """CatalogInstanceUsageApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = CatalogInstanceUsageApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_list_usage(self) -> None: + """Test case for list_usage + + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_catalog_instances_api.py b/koyeb/api_async/test/test_catalog_instances_api.py new file mode 100644 index 00000000..b8c41a31 --- /dev/null +++ b/koyeb/api_async/test/test_catalog_instances_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.catalog_instances_api import CatalogInstancesApi + + +class TestCatalogInstancesApi(unittest.IsolatedAsyncioTestCase): + """CatalogInstancesApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = CatalogInstancesApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_get_catalog_instance(self) -> None: + """Test case for get_catalog_instance + + Get Instance + """ + pass + + async def test_list_catalog_instances(self) -> None: + """Test case for list_catalog_instances + + List Instances + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_catalog_regions_api.py b/koyeb/api_async/test/test_catalog_regions_api.py new file mode 100644 index 00000000..cc4748de --- /dev/null +++ b/koyeb/api_async/test/test_catalog_regions_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.catalog_regions_api import CatalogRegionsApi + + +class TestCatalogRegionsApi(unittest.IsolatedAsyncioTestCase): + """CatalogRegionsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = CatalogRegionsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_get_region(self) -> None: + """Test case for get_region + + Get Region + """ + pass + + async def test_list_regions(self) -> None: + """Test case for list_regions + + List Region + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_catalog_usage.py b/koyeb/api_async/test/test_catalog_usage.py new file mode 100644 index 00000000..103c4ab1 --- /dev/null +++ b/koyeb/api_async/test/test_catalog_usage.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.catalog_usage import CatalogUsage + +class TestCatalogUsage(unittest.TestCase): + """CatalogUsage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CatalogUsage: + """Test CatalogUsage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CatalogUsage` + """ + model = CatalogUsage() + if include_optional: + return CatalogUsage( + instances = { + 'key' : koyeb.api_async.models.instance_availability.InstanceAvailability( + regions = { + 'key' : koyeb.api_async.models.region_availability.RegionAvailability( + availability = 'UNKNOWN', ) + }, + availability = 'UNKNOWN', ) + } + ) + else: + return CatalogUsage( + ) + """ + + def testCatalogUsage(self): + """Test CatalogUsage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_check_coupon_reply.py b/koyeb/api_async/test/test_check_coupon_reply.py new file mode 100644 index 00000000..2e33127a --- /dev/null +++ b/koyeb/api_async/test/test_check_coupon_reply.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.check_coupon_reply import CheckCouponReply + +class TestCheckCouponReply(unittest.TestCase): + """CheckCouponReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CheckCouponReply: + """Test CheckCouponReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CheckCouponReply` + """ + model = CheckCouponReply() + if include_optional: + return CheckCouponReply( + name = '', + percent_off = 1.337, + amount_off = '', + currency = '' + ) + else: + return CheckCouponReply( + ) + """ + + def testCheckCouponReply(self): + """Test CheckCouponReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_clear_idenfy_verification_result_request.py b/koyeb/api_async/test/test_clear_idenfy_verification_result_request.py new file mode 100644 index 00000000..86f3d04a --- /dev/null +++ b/koyeb/api_async/test/test_clear_idenfy_verification_result_request.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.clear_idenfy_verification_result_request import ClearIdenfyVerificationResultRequest + +class TestClearIdenfyVerificationResultRequest(unittest.TestCase): + """ClearIdenfyVerificationResultRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ClearIdenfyVerificationResultRequest: + """Test ClearIdenfyVerificationResultRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ClearIdenfyVerificationResultRequest` + """ + model = ClearIdenfyVerificationResultRequest() + if include_optional: + return ClearIdenfyVerificationResultRequest( + user_id = '', + organization_id = '' + ) + else: + return ClearIdenfyVerificationResultRequest( + ) + """ + + def testClearIdenfyVerificationResultRequest(self): + """Test ClearIdenfyVerificationResultRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_compose_api.py b/koyeb/api_async/test/test_compose_api.py new file mode 100644 index 00000000..b29f59dd --- /dev/null +++ b/koyeb/api_async/test/test_compose_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.compose_api import ComposeApi + + +class TestComposeApi(unittest.IsolatedAsyncioTestCase): + """ComposeApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = ComposeApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_compose(self) -> None: + """Test case for compose + + Create resources from compose. + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_compose_reply.py b/koyeb/api_async/test/test_compose_reply.py new file mode 100644 index 00000000..c7cb9928 --- /dev/null +++ b/koyeb/api_async/test/test_compose_reply.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.compose_reply import ComposeReply + +class TestComposeReply(unittest.TestCase): + """ComposeReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ComposeReply: + """Test ComposeReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ComposeReply` + """ + model = ComposeReply() + if include_optional: + return ComposeReply( + app = koyeb.api_async.models.app.App( + id = '', + name = '', + organization_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + paused_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resumed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'STARTING', + messages = [ + '' + ], + version = '', + domains = [ + koyeb.api_async.models.domain.Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '', ) + ], + life_cycle = koyeb.api_async.models.app_life_cycle.AppLifeCycle( + delete_when_empty = True, ), ), + services = [ + koyeb.api_async.models.service.Service( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + paused_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resumed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + name = '', + type = 'INVALID_TYPE', + organization_id = '', + app_id = '', + status = 'STARTING', + messages = [ + '' + ], + version = '', + active_deployment_id = '', + latest_deployment_id = '', + last_provisioned_deployment_id = '', + state = koyeb.api_async.models.service_state.ServiceState( + desired_deployment = koyeb.api_async.models.desired_deployment.DesiredDeployment( + groups = [ + koyeb.api_async.models.desired_deployment/group.DesiredDeployment.Group( + name = '', + deployment_ids = [ + '' + ], ) + ], ), + auto_release = koyeb.api_async.models.auto_release.AutoRelease(), ), + life_cycle = koyeb.api_async.models.service_life_cycle.ServiceLifeCycle( + delete_after_sleep = 56, + delete_after_create = 56, ), ) + ] + ) + else: + return ComposeReply( + ) + """ + + def testComposeReply(self): + """Test ComposeReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_config_file.py b/koyeb/api_async/test/test_config_file.py new file mode 100644 index 00000000..a40527eb --- /dev/null +++ b/koyeb/api_async/test/test_config_file.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.config_file import ConfigFile + +class TestConfigFile(unittest.TestCase): + """ConfigFile unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConfigFile: + """Test ConfigFile + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConfigFile` + """ + model = ConfigFile() + if include_optional: + return ConfigFile( + path = '', + permissions = '', + content = '' + ) + else: + return ConfigFile( + ) + """ + + def testConfigFile(self): + """Test ConfigFile""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_confirm_payment_authorization_reply.py b/koyeb/api_async/test/test_confirm_payment_authorization_reply.py new file mode 100644 index 00000000..a980ea14 --- /dev/null +++ b/koyeb/api_async/test/test_confirm_payment_authorization_reply.py @@ -0,0 +1,74 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.confirm_payment_authorization_reply import ConfirmPaymentAuthorizationReply + +class TestConfirmPaymentAuthorizationReply(unittest.TestCase): + """ConfirmPaymentAuthorizationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConfirmPaymentAuthorizationReply: + """Test ConfirmPaymentAuthorizationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConfirmPaymentAuthorizationReply` + """ + model = ConfirmPaymentAuthorizationReply() + if include_optional: + return ConfirmPaymentAuthorizationReply( + payment_method = koyeb.api_async.models.payment_method.PaymentMethod( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + version = '', + organization_id = '', + type = '', + provider = '', + status = 'INVALID', + messages = [ + '' + ], + stripe_payment_method_id = '', + authorization_verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + authorization_canceled_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + authorization_stripe_payment_intent_id = '', + authorization_stripe_payment_intent_client_secret = '', + card_brand = '', + card_country = '', + card_funding = '', + card_fingerprint = '', + card_last_digits = '', + card_expiration_month = 56, + card_expiration_year = 56, ) + ) + else: + return ConfirmPaymentAuthorizationReply( + ) + """ + + def testConfirmPaymentAuthorizationReply(self): + """Test ConfirmPaymentAuthorizationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_coupons_api.py b/koyeb/api_async/test/test_coupons_api.py new file mode 100644 index 00000000..deb229a7 --- /dev/null +++ b/koyeb/api_async/test/test_coupons_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.coupons_api import CouponsApi + + +class TestCouponsApi(unittest.IsolatedAsyncioTestCase): + """CouponsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = CouponsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_check_coupon(self) -> None: + """Test case for check_coupon + + Check Coupon + """ + pass + + async def test_redeem_coupon(self) -> None: + """Test case for redeem_coupon + + Redeem Coupon + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_access_token_reply.py b/koyeb/api_async/test/test_create_access_token_reply.py new file mode 100644 index 00000000..d7b7d77b --- /dev/null +++ b/koyeb/api_async/test/test_create_access_token_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_access_token_reply import CreateAccessTokenReply + +class TestCreateAccessTokenReply(unittest.TestCase): + """CreateAccessTokenReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateAccessTokenReply: + """Test CreateAccessTokenReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateAccessTokenReply` + """ + model = CreateAccessTokenReply() + if include_optional: + return CreateAccessTokenReply( + token = '' + ) + else: + return CreateAccessTokenReply( + ) + """ + + def testCreateAccessTokenReply(self): + """Test CreateAccessTokenReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_access_token_request.py b/koyeb/api_async/test/test_create_access_token_request.py new file mode 100644 index 00000000..11160eaa --- /dev/null +++ b/koyeb/api_async/test/test_create_access_token_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_access_token_request import CreateAccessTokenRequest + +class TestCreateAccessTokenRequest(unittest.TestCase): + """CreateAccessTokenRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateAccessTokenRequest: + """Test CreateAccessTokenRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateAccessTokenRequest` + """ + model = CreateAccessTokenRequest() + if include_optional: + return CreateAccessTokenRequest( + validity = '' + ) + else: + return CreateAccessTokenRequest( + ) + """ + + def testCreateAccessTokenRequest(self): + """Test CreateAccessTokenRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_account_request.py b/koyeb/api_async/test/test_create_account_request.py new file mode 100644 index 00000000..9ad7a870 --- /dev/null +++ b/koyeb/api_async/test/test_create_account_request.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_account_request import CreateAccountRequest + +class TestCreateAccountRequest(unittest.TestCase): + """CreateAccountRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateAccountRequest: + """Test CreateAccountRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateAccountRequest` + """ + model = CreateAccountRequest() + if include_optional: + return CreateAccountRequest( + email = '', + password = '', + name = '', + captcha = '' + ) + else: + return CreateAccountRequest( + email = '', + password = '', + ) + """ + + def testCreateAccountRequest(self): + """Test CreateAccountRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_app.py b/koyeb/api_async/test/test_create_app.py new file mode 100644 index 00000000..883c3e76 --- /dev/null +++ b/koyeb/api_async/test/test_create_app.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_app import CreateApp + +class TestCreateApp(unittest.TestCase): + """CreateApp unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateApp: + """Test CreateApp + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateApp` + """ + model = CreateApp() + if include_optional: + return CreateApp( + name = '', + life_cycle = koyeb.api_async.models.app_life_cycle.AppLifeCycle( + delete_when_empty = True, ), + project_id = '' + ) + else: + return CreateApp( + ) + """ + + def testCreateApp(self): + """Test CreateApp""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_app_reply.py b/koyeb/api_async/test/test_create_app_reply.py new file mode 100644 index 00000000..bcb87748 --- /dev/null +++ b/koyeb/api_async/test/test_create_app_reply.py @@ -0,0 +1,86 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_app_reply import CreateAppReply + +class TestCreateAppReply(unittest.TestCase): + """CreateAppReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateAppReply: + """Test CreateAppReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateAppReply` + """ + model = CreateAppReply() + if include_optional: + return CreateAppReply( + app = koyeb.api_async.models.app.App( + id = '', + name = '', + organization_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + paused_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resumed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'STARTING', + messages = [ + '' + ], + version = '', + domains = [ + koyeb.api_async.models.domain.Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '', ) + ], + life_cycle = koyeb.api_async.models.app_life_cycle.AppLifeCycle( + delete_when_empty = True, ), ) + ) + else: + return CreateAppReply( + ) + """ + + def testCreateAppReply(self): + """Test CreateAppReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_archive.py b/koyeb/api_async/test/test_create_archive.py new file mode 100644 index 00000000..e5b2d8ad --- /dev/null +++ b/koyeb/api_async/test/test_create_archive.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_archive import CreateArchive + +class TestCreateArchive(unittest.TestCase): + """CreateArchive unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateArchive: + """Test CreateArchive + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateArchive` + """ + model = CreateArchive() + if include_optional: + return CreateArchive( + size = '', + project_id = '' + ) + else: + return CreateArchive( + ) + """ + + def testCreateArchive(self): + """Test CreateArchive""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_archive_reply.py b/koyeb/api_async/test/test_create_archive_reply.py new file mode 100644 index 00000000..2eb606e7 --- /dev/null +++ b/koyeb/api_async/test/test_create_archive_reply.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_archive_reply import CreateArchiveReply + +class TestCreateArchiveReply(unittest.TestCase): + """CreateArchiveReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateArchiveReply: + """Test CreateArchiveReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateArchiveReply` + """ + model = CreateArchiveReply() + if include_optional: + return CreateArchiveReply( + archive = koyeb.api_async.models.archive.Archive( + id = '', + organization_id = '', + upload_url = '', + size = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ) + else: + return CreateArchiveReply( + ) + """ + + def testCreateArchiveReply(self): + """Test CreateArchiveReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_budget_reply.py b/koyeb/api_async/test/test_create_budget_reply.py new file mode 100644 index 00000000..affe757e --- /dev/null +++ b/koyeb/api_async/test/test_create_budget_reply.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_budget_reply import CreateBudgetReply + +class TestCreateBudgetReply(unittest.TestCase): + """CreateBudgetReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateBudgetReply: + """Test CreateBudgetReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateBudgetReply` + """ + model = CreateBudgetReply() + if include_optional: + return CreateBudgetReply( + budget = koyeb.api_async.models.budget.Budget( + amount = '', + thresholds = [ + '' + ], ) + ) + else: + return CreateBudgetReply( + ) + """ + + def testCreateBudgetReply(self): + """Test CreateBudgetReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_compose.py b/koyeb/api_async/test/test_create_compose.py new file mode 100644 index 00000000..bd81a3d0 --- /dev/null +++ b/koyeb/api_async/test/test_create_compose.py @@ -0,0 +1,202 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_compose import CreateCompose + +class TestCreateCompose(unittest.TestCase): + """CreateCompose unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateCompose: + """Test CreateCompose + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateCompose` + """ + model = CreateCompose() + if include_optional: + return CreateCompose( + app = koyeb.api_async.models.create_app.CreateApp( + name = '', + life_cycle = koyeb.api_async.models.app_life_cycle.AppLifeCycle( + delete_when_empty = True, ), + project_id = '', ), + services = [ + koyeb.api_async.models.create_service.CreateService( + app_id = '', + definition = koyeb.api_async.models.deployment_definition.DeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.deployment_route.DeploymentRoute( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.deployment_port.DeploymentPort( + port = 56, + protocol = '', ) + ], + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port.DeploymentProxyPort( + port = 56, + protocol = 'tcp', ) + ], + env = [ + koyeb.api_async.models.deployment_env.DeploymentEnv( + scopes = [ + '' + ], + key = '', + value = '', + secret = '', ) + ], + regions = [ + '' + ], + scalings = [ + koyeb.api_async.models.deployment_scaling.DeploymentScaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ) + ], + instance_types = [ + koyeb.api_async.models.deployment_instance_type.DeploymentInstanceType() + ], + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.deployment_volume.DeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), ), + database = koyeb.api_async.models.database_source.DatabaseSource( + neon_postgres = koyeb.api_async.models.neon_postgres_database.NeonPostgresDatabase( + pg_version = 56, + region = '', + instance_type = '', + roles = [ + koyeb.api_async.models.neon_postgres_database/neon_role.NeonPostgresDatabase.NeonRole( + name = '', + secret = '', ) + ], + databases = [ + koyeb.api_async.models.neon_postgres_database/neon_database.NeonPostgresDatabase.NeonDatabase( + name = '', + owner = '', ) + ], ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', ), ), + life_cycle = koyeb.api_async.models.service_life_cycle.ServiceLifeCycle( + delete_after_sleep = 56, + delete_after_create = 56, ), + project_id = '', ) + ] + ) + else: + return CreateCompose( + ) + """ + + def testCreateCompose(self): + """Test CreateCompose""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_credential.py b/koyeb/api_async/test/test_create_credential.py new file mode 100644 index 00000000..d77d8d45 --- /dev/null +++ b/koyeb/api_async/test/test_create_credential.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_credential import CreateCredential + +class TestCreateCredential(unittest.TestCase): + """CreateCredential unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateCredential: + """Test CreateCredential + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateCredential` + """ + model = CreateCredential() + if include_optional: + return CreateCredential( + name = '', + description = '', + type = 'INVALID', + organization_id = '' + ) + else: + return CreateCredential( + ) + """ + + def testCreateCredential(self): + """Test CreateCredential""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_credential_reply.py b/koyeb/api_async/test/test_create_credential_reply.py new file mode 100644 index 00000000..721ecc5f --- /dev/null +++ b/koyeb/api_async/test/test_create_credential_reply.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_credential_reply import CreateCredentialReply + +class TestCreateCredentialReply(unittest.TestCase): + """CreateCredentialReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateCredentialReply: + """Test CreateCredentialReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateCredentialReply` + """ + model = CreateCredentialReply() + if include_optional: + return CreateCredentialReply( + credential = koyeb.api_async.models.credential.Credential( + id = '', + type = 'INVALID', + name = '', + token = '', + description = '', + user_id = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ) + else: + return CreateCredentialReply( + ) + """ + + def testCreateCredentialReply(self): + """Test CreateCredentialReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_domain.py b/koyeb/api_async/test/test_create_domain.py new file mode 100644 index 00000000..8c41b292 --- /dev/null +++ b/koyeb/api_async/test/test_create_domain.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_domain import CreateDomain + +class TestCreateDomain(unittest.TestCase): + """CreateDomain unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateDomain: + """Test CreateDomain + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateDomain` + """ + model = CreateDomain() + if include_optional: + return CreateDomain( + name = '', + type = 'AUTOASSIGNED', + app_id = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '' + ) + else: + return CreateDomain( + ) + """ + + def testCreateDomain(self): + """Test CreateDomain""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_domain_reply.py b/koyeb/api_async/test/test_create_domain_reply.py new file mode 100644 index 00000000..85ae4f0e --- /dev/null +++ b/koyeb/api_async/test/test_create_domain_reply.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_domain_reply import CreateDomainReply + +class TestCreateDomainReply(unittest.TestCase): + """CreateDomainReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateDomainReply: + """Test CreateDomainReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateDomainReply` + """ + model = CreateDomainReply() + if include_optional: + return CreateDomainReply( + domain = koyeb.api_async.models.domain.Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'PENDING', + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + messages = [ + '' + ], + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '', ) + ) + else: + return CreateDomainReply( + ) + """ + + def testCreateDomainReply(self): + """Test CreateDomainReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_organization_invitation_reply.py b/koyeb/api_async/test/test_create_organization_invitation_reply.py new file mode 100644 index 00000000..ea08021f --- /dev/null +++ b/koyeb/api_async/test/test_create_organization_invitation_reply.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_organization_invitation_reply import CreateOrganizationInvitationReply + +class TestCreateOrganizationInvitationReply(unittest.TestCase): + """CreateOrganizationInvitationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateOrganizationInvitationReply: + """Test CreateOrganizationInvitationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateOrganizationInvitationReply` + """ + model = CreateOrganizationInvitationReply() + if include_optional: + return CreateOrganizationInvitationReply( + invitation = koyeb.api_async.models.organization_invitation.OrganizationInvitation( + id = '', + email = '', + role = 'INVALID', + status = 'INVALID', + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + external_id = '', ), + invitee_id = '', + invitee = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + inviter_id = '', + inviter = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), ) + ) + else: + return CreateOrganizationInvitationReply( + ) + """ + + def testCreateOrganizationInvitationReply(self): + """Test CreateOrganizationInvitationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_organization_invitation_request.py b/koyeb/api_async/test/test_create_organization_invitation_request.py new file mode 100644 index 00000000..3a3ba7ee --- /dev/null +++ b/koyeb/api_async/test/test_create_organization_invitation_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_organization_invitation_request import CreateOrganizationInvitationRequest + +class TestCreateOrganizationInvitationRequest(unittest.TestCase): + """CreateOrganizationInvitationRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateOrganizationInvitationRequest: + """Test CreateOrganizationInvitationRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateOrganizationInvitationRequest` + """ + model = CreateOrganizationInvitationRequest() + if include_optional: + return CreateOrganizationInvitationRequest( + email = '' + ) + else: + return CreateOrganizationInvitationRequest( + ) + """ + + def testCreateOrganizationInvitationRequest(self): + """Test CreateOrganizationInvitationRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_organization_reply.py b/koyeb/api_async/test/test_create_organization_reply.py new file mode 100644 index 00000000..968f835e --- /dev/null +++ b/koyeb/api_async/test/test_create_organization_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_organization_reply import CreateOrganizationReply + +class TestCreateOrganizationReply(unittest.TestCase): + """CreateOrganizationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateOrganizationReply: + """Test CreateOrganizationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateOrganizationReply` + """ + model = CreateOrganizationReply() + if include_optional: + return CreateOrganizationReply( + organization = koyeb.api_async.models.represent_an_organization.Represent an Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '', ) + ) + else: + return CreateOrganizationReply( + ) + """ + + def testCreateOrganizationReply(self): + """Test CreateOrganizationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_organization_request.py b/koyeb/api_async/test/test_create_organization_request.py new file mode 100644 index 00000000..6551ea4c --- /dev/null +++ b/koyeb/api_async/test/test_create_organization_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_organization_request import CreateOrganizationRequest + +class TestCreateOrganizationRequest(unittest.TestCase): + """CreateOrganizationRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateOrganizationRequest: + """Test CreateOrganizationRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateOrganizationRequest` + """ + model = CreateOrganizationRequest() + if include_optional: + return CreateOrganizationRequest( + name = '' + ) + else: + return CreateOrganizationRequest( + ) + """ + + def testCreateOrganizationRequest(self): + """Test CreateOrganizationRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_payment_authorization_reply.py b/koyeb/api_async/test/test_create_payment_authorization_reply.py new file mode 100644 index 00000000..2d67a15a --- /dev/null +++ b/koyeb/api_async/test/test_create_payment_authorization_reply.py @@ -0,0 +1,74 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_payment_authorization_reply import CreatePaymentAuthorizationReply + +class TestCreatePaymentAuthorizationReply(unittest.TestCase): + """CreatePaymentAuthorizationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreatePaymentAuthorizationReply: + """Test CreatePaymentAuthorizationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreatePaymentAuthorizationReply` + """ + model = CreatePaymentAuthorizationReply() + if include_optional: + return CreatePaymentAuthorizationReply( + payment_method = koyeb.api_async.models.payment_method.PaymentMethod( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + version = '', + organization_id = '', + type = '', + provider = '', + status = 'INVALID', + messages = [ + '' + ], + stripe_payment_method_id = '', + authorization_verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + authorization_canceled_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + authorization_stripe_payment_intent_id = '', + authorization_stripe_payment_intent_client_secret = '', + card_brand = '', + card_country = '', + card_funding = '', + card_fingerprint = '', + card_last_digits = '', + card_expiration_month = 56, + card_expiration_year = 56, ) + ) + else: + return CreatePaymentAuthorizationReply( + ) + """ + + def testCreatePaymentAuthorizationReply(self): + """Test CreatePaymentAuthorizationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_persistent_volume_reply.py b/koyeb/api_async/test/test_create_persistent_volume_reply.py new file mode 100644 index 00000000..c8e773fd --- /dev/null +++ b/koyeb/api_async/test/test_create_persistent_volume_reply.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_persistent_volume_reply import CreatePersistentVolumeReply + +class TestCreatePersistentVolumeReply(unittest.TestCase): + """CreatePersistentVolumeReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreatePersistentVolumeReply: + """Test CreatePersistentVolumeReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreatePersistentVolumeReply` + """ + model = CreatePersistentVolumeReply() + if include_optional: + return CreatePersistentVolumeReply( + volume = koyeb.api_async.models.the_object_that_represent_a_volume_to_handle_persistency_for_deployments.The object that represent a volume to handle persistency for deployments( + id = '', + name = '', + snapshot_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + service_id = '', + region = '', + read_only = True, + max_size = 56, + cur_size = 56, + status = 'PERSISTENT_VOLUME_STATUS_INVALID', + backing_store = 'PERSISTENT_VOLUME_BACKING_STORE_INVALID', ) + ) + else: + return CreatePersistentVolumeReply( + ) + """ + + def testCreatePersistentVolumeReply(self): + """Test CreatePersistentVolumeReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_persistent_volume_request.py b/koyeb/api_async/test/test_create_persistent_volume_request.py new file mode 100644 index 00000000..8d5ac847 --- /dev/null +++ b/koyeb/api_async/test/test_create_persistent_volume_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_persistent_volume_request import CreatePersistentVolumeRequest + +class TestCreatePersistentVolumeRequest(unittest.TestCase): + """CreatePersistentVolumeRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreatePersistentVolumeRequest: + """Test CreatePersistentVolumeRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreatePersistentVolumeRequest` + """ + model = CreatePersistentVolumeRequest() + if include_optional: + return CreatePersistentVolumeRequest( + volume_type = 'PERSISTENT_VOLUME_BACKING_STORE_INVALID', + name = '', + region = '', + read_only = True, + max_size = 56, + snapshot_id = '', + project_id = '' + ) + else: + return CreatePersistentVolumeRequest( + ) + """ + + def testCreatePersistentVolumeRequest(self): + """Test CreatePersistentVolumeRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_project.py b/koyeb/api_async/test/test_create_project.py new file mode 100644 index 00000000..594ee748 --- /dev/null +++ b/koyeb/api_async/test/test_create_project.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_project import CreateProject + +class TestCreateProject(unittest.TestCase): + """CreateProject unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateProject: + """Test CreateProject + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateProject` + """ + model = CreateProject() + if include_optional: + return CreateProject( + name = '', + description = '' + ) + else: + return CreateProject( + ) + """ + + def testCreateProject(self): + """Test CreateProject""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_project_reply.py b/koyeb/api_async/test/test_create_project_reply.py new file mode 100644 index 00000000..d4a63820 --- /dev/null +++ b/koyeb/api_async/test/test_create_project_reply.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_project_reply import CreateProjectReply + +class TestCreateProjectReply(unittest.TestCase): + """CreateProjectReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateProjectReply: + """Test CreateProjectReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateProjectReply` + """ + model = CreateProjectReply() + if include_optional: + return CreateProjectReply( + project = koyeb.api_async.models.project.Project( + id = '', + name = '', + description = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + service_count = '', ) + ) + else: + return CreateProjectReply( + ) + """ + + def testCreateProjectReply(self): + """Test CreateProjectReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_secret.py b/koyeb/api_async/test/test_create_secret.py new file mode 100644 index 00000000..3f75cb3b --- /dev/null +++ b/koyeb/api_async/test/test_create_secret.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_secret import CreateSecret + +class TestCreateSecret(unittest.TestCase): + """CreateSecret unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateSecret: + """Test CreateSecret + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateSecret` + """ + model = CreateSecret() + if include_optional: + return CreateSecret( + name = '', + type = 'SIMPLE', + value = '', + docker_hub_registry = koyeb.api_async.models.docker_hub_registry_configuration.DockerHubRegistryConfiguration( + username = '', + password = '', ), + private_registry = koyeb.api_async.models.private_registry_configuration.PrivateRegistryConfiguration( + username = '', + password = '', + url = '', ), + digital_ocean_registry = koyeb.api_async.models.digital_ocean_registry_configuration.DigitalOceanRegistryConfiguration( + username = '', + password = '', ), + github_registry = koyeb.api_async.models.git_hub_registry_configuration.GitHubRegistryConfiguration( + username = '', + password = '', ), + gitlab_registry = koyeb.api_async.models.git_lab_registry_configuration.GitLabRegistryConfiguration( + username = '', + password = '', ), + gcp_container_registry = koyeb.api_async.models.gcp_container_registry_configuration.GCPContainerRegistryConfiguration( + keyfile_content = '', + url = '', ), + azure_container_registry = koyeb.api_async.models.azure_container_registry_configuration.AzureContainerRegistryConfiguration( + registry_name = '', + username = '', + password = '', ), + project_id = '' + ) + else: + return CreateSecret( + ) + """ + + def testCreateSecret(self): + """Test CreateSecret""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_secret_reply.py b/koyeb/api_async/test/test_create_secret_reply.py new file mode 100644 index 00000000..01ba6aff --- /dev/null +++ b/koyeb/api_async/test/test_create_secret_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_secret_reply import CreateSecretReply + +class TestCreateSecretReply(unittest.TestCase): + """CreateSecretReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateSecretReply: + """Test CreateSecretReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateSecretReply` + """ + model = CreateSecretReply() + if include_optional: + return CreateSecretReply( + secret = koyeb.api_async.models.secret.Secret( + id = '', + name = '', + organization_id = '', + type = 'SIMPLE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + project_id = '', + value = '', + docker_hub_registry = koyeb.api_async.models.docker_hub_registry_configuration.DockerHubRegistryConfiguration( + username = '', + password = '', ), + private_registry = koyeb.api_async.models.private_registry_configuration.PrivateRegistryConfiguration( + username = '', + password = '', + url = '', ), + digital_ocean_registry = koyeb.api_async.models.digital_ocean_registry_configuration.DigitalOceanRegistryConfiguration( + username = '', + password = '', ), + github_registry = koyeb.api_async.models.git_hub_registry_configuration.GitHubRegistryConfiguration( + username = '', + password = '', ), + gitlab_registry = koyeb.api_async.models.git_lab_registry_configuration.GitLabRegistryConfiguration( + username = '', + password = '', ), + gcp_container_registry = koyeb.api_async.models.gcp_container_registry_configuration.GCPContainerRegistryConfiguration( + keyfile_content = '', + url = '', ), + azure_container_registry = koyeb.api_async.models.azure_container_registry_configuration.AzureContainerRegistryConfiguration( + registry_name = '', + username = '', + password = '', ), + database_role_password = koyeb.api_async.models.database_role_password.DatabaseRolePassword( + username = '', + password = '', ), ) + ) + else: + return CreateSecretReply( + ) + """ + + def testCreateSecretReply(self): + """Test CreateSecretReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_service.py b/koyeb/api_async/test/test_create_service.py new file mode 100644 index 00000000..1f7b1bd2 --- /dev/null +++ b/koyeb/api_async/test/test_create_service.py @@ -0,0 +1,194 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_service import CreateService + +class TestCreateService(unittest.TestCase): + """CreateService unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateService: + """Test CreateService + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateService` + """ + model = CreateService() + if include_optional: + return CreateService( + app_id = '', + definition = koyeb.api_async.models.deployment_definition.DeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.deployment_route.DeploymentRoute( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.deployment_port.DeploymentPort( + port = 56, + protocol = '', ) + ], + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port.DeploymentProxyPort( + port = 56, + protocol = 'tcp', ) + ], + env = [ + koyeb.api_async.models.deployment_env.DeploymentEnv( + scopes = [ + '' + ], + key = '', + value = '', + secret = '', ) + ], + regions = [ + '' + ], + scalings = [ + koyeb.api_async.models.deployment_scaling.DeploymentScaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ) + ], + instance_types = [ + koyeb.api_async.models.deployment_instance_type.DeploymentInstanceType() + ], + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.deployment_volume.DeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), ), + database = koyeb.api_async.models.database_source.DatabaseSource( + neon_postgres = koyeb.api_async.models.neon_postgres_database.NeonPostgresDatabase( + pg_version = 56, + region = '', + instance_type = '', + roles = [ + koyeb.api_async.models.neon_postgres_database/neon_role.NeonPostgresDatabase.NeonRole( + name = '', + secret = '', ) + ], + databases = [ + koyeb.api_async.models.neon_postgres_database/neon_database.NeonPostgresDatabase.NeonDatabase( + name = '', + owner = '', ) + ], ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', ), ), + life_cycle = koyeb.api_async.models.service_life_cycle.ServiceLifeCycle( + delete_after_sleep = 56, + delete_after_create = 56, ), + project_id = '' + ) + else: + return CreateService( + ) + """ + + def testCreateService(self): + """Test CreateService""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_service_reply.py b/koyeb/api_async/test/test_create_service_reply.py new file mode 100644 index 00000000..0cf74d0a --- /dev/null +++ b/koyeb/api_async/test/test_create_service_reply.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_service_reply import CreateServiceReply + +class TestCreateServiceReply(unittest.TestCase): + """CreateServiceReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateServiceReply: + """Test CreateServiceReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateServiceReply` + """ + model = CreateServiceReply() + if include_optional: + return CreateServiceReply( + service = koyeb.api_async.models.service.Service( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + paused_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resumed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + name = '', + type = 'INVALID_TYPE', + organization_id = '', + app_id = '', + status = 'STARTING', + messages = [ + '' + ], + version = '', + active_deployment_id = '', + latest_deployment_id = '', + last_provisioned_deployment_id = '', + state = koyeb.api_async.models.service_state.ServiceState( + desired_deployment = koyeb.api_async.models.desired_deployment.DesiredDeployment( + groups = [ + koyeb.api_async.models.desired_deployment/group.DesiredDeployment.Group( + name = '', + deployment_ids = [ + '' + ], ) + ], ), + auto_release = koyeb.api_async.models.auto_release.AutoRelease(), ), + life_cycle = koyeb.api_async.models.service_life_cycle.ServiceLifeCycle( + delete_after_sleep = 56, + delete_after_create = 56, ), ) + ) + else: + return CreateServiceReply( + ) + """ + + def testCreateServiceReply(self): + """Test CreateServiceReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_snapshot_reply.py b/koyeb/api_async/test/test_create_snapshot_reply.py new file mode 100644 index 00000000..0682b8df --- /dev/null +++ b/koyeb/api_async/test/test_create_snapshot_reply.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_snapshot_reply import CreateSnapshotReply + +class TestCreateSnapshotReply(unittest.TestCase): + """CreateSnapshotReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateSnapshotReply: + """Test CreateSnapshotReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateSnapshotReply` + """ + model = CreateSnapshotReply() + if include_optional: + return CreateSnapshotReply( + snapshot = koyeb.api_async.models.snapshot.Snapshot( + id = '', + name = '', + size = 56, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + parent_volume_id = '', + region = '', + status = 'SNAPSHOT_STATUS_INVALID', + type = 'SNAPSHOT_TYPE_INVALID', ) + ) + else: + return CreateSnapshotReply( + ) + """ + + def testCreateSnapshotReply(self): + """Test CreateSnapshotReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_snapshot_request.py b/koyeb/api_async/test/test_create_snapshot_request.py new file mode 100644 index 00000000..88818031 --- /dev/null +++ b/koyeb/api_async/test/test_create_snapshot_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_snapshot_request import CreateSnapshotRequest + +class TestCreateSnapshotRequest(unittest.TestCase): + """CreateSnapshotRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateSnapshotRequest: + """Test CreateSnapshotRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateSnapshotRequest` + """ + model = CreateSnapshotRequest() + if include_optional: + return CreateSnapshotRequest( + parent_volume_id = '', + name = '', + project_id = '' + ) + else: + return CreateSnapshotRequest( + ) + """ + + def testCreateSnapshotRequest(self): + """Test CreateSnapshotRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_create_stage_attempt_request.py b/koyeb/api_async/test/test_create_stage_attempt_request.py new file mode 100644 index 00000000..cfae6327 --- /dev/null +++ b/koyeb/api_async/test/test_create_stage_attempt_request.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.create_stage_attempt_request import CreateStageAttemptRequest + +class TestCreateStageAttemptRequest(unittest.TestCase): + """CreateStageAttemptRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CreateStageAttemptRequest: + """Test CreateStageAttemptRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CreateStageAttemptRequest` + """ + model = CreateStageAttemptRequest() + if include_optional: + return CreateStageAttemptRequest( + secret = '', + status = 'UNKNOWN', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + messages = [ + '' + ], + steps = [ + '' + ] + ) + else: + return CreateStageAttemptRequest( + ) + """ + + def testCreateStageAttemptRequest(self): + """Test CreateStageAttemptRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_credential.py b/koyeb/api_async/test/test_credential.py new file mode 100644 index 00000000..bd2afd9f --- /dev/null +++ b/koyeb/api_async/test/test_credential.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.credential import Credential + +class TestCredential(unittest.TestCase): + """Credential unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Credential: + """Test Credential + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Credential` + """ + model = Credential() + if include_optional: + return Credential( + id = '', + type = 'INVALID', + name = '', + token = '', + description = '', + user_id = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return Credential( + ) + """ + + def testCredential(self): + """Test Credential""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_credential_type.py b/koyeb/api_async/test/test_credential_type.py new file mode 100644 index 00000000..d41bfb1a --- /dev/null +++ b/koyeb/api_async/test/test_credential_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.credential_type import CredentialType + +class TestCredentialType(unittest.TestCase): + """CredentialType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCredentialType(self): + """Test CredentialType""" + # inst = CredentialType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_credentials_api.py b/koyeb/api_async/test/test_credentials_api.py new file mode 100644 index 00000000..38c550cc --- /dev/null +++ b/koyeb/api_async/test/test_credentials_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.credentials_api import CredentialsApi + + +class TestCredentialsApi(unittest.IsolatedAsyncioTestCase): + """CredentialsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = CredentialsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_credential(self) -> None: + """Test case for create_credential + + Create credential + """ + pass + + async def test_delete_credential(self) -> None: + """Test case for delete_credential + + Delete credential + """ + pass + + async def test_get_credential(self) -> None: + """Test case for get_credential + + Get credential + """ + pass + + async def test_list_credentials(self) -> None: + """Test case for list_credentials + + List credentials + """ + pass + + async def test_update_credential(self) -> None: + """Test case for update_credential + + Update credential + """ + pass + + async def test_update_credential2(self) -> None: + """Test case for update_credential2 + + Update credential + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_database_deployment_metadata.py b/koyeb/api_async/test/test_database_deployment_metadata.py new file mode 100644 index 00000000..154625a6 --- /dev/null +++ b/koyeb/api_async/test/test_database_deployment_metadata.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.database_deployment_metadata import DatabaseDeploymentMetadata + +class TestDatabaseDeploymentMetadata(unittest.TestCase): + """DatabaseDeploymentMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DatabaseDeploymentMetadata: + """Test DatabaseDeploymentMetadata + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DatabaseDeploymentMetadata` + """ + model = DatabaseDeploymentMetadata() + if include_optional: + return DatabaseDeploymentMetadata( + neon_postgres = koyeb.api_async.models.neon_postgres_database_deployment_metadata.NeonPostgresDatabaseDeploymentMetadata( + reset_role_passwords = [ + '' + ], ) + ) + else: + return DatabaseDeploymentMetadata( + ) + """ + + def testDatabaseDeploymentMetadata(self): + """Test DatabaseDeploymentMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_database_role_password.py b/koyeb/api_async/test/test_database_role_password.py new file mode 100644 index 00000000..cb646cf0 --- /dev/null +++ b/koyeb/api_async/test/test_database_role_password.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.database_role_password import DatabaseRolePassword + +class TestDatabaseRolePassword(unittest.TestCase): + """DatabaseRolePassword unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DatabaseRolePassword: + """Test DatabaseRolePassword + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DatabaseRolePassword` + """ + model = DatabaseRolePassword() + if include_optional: + return DatabaseRolePassword( + username = '', + password = '' + ) + else: + return DatabaseRolePassword( + ) + """ + + def testDatabaseRolePassword(self): + """Test DatabaseRolePassword""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_database_source.py b/koyeb/api_async/test/test_database_source.py new file mode 100644 index 00000000..4ded8910 --- /dev/null +++ b/koyeb/api_async/test/test_database_source.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.database_source import DatabaseSource + +class TestDatabaseSource(unittest.TestCase): + """DatabaseSource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DatabaseSource: + """Test DatabaseSource + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DatabaseSource` + """ + model = DatabaseSource() + if include_optional: + return DatabaseSource( + neon_postgres = koyeb.api_async.models.neon_postgres_database.NeonPostgresDatabase( + pg_version = 56, + region = '', + instance_type = '', + roles = [ + koyeb.api_async.models.neon_postgres_database/neon_role.NeonPostgresDatabase.NeonRole( + name = '', + secret = '', ) + ], + databases = [ + koyeb.api_async.models.neon_postgres_database/neon_database.NeonPostgresDatabase.NeonDatabase( + name = '', + owner = '', ) + ], ) + ) + else: + return DatabaseSource( + ) + """ + + def testDatabaseSource(self): + """Test DatabaseSource""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_database_usage.py b/koyeb/api_async/test/test_database_usage.py new file mode 100644 index 00000000..e6975b7b --- /dev/null +++ b/koyeb/api_async/test/test_database_usage.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.database_usage import DatabaseUsage + +class TestDatabaseUsage(unittest.TestCase): + """DatabaseUsage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DatabaseUsage: + """Test DatabaseUsage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DatabaseUsage` + """ + model = DatabaseUsage() + if include_optional: + return DatabaseUsage( + service_id = '', + service_name = '', + compute_time_seconds = 56, + data_storage_megabytes_hours = 56 + ) + else: + return DatabaseUsage( + ) + """ + + def testDatabaseUsage(self): + """Test DatabaseUsage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_database_usage_details.py b/koyeb/api_async/test/test_database_usage_details.py new file mode 100644 index 00000000..ab566f9c --- /dev/null +++ b/koyeb/api_async/test/test_database_usage_details.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.database_usage_details import DatabaseUsageDetails + +class TestDatabaseUsageDetails(unittest.TestCase): + """DatabaseUsageDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DatabaseUsageDetails: + """Test DatabaseUsageDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DatabaseUsageDetails` + """ + model = DatabaseUsageDetails() + if include_optional: + return DatabaseUsageDetails( + organization_id = '', + app_id = '', + app_name = '', + service_id = '', + service_name = '', + compute_time_seconds = 56, + data_storage_megabytes_hour = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return DatabaseUsageDetails( + ) + """ + + def testDatabaseUsageDetails(self): + """Test DatabaseUsageDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_datacenter_list_item.py b/koyeb/api_async/test/test_datacenter_list_item.py new file mode 100644 index 00000000..c75bf9bc --- /dev/null +++ b/koyeb/api_async/test/test_datacenter_list_item.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.datacenter_list_item import DatacenterListItem + +class TestDatacenterListItem(unittest.TestCase): + """DatacenterListItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DatacenterListItem: + """Test DatacenterListItem + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DatacenterListItem` + """ + model = DatacenterListItem() + if include_optional: + return DatacenterListItem( + id = '', + region_id = '', + domain = '', + coordinates = [ + '' + ], + use_gpu = True, + regions = [ + '' + ] + ) + else: + return DatacenterListItem( + ) + """ + + def testDatacenterListItem(self): + """Test DatacenterListItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deactivate_organization_reply.py b/koyeb/api_async/test/test_deactivate_organization_reply.py new file mode 100644 index 00000000..70493df6 --- /dev/null +++ b/koyeb/api_async/test/test_deactivate_organization_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deactivate_organization_reply import DeactivateOrganizationReply + +class TestDeactivateOrganizationReply(unittest.TestCase): + """DeactivateOrganizationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeactivateOrganizationReply: + """Test DeactivateOrganizationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeactivateOrganizationReply` + """ + model = DeactivateOrganizationReply() + if include_optional: + return DeactivateOrganizationReply( + organization = koyeb.api_async.models.represent_an_organization.Represent an Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '', ) + ) + else: + return DeactivateOrganizationReply( + ) + """ + + def testDeactivateOrganizationReply(self): + """Test DeactivateOrganizationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deactivate_organization_request.py b/koyeb/api_async/test/test_deactivate_organization_request.py new file mode 100644 index 00000000..dcf4b082 --- /dev/null +++ b/koyeb/api_async/test/test_deactivate_organization_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deactivate_organization_request import DeactivateOrganizationRequest + +class TestDeactivateOrganizationRequest(unittest.TestCase): + """DeactivateOrganizationRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeactivateOrganizationRequest: + """Test DeactivateOrganizationRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeactivateOrganizationRequest` + """ + model = DeactivateOrganizationRequest() + if include_optional: + return DeactivateOrganizationRequest( + skip_confirmation = True + ) + else: + return DeactivateOrganizationRequest( + ) + """ + + def testDeactivateOrganizationRequest(self): + """Test DeactivateOrganizationRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_declare_stage_progress_request.py b/koyeb/api_async/test/test_declare_stage_progress_request.py new file mode 100644 index 00000000..7d90539b --- /dev/null +++ b/koyeb/api_async/test/test_declare_stage_progress_request.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.declare_stage_progress_request import DeclareStageProgressRequest + +class TestDeclareStageProgressRequest(unittest.TestCase): + """DeclareStageProgressRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeclareStageProgressRequest: + """Test DeclareStageProgressRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeclareStageProgressRequest` + """ + model = DeclareStageProgressRequest() + if include_optional: + return DeclareStageProgressRequest( + secret = '', + status = 'UNKNOWN', + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + messages = [ + '' + ], + image_pushed = True, + internal_failure = True, + retryable_failure = True + ) + else: + return DeclareStageProgressRequest( + ) + """ + + def testDeclareStageProgressRequest(self): + """Test DeclareStageProgressRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_declare_step_progress_request.py b/koyeb/api_async/test/test_declare_step_progress_request.py new file mode 100644 index 00000000..56b3abeb --- /dev/null +++ b/koyeb/api_async/test/test_declare_step_progress_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.declare_step_progress_request import DeclareStepProgressRequest + +class TestDeclareStepProgressRequest(unittest.TestCase): + """DeclareStepProgressRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeclareStepProgressRequest: + """Test DeclareStepProgressRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeclareStepProgressRequest` + """ + model = DeclareStepProgressRequest() + if include_optional: + return DeclareStepProgressRequest( + secret = '', + status = 'UNKNOWN', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + messages = [ + '' + ] + ) + else: + return DeclareStepProgressRequest( + ) + """ + + def testDeclareStepProgressRequest(self): + """Test DeclareStepProgressRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_decline_organization_invitation_reply.py b/koyeb/api_async/test/test_decline_organization_invitation_reply.py new file mode 100644 index 00000000..e6d070be --- /dev/null +++ b/koyeb/api_async/test/test_decline_organization_invitation_reply.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.decline_organization_invitation_reply import DeclineOrganizationInvitationReply + +class TestDeclineOrganizationInvitationReply(unittest.TestCase): + """DeclineOrganizationInvitationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeclineOrganizationInvitationReply: + """Test DeclineOrganizationInvitationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeclineOrganizationInvitationReply` + """ + model = DeclineOrganizationInvitationReply() + if include_optional: + return DeclineOrganizationInvitationReply( + invitation = koyeb.api_async.models.organization_invitation.OrganizationInvitation( + id = '', + email = '', + role = 'INVALID', + status = 'INVALID', + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + external_id = '', ), + invitee_id = '', + invitee = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + inviter_id = '', + inviter = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), ) + ) + else: + return DeclineOrganizationInvitationReply( + ) + """ + + def testDeclineOrganizationInvitationReply(self): + """Test DeclineOrganizationInvitationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_delete_organization_reply.py b/koyeb/api_async/test/test_delete_organization_reply.py new file mode 100644 index 00000000..45e7f1bd --- /dev/null +++ b/koyeb/api_async/test/test_delete_organization_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.delete_organization_reply import DeleteOrganizationReply + +class TestDeleteOrganizationReply(unittest.TestCase): + """DeleteOrganizationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteOrganizationReply: + """Test DeleteOrganizationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteOrganizationReply` + """ + model = DeleteOrganizationReply() + if include_optional: + return DeleteOrganizationReply( + organization = koyeb.api_async.models.represent_an_organization.Represent an Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '', ) + ) + else: + return DeleteOrganizationReply( + ) + """ + + def testDeleteOrganizationReply(self): + """Test DeleteOrganizationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_delete_persistent_volume_reply.py b/koyeb/api_async/test/test_delete_persistent_volume_reply.py new file mode 100644 index 00000000..54002c7f --- /dev/null +++ b/koyeb/api_async/test/test_delete_persistent_volume_reply.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.delete_persistent_volume_reply import DeletePersistentVolumeReply + +class TestDeletePersistentVolumeReply(unittest.TestCase): + """DeletePersistentVolumeReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeletePersistentVolumeReply: + """Test DeletePersistentVolumeReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeletePersistentVolumeReply` + """ + model = DeletePersistentVolumeReply() + if include_optional: + return DeletePersistentVolumeReply( + volume = koyeb.api_async.models.the_object_that_represent_a_volume_to_handle_persistency_for_deployments.The object that represent a volume to handle persistency for deployments( + id = '', + name = '', + snapshot_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + service_id = '', + region = '', + read_only = True, + max_size = 56, + cur_size = 56, + status = 'PERSISTENT_VOLUME_STATUS_INVALID', + backing_store = 'PERSISTENT_VOLUME_BACKING_STORE_INVALID', ) + ) + else: + return DeletePersistentVolumeReply( + ) + """ + + def testDeletePersistentVolumeReply(self): + """Test DeletePersistentVolumeReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_delete_snapshot_reply.py b/koyeb/api_async/test/test_delete_snapshot_reply.py new file mode 100644 index 00000000..97d7a0e8 --- /dev/null +++ b/koyeb/api_async/test/test_delete_snapshot_reply.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.delete_snapshot_reply import DeleteSnapshotReply + +class TestDeleteSnapshotReply(unittest.TestCase): + """DeleteSnapshotReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteSnapshotReply: + """Test DeleteSnapshotReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteSnapshotReply` + """ + model = DeleteSnapshotReply() + if include_optional: + return DeleteSnapshotReply( + snapshot = koyeb.api_async.models.snapshot.Snapshot( + id = '', + name = '', + size = 56, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + parent_volume_id = '', + region = '', + status = 'SNAPSHOT_STATUS_INVALID', + type = 'SNAPSHOT_TYPE_INVALID', ) + ) + else: + return DeleteSnapshotReply( + ) + """ + + def testDeleteSnapshotReply(self): + """Test DeleteSnapshotReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_delete_user_reply.py b/koyeb/api_async/test/test_delete_user_reply.py new file mode 100644 index 00000000..384d5ef0 --- /dev/null +++ b/koyeb/api_async/test/test_delete_user_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.delete_user_reply import DeleteUserReply + +class TestDeleteUserReply(unittest.TestCase): + """DeleteUserReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeleteUserReply: + """Test DeleteUserReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeleteUserReply` + """ + model = DeleteUserReply() + if include_optional: + return DeleteUserReply( + user = {id=78352123-a06f-4ec2-81ed-27a056725385, email=john@snow.com, name=John Snow, avatar_url=https://www.gravatar.com/avatar/00000000000000000000000000000000, is_admin=false, is_test=true, two_factor_authentication=false, last_login=0001-01-01T00:00:00Z, last_login_id=10.1.1.1, updated_at=0001-01-01T00:00:00Z, created_at=0001-01-01T00:00:00Z, newsletter_subscribed=true, email_validated=true} + ) + else: + return DeleteUserReply( + ) + """ + + def testDeleteUserReply(self): + """Test DeleteUserReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment.py b/koyeb/api_async/test/test_deployment.py new file mode 100644 index 00000000..c4183342 --- /dev/null +++ b/koyeb/api_async/test/test_deployment.py @@ -0,0 +1,294 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment import Deployment + +class TestDeployment(unittest.TestCase): + """Deployment unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Deployment: + """Test Deployment + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Deployment` + """ + model = Deployment() + if include_optional: + return Deployment( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + allocated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + parent_id = '', + child_id = '', + status = 'PENDING', + metadata = koyeb.api_async.models.deployment_metadata.DeploymentMetadata( + trigger = koyeb.api_async.models.trigger_deployment_metadata.TriggerDeploymentMetadata( + type = 'UNKNOWN_TYPE', + actor = 'UNKNOWN_ACTOR', + git = koyeb.api_async.models.trigger_git_deployment_metadata.TriggerGitDeploymentMetadata( + provider = 'UNKNOWN', + repository = '', + branch = '', + sha = '', + message = '', + sender_username = '', + sender_avatar_url = '', + sender_profile_url = '', ), ), + database = koyeb.api_async.models.database_deployment_metadata.DatabaseDeploymentMetadata( + neon_postgres = koyeb.api_async.models.neon_postgres_database_deployment_metadata.NeonPostgresDatabaseDeploymentMetadata( + reset_role_passwords = [ + '' + ], ), ), + git = koyeb.api_async.models.git_deployment_metadata.GitDeploymentMetadata( + last_provisioned_deployment_id = '', + git_env = koyeb.api_async.models.git_env_deployment_metadata.GitEnvDeploymentMetadata( + sha = '', + commit_author = '', + commit_message = '', ), ), + archive = koyeb.api_async.models.archive_deployment_metadata.ArchiveDeploymentMetadata( + last_provisioned_deployment_id = '', ), + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port_metadata.DeploymentProxyPortMetadata( + host = '', + public_port = 56, + port = 56, + protocol = 'tcp', ) + ], + sandbox = koyeb.api_async.models.sandbox_metadata.SandboxMetadata( + public_url = '', + routing_key = '', ), ), + definition = koyeb.api_async.models.deployment_definition.DeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.deployment_route.DeploymentRoute( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.deployment_port.DeploymentPort( + port = 56, + protocol = '', ) + ], + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port.DeploymentProxyPort( + port = 56, + protocol = 'tcp', ) + ], + env = [ + koyeb.api_async.models.deployment_env.DeploymentEnv( + scopes = [ + '' + ], + key = '', + value = '', + secret = '', ) + ], + regions = [ + '' + ], + scalings = [ + koyeb.api_async.models.deployment_scaling.DeploymentScaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ) + ], + instance_types = [ + koyeb.api_async.models.deployment_instance_type.DeploymentInstanceType() + ], + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.deployment_volume.DeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), ), + database = koyeb.api_async.models.database_source.DatabaseSource( + neon_postgres = koyeb.api_async.models.neon_postgres_database.NeonPostgresDatabase( + pg_version = 56, + region = '', + instance_type = '', + roles = [ + koyeb.api_async.models.neon_postgres_database/neon_role.NeonPostgresDatabase.NeonRole( + name = '', + secret = '', ) + ], + databases = [ + koyeb.api_async.models.neon_postgres_database/neon_database.NeonPostgresDatabase.NeonDatabase( + name = '', + owner = '', ) + ], ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', ), ), + messages = [ + '' + ], + provisioning_info = koyeb.api_async.models.deployment_provisioning_info.DeploymentProvisioningInfo( + sha = '', + image = '', + stages = [ + koyeb.api_async.models.deployment_provisioning_info/stage.DeploymentProvisioningInfo.Stage( + name = '', + status = 'UNKNOWN', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + build_attempts = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt.DeploymentProvisioningInfo.Stage.BuildAttempt( + id = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + steps = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt/build_step.DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + image_pushed = True, + internal_failure = True, + retryable_failure = True, + wait_completion = True, ) + ], ) + ], ), + database_info = koyeb.api_async.models.deployment_database_info.DeploymentDatabaseInfo( + neon_postgres = koyeb.api_async.models.deployment_neon_postgres_database_info.DeploymentNeonPostgresDatabaseInfo( + active_time_seconds = '', + compute_time_seconds = '', + written_data_bytes = '', + data_transfer_bytes = '', + data_storage_bytes_hour = '', + server_host = '', + server_port = 56, + endpoint_state = '', + endpoint_last_active = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + default_branch_id = '', + default_branch_name = '', + default_branch_state = '', + default_branch_logical_size = '', + roles = [ + koyeb.api_async.models.deployment_neon_postgres_database_info_role.DeploymentNeonPostgresDatabaseInfoRole( + name = '', + secret_id = '', ) + ], ), ), + skip_build = True, + role = 'INVALID', + version = '', + deployment_group = '' + ) + else: + return Deployment( + ) + """ + + def testDeployment(self): + """Test Deployment""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_database_info.py b/koyeb/api_async/test/test_deployment_database_info.py new file mode 100644 index 00000000..ecf87bdf --- /dev/null +++ b/koyeb/api_async/test/test_deployment_database_info.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_database_info import DeploymentDatabaseInfo + +class TestDeploymentDatabaseInfo(unittest.TestCase): + """DeploymentDatabaseInfo unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentDatabaseInfo: + """Test DeploymentDatabaseInfo + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentDatabaseInfo` + """ + model = DeploymentDatabaseInfo() + if include_optional: + return DeploymentDatabaseInfo( + neon_postgres = koyeb.api_async.models.deployment_neon_postgres_database_info.DeploymentNeonPostgresDatabaseInfo( + active_time_seconds = '', + compute_time_seconds = '', + written_data_bytes = '', + data_transfer_bytes = '', + data_storage_bytes_hour = '', + server_host = '', + server_port = 56, + endpoint_state = '', + endpoint_last_active = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + default_branch_id = '', + default_branch_name = '', + default_branch_state = '', + default_branch_logical_size = '', + roles = [ + koyeb.api_async.models.deployment_neon_postgres_database_info_role.DeploymentNeonPostgresDatabaseInfoRole( + name = '', + secret_id = '', ) + ], ) + ) + else: + return DeploymentDatabaseInfo( + ) + """ + + def testDeploymentDatabaseInfo(self): + """Test DeploymentDatabaseInfo""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_definition.py b/koyeb/api_async/test/test_deployment_definition.py new file mode 100644 index 00000000..863a1b06 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_definition.py @@ -0,0 +1,225 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_definition import DeploymentDefinition + +class TestDeploymentDefinition(unittest.TestCase): + """DeploymentDefinition unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentDefinition: + """Test DeploymentDefinition + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentDefinition` + """ + model = DeploymentDefinition() + if include_optional: + return DeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy( + type = 'DEPLOYMENT_STRATEGY_TYPE_INVALID', ), + routes = [ + koyeb.api_async.models.deployment_route.DeploymentRoute( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.deployment_port.DeploymentPort( + port = 56, + protocol = '', ) + ], + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port.DeploymentProxyPort( + port = 56, + protocol = 'tcp', ) + ], + env = [ + koyeb.api_async.models.deployment_env.DeploymentEnv( + scopes = [ + '' + ], + key = '', + value = '', + secret = '', ) + ], + regions = [ + '' + ], + scalings = [ + koyeb.api_async.models.deployment_scaling.DeploymentScaling( + scopes = [ + '' + ], + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ) + ], + instance_types = [ + koyeb.api_async.models.deployment_instance_type.DeploymentInstanceType( + scopes = [ + '' + ], + type = '', ) + ], + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.deployment_volume.DeploymentVolume( + id = '', + path = '', + replica_index = 56, + scopes = [ + '' + ], ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), + docker = koyeb.api_async.models.docker_builder.DockerBuilder( + dockerfile = '', + entrypoint = [ + '' + ], + command = '', + args = [ + '' + ], + target = '', + privileged = True, ), ), + database = koyeb.api_async.models.database_source.DatabaseSource( + neon_postgres = koyeb.api_async.models.neon_postgres_database.NeonPostgresDatabase( + pg_version = 56, + region = '', + instance_type = '', + roles = [ + koyeb.api_async.models.neon_postgres_database/neon_role.NeonPostgresDatabase.NeonRole( + name = '', + secret = '', ) + ], + databases = [ + koyeb.api_async.models.neon_postgres_database/neon_database.NeonPostgresDatabase.NeonDatabase( + name = '', + owner = '', ) + ], ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), + docker = koyeb.api_async.models.docker_builder.DockerBuilder( + dockerfile = '', + entrypoint = [ + '' + ], + command = '', + args = [ + '' + ], + target = '', + privileged = True, ), ) + ) + else: + return DeploymentDefinition( + ) + """ + + def testDeploymentDefinition(self): + """Test DeploymentDefinition""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_definition_type.py b/koyeb/api_async/test/test_deployment_definition_type.py new file mode 100644 index 00000000..7bd2113e --- /dev/null +++ b/koyeb/api_async/test/test_deployment_definition_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_definition_type import DeploymentDefinitionType + +class TestDeploymentDefinitionType(unittest.TestCase): + """DeploymentDefinitionType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testDeploymentDefinitionType(self): + """Test DeploymentDefinitionType""" + # inst = DeploymentDefinitionType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_env.py b/koyeb/api_async/test/test_deployment_env.py new file mode 100644 index 00000000..72b2a34e --- /dev/null +++ b/koyeb/api_async/test/test_deployment_env.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_env import DeploymentEnv + +class TestDeploymentEnv(unittest.TestCase): + """DeploymentEnv unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentEnv: + """Test DeploymentEnv + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentEnv` + """ + model = DeploymentEnv() + if include_optional: + return DeploymentEnv( + scopes = [ + '' + ], + key = '', + value = '', + secret = '' + ) + else: + return DeploymentEnv( + ) + """ + + def testDeploymentEnv(self): + """Test DeploymentEnv""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_event.py b/koyeb/api_async/test/test_deployment_event.py new file mode 100644 index 00000000..a66e8b42 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_event.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_event import DeploymentEvent + +class TestDeploymentEvent(unittest.TestCase): + """DeploymentEvent unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentEvent: + """Test DeploymentEvent + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentEvent` + """ + model = DeploymentEvent() + if include_optional: + return DeploymentEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + deployment_id = '', + type = '', + message = '', + metadata = None + ) + else: + return DeploymentEvent( + ) + """ + + def testDeploymentEvent(self): + """Test DeploymentEvent""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_health_check.py b/koyeb/api_async/test/test_deployment_health_check.py new file mode 100644 index 00000000..4f9d4e41 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_health_check.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_health_check import DeploymentHealthCheck + +class TestDeploymentHealthCheck(unittest.TestCase): + """DeploymentHealthCheck unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentHealthCheck: + """Test DeploymentHealthCheck + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentHealthCheck` + """ + model = DeploymentHealthCheck() + if include_optional: + return DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ) + ) + else: + return DeploymentHealthCheck( + ) + """ + + def testDeploymentHealthCheck(self): + """Test DeploymentHealthCheck""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_instance_type.py b/koyeb/api_async/test/test_deployment_instance_type.py new file mode 100644 index 00000000..c9f4016b --- /dev/null +++ b/koyeb/api_async/test/test_deployment_instance_type.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_instance_type import DeploymentInstanceType + +class TestDeploymentInstanceType(unittest.TestCase): + """DeploymentInstanceType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentInstanceType: + """Test DeploymentInstanceType + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentInstanceType` + """ + model = DeploymentInstanceType() + if include_optional: + return DeploymentInstanceType( + scopes = [ + '' + ], + type = '' + ) + else: + return DeploymentInstanceType( + ) + """ + + def testDeploymentInstanceType(self): + """Test DeploymentInstanceType""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_list_item.py b/koyeb/api_async/test/test_deployment_list_item.py new file mode 100644 index 00000000..f43728ec --- /dev/null +++ b/koyeb/api_async/test/test_deployment_list_item.py @@ -0,0 +1,292 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_list_item import DeploymentListItem + +class TestDeploymentListItem(unittest.TestCase): + """DeploymentListItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentListItem: + """Test DeploymentListItem + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentListItem` + """ + model = DeploymentListItem() + if include_optional: + return DeploymentListItem( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + allocated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + parent_id = '', + child_id = '', + status = 'PENDING', + metadata = koyeb.api_async.models.deployment_metadata.DeploymentMetadata( + trigger = koyeb.api_async.models.trigger_deployment_metadata.TriggerDeploymentMetadata( + type = 'UNKNOWN_TYPE', + actor = 'UNKNOWN_ACTOR', + git = koyeb.api_async.models.trigger_git_deployment_metadata.TriggerGitDeploymentMetadata( + provider = 'UNKNOWN', + repository = '', + branch = '', + sha = '', + message = '', + sender_username = '', + sender_avatar_url = '', + sender_profile_url = '', ), ), + database = koyeb.api_async.models.database_deployment_metadata.DatabaseDeploymentMetadata( + neon_postgres = koyeb.api_async.models.neon_postgres_database_deployment_metadata.NeonPostgresDatabaseDeploymentMetadata( + reset_role_passwords = [ + '' + ], ), ), + git = koyeb.api_async.models.git_deployment_metadata.GitDeploymentMetadata( + last_provisioned_deployment_id = '', + git_env = koyeb.api_async.models.git_env_deployment_metadata.GitEnvDeploymentMetadata( + sha = '', + commit_author = '', + commit_message = '', ), ), + archive = koyeb.api_async.models.archive_deployment_metadata.ArchiveDeploymentMetadata( + last_provisioned_deployment_id = '', ), + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port_metadata.DeploymentProxyPortMetadata( + host = '', + public_port = 56, + port = 56, + protocol = 'tcp', ) + ], + sandbox = koyeb.api_async.models.sandbox_metadata.SandboxMetadata( + public_url = '', + routing_key = '', ), ), + definition = koyeb.api_async.models.deployment_definition.DeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.deployment_route.DeploymentRoute( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.deployment_port.DeploymentPort( + port = 56, + protocol = '', ) + ], + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port.DeploymentProxyPort( + port = 56, + protocol = 'tcp', ) + ], + env = [ + koyeb.api_async.models.deployment_env.DeploymentEnv( + scopes = [ + '' + ], + key = '', + value = '', + secret = '', ) + ], + regions = [ + '' + ], + scalings = [ + koyeb.api_async.models.deployment_scaling.DeploymentScaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ) + ], + instance_types = [ + koyeb.api_async.models.deployment_instance_type.DeploymentInstanceType() + ], + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.deployment_volume.DeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), ), + database = koyeb.api_async.models.database_source.DatabaseSource( + neon_postgres = koyeb.api_async.models.neon_postgres_database.NeonPostgresDatabase( + pg_version = 56, + region = '', + instance_type = '', + roles = [ + koyeb.api_async.models.neon_postgres_database/neon_role.NeonPostgresDatabase.NeonRole( + name = '', + secret = '', ) + ], + databases = [ + koyeb.api_async.models.neon_postgres_database/neon_database.NeonPostgresDatabase.NeonDatabase( + name = '', + owner = '', ) + ], ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', ), ), + messages = [ + '' + ], + provisioning_info = koyeb.api_async.models.deployment_provisioning_info.DeploymentProvisioningInfo( + sha = '', + image = '', + stages = [ + koyeb.api_async.models.deployment_provisioning_info/stage.DeploymentProvisioningInfo.Stage( + name = '', + status = 'UNKNOWN', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + build_attempts = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt.DeploymentProvisioningInfo.Stage.BuildAttempt( + id = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + steps = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt/build_step.DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + image_pushed = True, + internal_failure = True, + retryable_failure = True, + wait_completion = True, ) + ], ) + ], ), + database_info = koyeb.api_async.models.deployment_database_info.DeploymentDatabaseInfo( + neon_postgres = koyeb.api_async.models.deployment_neon_postgres_database_info.DeploymentNeonPostgresDatabaseInfo( + active_time_seconds = '', + compute_time_seconds = '', + written_data_bytes = '', + data_transfer_bytes = '', + data_storage_bytes_hour = '', + server_host = '', + server_port = 56, + endpoint_state = '', + endpoint_last_active = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + default_branch_id = '', + default_branch_name = '', + default_branch_state = '', + default_branch_logical_size = '', + roles = [ + koyeb.api_async.models.deployment_neon_postgres_database_info_role.DeploymentNeonPostgresDatabaseInfoRole( + name = '', + secret_id = '', ) + ], ), ), + version = '', + deployment_group = '' + ) + else: + return DeploymentListItem( + ) + """ + + def testDeploymentListItem(self): + """Test DeploymentListItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_mesh.py b/koyeb/api_async/test/test_deployment_mesh.py new file mode 100644 index 00000000..9ac2daa7 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_mesh.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_mesh import DeploymentMesh + +class TestDeploymentMesh(unittest.TestCase): + """DeploymentMesh unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testDeploymentMesh(self): + """Test DeploymentMesh""" + # inst = DeploymentMesh() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_metadata.py b/koyeb/api_async/test/test_deployment_metadata.py new file mode 100644 index 00000000..0347b43f --- /dev/null +++ b/koyeb/api_async/test/test_deployment_metadata.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_metadata import DeploymentMetadata + +class TestDeploymentMetadata(unittest.TestCase): + """DeploymentMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentMetadata: + """Test DeploymentMetadata + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentMetadata` + """ + model = DeploymentMetadata() + if include_optional: + return DeploymentMetadata( + trigger = koyeb.api_async.models.trigger_deployment_metadata.TriggerDeploymentMetadata( + type = 'UNKNOWN_TYPE', + actor = 'UNKNOWN_ACTOR', + git = koyeb.api_async.models.trigger_git_deployment_metadata.TriggerGitDeploymentMetadata( + provider = 'UNKNOWN', + repository = '', + branch = '', + sha = '', + message = '', + sender_username = '', + sender_avatar_url = '', + sender_profile_url = '', ), ), + database = koyeb.api_async.models.database_deployment_metadata.DatabaseDeploymentMetadata( + neon_postgres = koyeb.api_async.models.neon_postgres_database_deployment_metadata.NeonPostgresDatabaseDeploymentMetadata( + reset_role_passwords = [ + '' + ], ), ), + git = koyeb.api_async.models.git_deployment_metadata.GitDeploymentMetadata( + last_provisioned_deployment_id = '', + git_env = koyeb.api_async.models.git_env_deployment_metadata.GitEnvDeploymentMetadata( + sha = '', + commit_author = '', + commit_message = '', ), ), + archive = koyeb.api_async.models.archive_deployment_metadata.ArchiveDeploymentMetadata( + last_provisioned_deployment_id = '', ), + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port_metadata.DeploymentProxyPortMetadata( + host = '', + public_port = 56, + port = 56, + protocol = 'tcp', ) + ], + sandbox = koyeb.api_async.models.sandbox_metadata.SandboxMetadata( + public_url = '', + routing_key = '', ) + ) + else: + return DeploymentMetadata( + ) + """ + + def testDeploymentMetadata(self): + """Test DeploymentMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_neon_postgres_database_info.py b/koyeb/api_async/test/test_deployment_neon_postgres_database_info.py new file mode 100644 index 00000000..056e49b7 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_neon_postgres_database_info.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_neon_postgres_database_info import DeploymentNeonPostgresDatabaseInfo + +class TestDeploymentNeonPostgresDatabaseInfo(unittest.TestCase): + """DeploymentNeonPostgresDatabaseInfo unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentNeonPostgresDatabaseInfo: + """Test DeploymentNeonPostgresDatabaseInfo + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentNeonPostgresDatabaseInfo` + """ + model = DeploymentNeonPostgresDatabaseInfo() + if include_optional: + return DeploymentNeonPostgresDatabaseInfo( + active_time_seconds = '', + compute_time_seconds = '', + written_data_bytes = '', + data_transfer_bytes = '', + data_storage_bytes_hour = '', + server_host = '', + server_port = 56, + endpoint_state = '', + endpoint_last_active = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + default_branch_id = '', + default_branch_name = '', + default_branch_state = '', + default_branch_logical_size = '', + roles = [ + koyeb.api_async.models.deployment_neon_postgres_database_info_role.DeploymentNeonPostgresDatabaseInfoRole( + name = '', + secret_id = '', ) + ] + ) + else: + return DeploymentNeonPostgresDatabaseInfo( + ) + """ + + def testDeploymentNeonPostgresDatabaseInfo(self): + """Test DeploymentNeonPostgresDatabaseInfo""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_neon_postgres_database_info_role.py b/koyeb/api_async/test/test_deployment_neon_postgres_database_info_role.py new file mode 100644 index 00000000..9b801246 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_neon_postgres_database_info_role.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_neon_postgres_database_info_role import DeploymentNeonPostgresDatabaseInfoRole + +class TestDeploymentNeonPostgresDatabaseInfoRole(unittest.TestCase): + """DeploymentNeonPostgresDatabaseInfoRole unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentNeonPostgresDatabaseInfoRole: + """Test DeploymentNeonPostgresDatabaseInfoRole + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentNeonPostgresDatabaseInfoRole` + """ + model = DeploymentNeonPostgresDatabaseInfoRole() + if include_optional: + return DeploymentNeonPostgresDatabaseInfoRole( + name = '', + secret_id = '' + ) + else: + return DeploymentNeonPostgresDatabaseInfoRole( + ) + """ + + def testDeploymentNeonPostgresDatabaseInfoRole(self): + """Test DeploymentNeonPostgresDatabaseInfoRole""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_port.py b/koyeb/api_async/test/test_deployment_port.py new file mode 100644 index 00000000..9b634a7b --- /dev/null +++ b/koyeb/api_async/test/test_deployment_port.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_port import DeploymentPort + +class TestDeploymentPort(unittest.TestCase): + """DeploymentPort unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentPort: + """Test DeploymentPort + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentPort` + """ + model = DeploymentPort() + if include_optional: + return DeploymentPort( + port = 56, + protocol = '' + ) + else: + return DeploymentPort( + ) + """ + + def testDeploymentPort(self): + """Test DeploymentPort""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_provisioning_info.py b/koyeb/api_async/test/test_deployment_provisioning_info.py new file mode 100644 index 00000000..bc08b696 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_provisioning_info.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_provisioning_info import DeploymentProvisioningInfo + +class TestDeploymentProvisioningInfo(unittest.TestCase): + """DeploymentProvisioningInfo unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentProvisioningInfo: + """Test DeploymentProvisioningInfo + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentProvisioningInfo` + """ + model = DeploymentProvisioningInfo() + if include_optional: + return DeploymentProvisioningInfo( + sha = '', + image = '', + stages = [ + koyeb.api_async.models.deployment_provisioning_info/stage.DeploymentProvisioningInfo.Stage( + name = '', + status = 'UNKNOWN', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + build_attempts = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt.DeploymentProvisioningInfo.Stage.BuildAttempt( + id = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + steps = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt/build_step.DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + image_pushed = True, + internal_failure = True, + retryable_failure = True, + wait_completion = True, ) + ], ) + ] + ) + else: + return DeploymentProvisioningInfo( + ) + """ + + def testDeploymentProvisioningInfo(self): + """Test DeploymentProvisioningInfo""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_provisioning_info_stage.py b/koyeb/api_async/test/test_deployment_provisioning_info_stage.py new file mode 100644 index 00000000..6450309b --- /dev/null +++ b/koyeb/api_async/test/test_deployment_provisioning_info_stage.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_provisioning_info_stage import DeploymentProvisioningInfoStage + +class TestDeploymentProvisioningInfoStage(unittest.TestCase): + """DeploymentProvisioningInfoStage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentProvisioningInfoStage: + """Test DeploymentProvisioningInfoStage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentProvisioningInfoStage` + """ + model = DeploymentProvisioningInfoStage() + if include_optional: + return DeploymentProvisioningInfoStage( + name = '', + status = 'UNKNOWN', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + build_attempts = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt.DeploymentProvisioningInfo.Stage.BuildAttempt( + id = 56, + status = 'UNKNOWN', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + steps = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt/build_step.DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + image_pushed = True, + internal_failure = True, + retryable_failure = True, + wait_completion = True, ) + ] + ) + else: + return DeploymentProvisioningInfoStage( + ) + """ + + def testDeploymentProvisioningInfoStage(self): + """Test DeploymentProvisioningInfoStage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_provisioning_info_stage_build_attempt.py b/koyeb/api_async/test/test_deployment_provisioning_info_stage_build_attempt.py new file mode 100644 index 00000000..c4e8365f --- /dev/null +++ b/koyeb/api_async/test/test_deployment_provisioning_info_stage_build_attempt.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_provisioning_info_stage_build_attempt import DeploymentProvisioningInfoStageBuildAttempt + +class TestDeploymentProvisioningInfoStageBuildAttempt(unittest.TestCase): + """DeploymentProvisioningInfoStageBuildAttempt unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentProvisioningInfoStageBuildAttempt: + """Test DeploymentProvisioningInfoStageBuildAttempt + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentProvisioningInfoStageBuildAttempt` + """ + model = DeploymentProvisioningInfoStageBuildAttempt() + if include_optional: + return DeploymentProvisioningInfoStageBuildAttempt( + id = 56, + status = 'UNKNOWN', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + steps = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt/build_step.DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep( + name = '', + status = 'UNKNOWN', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + image_pushed = True, + internal_failure = True, + retryable_failure = True, + wait_completion = True + ) + else: + return DeploymentProvisioningInfoStageBuildAttempt( + ) + """ + + def testDeploymentProvisioningInfoStageBuildAttempt(self): + """Test DeploymentProvisioningInfoStageBuildAttempt""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_provisioning_info_stage_build_attempt_build_step.py b/koyeb/api_async/test/test_deployment_provisioning_info_stage_build_attempt_build_step.py new file mode 100644 index 00000000..2ec67a68 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_provisioning_info_stage_build_attempt_build_step.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_provisioning_info_stage_build_attempt_build_step import DeploymentProvisioningInfoStageBuildAttemptBuildStep + +class TestDeploymentProvisioningInfoStageBuildAttemptBuildStep(unittest.TestCase): + """DeploymentProvisioningInfoStageBuildAttemptBuildStep unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentProvisioningInfoStageBuildAttemptBuildStep: + """Test DeploymentProvisioningInfoStageBuildAttemptBuildStep + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentProvisioningInfoStageBuildAttemptBuildStep` + """ + model = DeploymentProvisioningInfoStageBuildAttemptBuildStep() + if include_optional: + return DeploymentProvisioningInfoStageBuildAttemptBuildStep( + name = '', + status = 'UNKNOWN', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return DeploymentProvisioningInfoStageBuildAttemptBuildStep( + ) + """ + + def testDeploymentProvisioningInfoStageBuildAttemptBuildStep(self): + """Test DeploymentProvisioningInfoStageBuildAttemptBuildStep""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_provisioning_info_stage_status.py b/koyeb/api_async/test/test_deployment_provisioning_info_stage_status.py new file mode 100644 index 00000000..32faa952 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_provisioning_info_stage_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_provisioning_info_stage_status import DeploymentProvisioningInfoStageStatus + +class TestDeploymentProvisioningInfoStageStatus(unittest.TestCase): + """DeploymentProvisioningInfoStageStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testDeploymentProvisioningInfoStageStatus(self): + """Test DeploymentProvisioningInfoStageStatus""" + # inst = DeploymentProvisioningInfoStageStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_proxy_port.py b/koyeb/api_async/test/test_deployment_proxy_port.py new file mode 100644 index 00000000..5c7886eb --- /dev/null +++ b/koyeb/api_async/test/test_deployment_proxy_port.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_proxy_port import DeploymentProxyPort + +class TestDeploymentProxyPort(unittest.TestCase): + """DeploymentProxyPort unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentProxyPort: + """Test DeploymentProxyPort + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentProxyPort` + """ + model = DeploymentProxyPort() + if include_optional: + return DeploymentProxyPort( + port = 56, + protocol = 'tcp' + ) + else: + return DeploymentProxyPort( + ) + """ + + def testDeploymentProxyPort(self): + """Test DeploymentProxyPort""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_proxy_port_metadata.py b/koyeb/api_async/test/test_deployment_proxy_port_metadata.py new file mode 100644 index 00000000..e0752685 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_proxy_port_metadata.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_proxy_port_metadata import DeploymentProxyPortMetadata + +class TestDeploymentProxyPortMetadata(unittest.TestCase): + """DeploymentProxyPortMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentProxyPortMetadata: + """Test DeploymentProxyPortMetadata + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentProxyPortMetadata` + """ + model = DeploymentProxyPortMetadata() + if include_optional: + return DeploymentProxyPortMetadata( + host = '', + public_port = 56, + port = 56, + protocol = 'tcp' + ) + else: + return DeploymentProxyPortMetadata( + ) + """ + + def testDeploymentProxyPortMetadata(self): + """Test DeploymentProxyPortMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_role.py b/koyeb/api_async/test/test_deployment_role.py new file mode 100644 index 00000000..4ca35f1f --- /dev/null +++ b/koyeb/api_async/test/test_deployment_role.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_role import DeploymentRole + +class TestDeploymentRole(unittest.TestCase): + """DeploymentRole unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testDeploymentRole(self): + """Test DeploymentRole""" + # inst = DeploymentRole() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_route.py b/koyeb/api_async/test/test_deployment_route.py new file mode 100644 index 00000000..c19f733e --- /dev/null +++ b/koyeb/api_async/test/test_deployment_route.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_route import DeploymentRoute + +class TestDeploymentRoute(unittest.TestCase): + """DeploymentRoute unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentRoute: + """Test DeploymentRoute + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentRoute` + """ + model = DeploymentRoute() + if include_optional: + return DeploymentRoute( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ) + ) + else: + return DeploymentRoute( + ) + """ + + def testDeploymentRoute(self): + """Test DeploymentRoute""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_scaling.py b/koyeb/api_async/test/test_deployment_scaling.py new file mode 100644 index 00000000..3bc721c7 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_scaling.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_scaling import DeploymentScaling + +class TestDeploymentScaling(unittest.TestCase): + """DeploymentScaling unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentScaling: + """Test DeploymentScaling + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentScaling` + """ + model = DeploymentScaling() + if include_optional: + return DeploymentScaling( + scopes = [ + '' + ], + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ] + ) + else: + return DeploymentScaling( + ) + """ + + def testDeploymentScaling(self): + """Test DeploymentScaling""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_scaling_target.py b/koyeb/api_async/test/test_deployment_scaling_target.py new file mode 100644 index 00000000..bba7f160 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_scaling_target.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_scaling_target import DeploymentScalingTarget + +class TestDeploymentScalingTarget(unittest.TestCase): + """DeploymentScalingTarget unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentScalingTarget: + """Test DeploymentScalingTarget + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentScalingTarget` + """ + model = DeploymentScalingTarget() + if include_optional: + return DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ) + ) + else: + return DeploymentScalingTarget( + ) + """ + + def testDeploymentScalingTarget(self): + """Test DeploymentScalingTarget""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_scaling_target_average_cpu.py b/koyeb/api_async/test/test_deployment_scaling_target_average_cpu.py new file mode 100644 index 00000000..5ee34400 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_scaling_target_average_cpu.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_scaling_target_average_cpu import DeploymentScalingTargetAverageCPU + +class TestDeploymentScalingTargetAverageCPU(unittest.TestCase): + """DeploymentScalingTargetAverageCPU unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentScalingTargetAverageCPU: + """Test DeploymentScalingTargetAverageCPU + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentScalingTargetAverageCPU` + """ + model = DeploymentScalingTargetAverageCPU() + if include_optional: + return DeploymentScalingTargetAverageCPU( + value = 56 + ) + else: + return DeploymentScalingTargetAverageCPU( + ) + """ + + def testDeploymentScalingTargetAverageCPU(self): + """Test DeploymentScalingTargetAverageCPU""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_scaling_target_average_mem.py b/koyeb/api_async/test/test_deployment_scaling_target_average_mem.py new file mode 100644 index 00000000..7cd2d08b --- /dev/null +++ b/koyeb/api_async/test/test_deployment_scaling_target_average_mem.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_scaling_target_average_mem import DeploymentScalingTargetAverageMem + +class TestDeploymentScalingTargetAverageMem(unittest.TestCase): + """DeploymentScalingTargetAverageMem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentScalingTargetAverageMem: + """Test DeploymentScalingTargetAverageMem + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentScalingTargetAverageMem` + """ + model = DeploymentScalingTargetAverageMem() + if include_optional: + return DeploymentScalingTargetAverageMem( + value = 56 + ) + else: + return DeploymentScalingTargetAverageMem( + ) + """ + + def testDeploymentScalingTargetAverageMem(self): + """Test DeploymentScalingTargetAverageMem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_scaling_target_concurrent_requests.py b/koyeb/api_async/test/test_deployment_scaling_target_concurrent_requests.py new file mode 100644 index 00000000..a850bcf8 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_scaling_target_concurrent_requests.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_scaling_target_concurrent_requests import DeploymentScalingTargetConcurrentRequests + +class TestDeploymentScalingTargetConcurrentRequests(unittest.TestCase): + """DeploymentScalingTargetConcurrentRequests unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentScalingTargetConcurrentRequests: + """Test DeploymentScalingTargetConcurrentRequests + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentScalingTargetConcurrentRequests` + """ + model = DeploymentScalingTargetConcurrentRequests() + if include_optional: + return DeploymentScalingTargetConcurrentRequests( + value = 56 + ) + else: + return DeploymentScalingTargetConcurrentRequests( + ) + """ + + def testDeploymentScalingTargetConcurrentRequests(self): + """Test DeploymentScalingTargetConcurrentRequests""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_scaling_target_requests_per_second.py b/koyeb/api_async/test/test_deployment_scaling_target_requests_per_second.py new file mode 100644 index 00000000..e2fdb1c2 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_scaling_target_requests_per_second.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_scaling_target_requests_per_second import DeploymentScalingTargetRequestsPerSecond + +class TestDeploymentScalingTargetRequestsPerSecond(unittest.TestCase): + """DeploymentScalingTargetRequestsPerSecond unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentScalingTargetRequestsPerSecond: + """Test DeploymentScalingTargetRequestsPerSecond + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentScalingTargetRequestsPerSecond` + """ + model = DeploymentScalingTargetRequestsPerSecond() + if include_optional: + return DeploymentScalingTargetRequestsPerSecond( + value = 56 + ) + else: + return DeploymentScalingTargetRequestsPerSecond( + ) + """ + + def testDeploymentScalingTargetRequestsPerSecond(self): + """Test DeploymentScalingTargetRequestsPerSecond""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_scaling_target_requests_response_time.py b/koyeb/api_async/test/test_deployment_scaling_target_requests_response_time.py new file mode 100644 index 00000000..802cf4cc --- /dev/null +++ b/koyeb/api_async/test/test_deployment_scaling_target_requests_response_time.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_scaling_target_requests_response_time import DeploymentScalingTargetRequestsResponseTime + +class TestDeploymentScalingTargetRequestsResponseTime(unittest.TestCase): + """DeploymentScalingTargetRequestsResponseTime unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentScalingTargetRequestsResponseTime: + """Test DeploymentScalingTargetRequestsResponseTime + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentScalingTargetRequestsResponseTime` + """ + model = DeploymentScalingTargetRequestsResponseTime() + if include_optional: + return DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56 + ) + else: + return DeploymentScalingTargetRequestsResponseTime( + ) + """ + + def testDeploymentScalingTargetRequestsResponseTime(self): + """Test DeploymentScalingTargetRequestsResponseTime""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_scaling_target_sleep_idle_delay.py b/koyeb/api_async/test/test_deployment_scaling_target_sleep_idle_delay.py new file mode 100644 index 00000000..e8d68b20 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_scaling_target_sleep_idle_delay.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay import DeploymentScalingTargetSleepIdleDelay + +class TestDeploymentScalingTargetSleepIdleDelay(unittest.TestCase): + """DeploymentScalingTargetSleepIdleDelay unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentScalingTargetSleepIdleDelay: + """Test DeploymentScalingTargetSleepIdleDelay + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentScalingTargetSleepIdleDelay` + """ + model = DeploymentScalingTargetSleepIdleDelay() + if include_optional: + return DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56 + ) + else: + return DeploymentScalingTargetSleepIdleDelay( + ) + """ + + def testDeploymentScalingTargetSleepIdleDelay(self): + """Test DeploymentScalingTargetSleepIdleDelay""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_status.py b/koyeb/api_async/test/test_deployment_status.py new file mode 100644 index 00000000..ba1d2288 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_status import DeploymentStatus + +class TestDeploymentStatus(unittest.TestCase): + """DeploymentStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testDeploymentStatus(self): + """Test DeploymentStatus""" + # inst = DeploymentStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_strategy.py b/koyeb/api_async/test/test_deployment_strategy.py new file mode 100644 index 00000000..7b06406e --- /dev/null +++ b/koyeb/api_async/test/test_deployment_strategy.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_strategy import DeploymentStrategy + +class TestDeploymentStrategy(unittest.TestCase): + """DeploymentStrategy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentStrategy: + """Test DeploymentStrategy + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentStrategy` + """ + model = DeploymentStrategy() + if include_optional: + return DeploymentStrategy( + type = 'DEPLOYMENT_STRATEGY_TYPE_INVALID' + ) + else: + return DeploymentStrategy( + ) + """ + + def testDeploymentStrategy(self): + """Test DeploymentStrategy""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_strategy_type.py b/koyeb/api_async/test/test_deployment_strategy_type.py new file mode 100644 index 00000000..488f5df2 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_strategy_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_strategy_type import DeploymentStrategyType + +class TestDeploymentStrategyType(unittest.TestCase): + """DeploymentStrategyType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testDeploymentStrategyType(self): + """Test DeploymentStrategyType""" + # inst = DeploymentStrategyType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployment_volume.py b/koyeb/api_async/test/test_deployment_volume.py new file mode 100644 index 00000000..a2b8ab64 --- /dev/null +++ b/koyeb/api_async/test/test_deployment_volume.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.deployment_volume import DeploymentVolume + +class TestDeploymentVolume(unittest.TestCase): + """DeploymentVolume unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DeploymentVolume: + """Test DeploymentVolume + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DeploymentVolume` + """ + model = DeploymentVolume() + if include_optional: + return DeploymentVolume( + id = '', + path = '', + replica_index = 56, + scopes = [ + '' + ] + ) + else: + return DeploymentVolume( + ) + """ + + def testDeploymentVolume(self): + """Test DeploymentVolume""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_deployments_api.py b/koyeb/api_async/test/test_deployments_api.py new file mode 100644 index 00000000..08188326 --- /dev/null +++ b/koyeb/api_async/test/test_deployments_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.deployments_api import DeploymentsApi + + +class TestDeploymentsApi(unittest.IsolatedAsyncioTestCase): + """DeploymentsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = DeploymentsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_cancel_deployment(self) -> None: + """Test case for cancel_deployment + + Cancel Deployment + """ + pass + + async def test_get_deployment(self) -> None: + """Test case for get_deployment + + Get Deployment + """ + pass + + async def test_get_deployment_scaling(self) -> None: + """Test case for get_deployment_scaling + + Get Deployment Scaling + """ + pass + + async def test_list_deployment_events(self) -> None: + """Test case for list_deployment_events + + List Deployment events + """ + pass + + async def test_list_deployments(self) -> None: + """Test case for list_deployments + + List Deployments + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_desired_deployment.py b/koyeb/api_async/test/test_desired_deployment.py new file mode 100644 index 00000000..d2777162 --- /dev/null +++ b/koyeb/api_async/test/test_desired_deployment.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.desired_deployment import DesiredDeployment + +class TestDesiredDeployment(unittest.TestCase): + """DesiredDeployment unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DesiredDeployment: + """Test DesiredDeployment + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DesiredDeployment` + """ + model = DesiredDeployment() + if include_optional: + return DesiredDeployment( + groups = [ + koyeb.api_async.models.desired_deployment/group.DesiredDeployment.Group( + name = '', + deployment_ids = [ + '' + ], ) + ] + ) + else: + return DesiredDeployment( + ) + """ + + def testDesiredDeployment(self): + """Test DesiredDeployment""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_desired_deployment_group.py b/koyeb/api_async/test/test_desired_deployment_group.py new file mode 100644 index 00000000..56b74a5c --- /dev/null +++ b/koyeb/api_async/test/test_desired_deployment_group.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.desired_deployment_group import DesiredDeploymentGroup + +class TestDesiredDeploymentGroup(unittest.TestCase): + """DesiredDeploymentGroup unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DesiredDeploymentGroup: + """Test DesiredDeploymentGroup + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DesiredDeploymentGroup` + """ + model = DesiredDeploymentGroup() + if include_optional: + return DesiredDeploymentGroup( + name = '', + deployment_ids = [ + '' + ] + ) + else: + return DesiredDeploymentGroup( + ) + """ + + def testDesiredDeploymentGroup(self): + """Test DesiredDeploymentGroup""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_digital_ocean_registry_configuration.py b/koyeb/api_async/test/test_digital_ocean_registry_configuration.py new file mode 100644 index 00000000..1b34fab8 --- /dev/null +++ b/koyeb/api_async/test/test_digital_ocean_registry_configuration.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.digital_ocean_registry_configuration import DigitalOceanRegistryConfiguration + +class TestDigitalOceanRegistryConfiguration(unittest.TestCase): + """DigitalOceanRegistryConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DigitalOceanRegistryConfiguration: + """Test DigitalOceanRegistryConfiguration + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DigitalOceanRegistryConfiguration` + """ + model = DigitalOceanRegistryConfiguration() + if include_optional: + return DigitalOceanRegistryConfiguration( + username = '', + password = '' + ) + else: + return DigitalOceanRegistryConfiguration( + ) + """ + + def testDigitalOceanRegistryConfiguration(self): + """Test DigitalOceanRegistryConfiguration""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_discourse_auth_reply.py b/koyeb/api_async/test/test_discourse_auth_reply.py new file mode 100644 index 00000000..9be4851e --- /dev/null +++ b/koyeb/api_async/test/test_discourse_auth_reply.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.discourse_auth_reply import DiscourseAuthReply + +class TestDiscourseAuthReply(unittest.TestCase): + """DiscourseAuthReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DiscourseAuthReply: + """Test DiscourseAuthReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DiscourseAuthReply` + """ + model = DiscourseAuthReply() + if include_optional: + return DiscourseAuthReply( + sso = '', + sig = '' + ) + else: + return DiscourseAuthReply( + ) + """ + + def testDiscourseAuthReply(self): + """Test DiscourseAuthReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_discourse_auth_request.py b/koyeb/api_async/test/test_discourse_auth_request.py new file mode 100644 index 00000000..e50a0a17 --- /dev/null +++ b/koyeb/api_async/test/test_discourse_auth_request.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.discourse_auth_request import DiscourseAuthRequest + +class TestDiscourseAuthRequest(unittest.TestCase): + """DiscourseAuthRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DiscourseAuthRequest: + """Test DiscourseAuthRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DiscourseAuthRequest` + """ + model = DiscourseAuthRequest() + if include_optional: + return DiscourseAuthRequest( + payload = '', + sig = '' + ) + else: + return DiscourseAuthRequest( + ) + """ + + def testDiscourseAuthRequest(self): + """Test DiscourseAuthRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_docker_builder.py b/koyeb/api_async/test/test_docker_builder.py new file mode 100644 index 00000000..b053837e --- /dev/null +++ b/koyeb/api_async/test/test_docker_builder.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.docker_builder import DockerBuilder + +class TestDockerBuilder(unittest.TestCase): + """DockerBuilder unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DockerBuilder: + """Test DockerBuilder + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DockerBuilder` + """ + model = DockerBuilder() + if include_optional: + return DockerBuilder( + dockerfile = '', + entrypoint = [ + '' + ], + command = '', + args = [ + '' + ], + target = '', + privileged = True + ) + else: + return DockerBuilder( + ) + """ + + def testDockerBuilder(self): + """Test DockerBuilder""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_docker_helper_api.py b/koyeb/api_async/test/test_docker_helper_api.py new file mode 100644 index 00000000..3b28f4dd --- /dev/null +++ b/koyeb/api_async/test/test_docker_helper_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.docker_helper_api import DockerHelperApi + + +class TestDockerHelperApi(unittest.IsolatedAsyncioTestCase): + """DockerHelperApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = DockerHelperApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_verify_docker_image(self) -> None: + """Test case for verify_docker_image + + Verify Docker Image + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_docker_hub_registry_configuration.py b/koyeb/api_async/test/test_docker_hub_registry_configuration.py new file mode 100644 index 00000000..1651bc40 --- /dev/null +++ b/koyeb/api_async/test/test_docker_hub_registry_configuration.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.docker_hub_registry_configuration import DockerHubRegistryConfiguration + +class TestDockerHubRegistryConfiguration(unittest.TestCase): + """DockerHubRegistryConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DockerHubRegistryConfiguration: + """Test DockerHubRegistryConfiguration + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DockerHubRegistryConfiguration` + """ + model = DockerHubRegistryConfiguration() + if include_optional: + return DockerHubRegistryConfiguration( + username = '', + password = '' + ) + else: + return DockerHubRegistryConfiguration( + ) + """ + + def testDockerHubRegistryConfiguration(self): + """Test DockerHubRegistryConfiguration""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_docker_source.py b/koyeb/api_async/test/test_docker_source.py new file mode 100644 index 00000000..1d99e11d --- /dev/null +++ b/koyeb/api_async/test/test_docker_source.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.docker_source import DockerSource + +class TestDockerSource(unittest.TestCase): + """DockerSource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DockerSource: + """Test DockerSource + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DockerSource` + """ + model = DockerSource() + if include_optional: + return DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True + ) + else: + return DockerSource( + ) + """ + + def testDockerSource(self): + """Test DockerSource""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_domain.py b/koyeb/api_async/test/test_domain.py new file mode 100644 index 00000000..17511c17 --- /dev/null +++ b/koyeb/api_async/test/test_domain.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.domain import Domain + +class TestDomain(unittest.TestCase): + """Domain unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Domain: + """Test Domain + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Domain` + """ + model = Domain() + if include_optional: + return Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'PENDING', + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + messages = [ + '' + ], + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '' + ) + else: + return Domain( + ) + """ + + def testDomain(self): + """Test Domain""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_domain_load_balancer_koyeb.py b/koyeb/api_async/test/test_domain_load_balancer_koyeb.py new file mode 100644 index 00000000..4e3e5a9d --- /dev/null +++ b/koyeb/api_async/test/test_domain_load_balancer_koyeb.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.domain_load_balancer_koyeb import DomainLoadBalancerKoyeb + +class TestDomainLoadBalancerKoyeb(unittest.TestCase): + """DomainLoadBalancerKoyeb unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DomainLoadBalancerKoyeb: + """Test DomainLoadBalancerKoyeb + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DomainLoadBalancerKoyeb` + """ + model = DomainLoadBalancerKoyeb() + if include_optional: + return DomainLoadBalancerKoyeb( + request_timeout_seconds = 56 + ) + else: + return DomainLoadBalancerKoyeb( + ) + """ + + def testDomainLoadBalancerKoyeb(self): + """Test DomainLoadBalancerKoyeb""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_domain_load_balancer_quotas.py b/koyeb/api_async/test/test_domain_load_balancer_quotas.py new file mode 100644 index 00000000..dcb08e02 --- /dev/null +++ b/koyeb/api_async/test/test_domain_load_balancer_quotas.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.domain_load_balancer_quotas import DomainLoadBalancerQuotas + +class TestDomainLoadBalancerQuotas(unittest.TestCase): + """DomainLoadBalancerQuotas unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DomainLoadBalancerQuotas: + """Test DomainLoadBalancerQuotas + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DomainLoadBalancerQuotas` + """ + model = DomainLoadBalancerQuotas() + if include_optional: + return DomainLoadBalancerQuotas( + max_koyeb = 56 + ) + else: + return DomainLoadBalancerQuotas( + ) + """ + + def testDomainLoadBalancerQuotas(self): + """Test DomainLoadBalancerQuotas""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_domain_status.py b/koyeb/api_async/test/test_domain_status.py new file mode 100644 index 00000000..6b678aba --- /dev/null +++ b/koyeb/api_async/test/test_domain_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.domain_status import DomainStatus + +class TestDomainStatus(unittest.TestCase): + """DomainStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testDomainStatus(self): + """Test DomainStatus""" + # inst = DomainStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_domain_type.py b/koyeb/api_async/test/test_domain_type.py new file mode 100644 index 00000000..33de7cba --- /dev/null +++ b/koyeb/api_async/test/test_domain_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.domain_type import DomainType + +class TestDomainType(unittest.TestCase): + """DomainType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testDomainType(self): + """Test DomainType""" + # inst = DomainType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_domains_api.py b/koyeb/api_async/test/test_domains_api.py new file mode 100644 index 00000000..84a20bb1 --- /dev/null +++ b/koyeb/api_async/test/test_domains_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.domains_api import DomainsApi + + +class TestDomainsApi(unittest.IsolatedAsyncioTestCase): + """DomainsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = DomainsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_domain(self) -> None: + """Test case for create_domain + + Create Domain + """ + pass + + async def test_delete_domain(self) -> None: + """Test case for delete_domain + + Delete Domain + """ + pass + + async def test_get_domain(self) -> None: + """Test case for get_domain + + Get Domain + """ + pass + + async def test_list_domains(self) -> None: + """Test case for list_domains + + List Domains + """ + pass + + async def test_refresh_domain_status(self) -> None: + """Test case for refresh_domain_status + + Refresh Domain Status + """ + pass + + async def test_update_domain(self) -> None: + """Test case for update_domain + + Update Domain + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_domains_summary.py b/koyeb/api_async/test/test_domains_summary.py new file mode 100644 index 00000000..4fc00aca --- /dev/null +++ b/koyeb/api_async/test/test_domains_summary.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.domains_summary import DomainsSummary + +class TestDomainsSummary(unittest.TestCase): + """DomainsSummary unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DomainsSummary: + """Test DomainsSummary + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DomainsSummary` + """ + model = DomainsSummary() + if include_optional: + return DomainsSummary( + total = '', + by_status = { + 'key' : '' + } + ) + else: + return DomainsSummary( + ) + """ + + def testDomainsSummary(self): + """Test DomainsSummary""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_env.py b/koyeb/api_async/test/test_env.py new file mode 100644 index 00000000..b26d3fdc --- /dev/null +++ b/koyeb/api_async/test/test_env.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.env import Env + +class TestEnv(unittest.TestCase): + """Env unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Env: + """Test Env + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Env` + """ + model = Env() + if include_optional: + return Env( + key = '', + value = '', + secret = '' + ) + else: + return Env( + ) + """ + + def testEnv(self): + """Test Env""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_error.py b/koyeb/api_async/test/test_error.py new file mode 100644 index 00000000..ccc76399 --- /dev/null +++ b/koyeb/api_async/test/test_error.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.error import Error + +class TestError(unittest.TestCase): + """Error unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Error: + """Test Error + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Error` + """ + model = Error() + if include_optional: + return Error( + status = 56, + code = '', + message = '' + ) + else: + return Error( + ) + """ + + def testError(self): + """Test Error""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_error_field.py b/koyeb/api_async/test/test_error_field.py new file mode 100644 index 00000000..b77c7162 --- /dev/null +++ b/koyeb/api_async/test/test_error_field.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.error_field import ErrorField + +class TestErrorField(unittest.TestCase): + """ErrorField unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ErrorField: + """Test ErrorField + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ErrorField` + """ + model = ErrorField() + if include_optional: + return ErrorField( + var_field = '', + description = '' + ) + else: + return ErrorField( + ) + """ + + def testErrorField(self): + """Test ErrorField""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_error_with_fields.py b/koyeb/api_async/test/test_error_with_fields.py new file mode 100644 index 00000000..45d95d93 --- /dev/null +++ b/koyeb/api_async/test/test_error_with_fields.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.error_with_fields import ErrorWithFields + +class TestErrorWithFields(unittest.TestCase): + """ErrorWithFields unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ErrorWithFields: + """Test ErrorWithFields + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ErrorWithFields` + """ + model = ErrorWithFields() + if include_optional: + return ErrorWithFields( + status = 56, + code = '', + message = '', + fields = [ + koyeb.api_async.models.error_field.ErrorField( + field = '', + description = '', ) + ] + ) + else: + return ErrorWithFields( + ) + """ + + def testErrorWithFields(self): + """Test ErrorWithFields""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_exec_command_io.py b/koyeb/api_async/test/test_exec_command_io.py new file mode 100644 index 00000000..48b5bf9c --- /dev/null +++ b/koyeb/api_async/test/test_exec_command_io.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.exec_command_io import ExecCommandIO + +class TestExecCommandIO(unittest.TestCase): + """ExecCommandIO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExecCommandIO: + """Test ExecCommandIO + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExecCommandIO` + """ + model = ExecCommandIO() + if include_optional: + return ExecCommandIO( + data = 'YQ==', + close = True + ) + else: + return ExecCommandIO( + ) + """ + + def testExecCommandIO(self): + """Test ExecCommandIO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_exec_command_reply.py b/koyeb/api_async/test/test_exec_command_reply.py new file mode 100644 index 00000000..afa8044c --- /dev/null +++ b/koyeb/api_async/test/test_exec_command_reply.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.exec_command_reply import ExecCommandReply + +class TestExecCommandReply(unittest.TestCase): + """ExecCommandReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExecCommandReply: + """Test ExecCommandReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExecCommandReply` + """ + model = ExecCommandReply() + if include_optional: + return ExecCommandReply( + stdout = koyeb.api_async.models.exec_command_io.ExecCommandIO( + data = 'YQ==', + close = True, ), + stderr = koyeb.api_async.models.exec_command_io.ExecCommandIO( + data = 'YQ==', + close = True, ), + exited = True, + exit_code = 56 + ) + else: + return ExecCommandReply( + ) + """ + + def testExecCommandReply(self): + """Test ExecCommandReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_exec_command_request_body.py b/koyeb/api_async/test/test_exec_command_request_body.py new file mode 100644 index 00000000..e34129a2 --- /dev/null +++ b/koyeb/api_async/test/test_exec_command_request_body.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.exec_command_request_body import ExecCommandRequestBody + +class TestExecCommandRequestBody(unittest.TestCase): + """ExecCommandRequestBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExecCommandRequestBody: + """Test ExecCommandRequestBody + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExecCommandRequestBody` + """ + model = ExecCommandRequestBody() + if include_optional: + return ExecCommandRequestBody( + command = [ + '' + ], + tty_size = koyeb.api_async.models.exec_command_request/terminal_size.ExecCommandRequest.TerminalSize( + height = 56, + width = 56, ), + stdin = koyeb.api_async.models.exec_command_io.ExecCommandIO( + data = 'YQ==', + close = True, ), + disable_tty = True + ) + else: + return ExecCommandRequestBody( + ) + """ + + def testExecCommandRequestBody(self): + """Test ExecCommandRequestBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_exec_command_request_id_type.py b/koyeb/api_async/test/test_exec_command_request_id_type.py new file mode 100644 index 00000000..88dbd20f --- /dev/null +++ b/koyeb/api_async/test/test_exec_command_request_id_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.exec_command_request_id_type import ExecCommandRequestIdType + +class TestExecCommandRequestIdType(unittest.TestCase): + """ExecCommandRequestIdType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testExecCommandRequestIdType(self): + """Test ExecCommandRequestIdType""" + # inst = ExecCommandRequestIdType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_exec_command_request_terminal_size.py b/koyeb/api_async/test/test_exec_command_request_terminal_size.py new file mode 100644 index 00000000..a9c2088f --- /dev/null +++ b/koyeb/api_async/test/test_exec_command_request_terminal_size.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.exec_command_request_terminal_size import ExecCommandRequestTerminalSize + +class TestExecCommandRequestTerminalSize(unittest.TestCase): + """ExecCommandRequestTerminalSize unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ExecCommandRequestTerminalSize: + """Test ExecCommandRequestTerminalSize + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ExecCommandRequestTerminalSize` + """ + model = ExecCommandRequestTerminalSize() + if include_optional: + return ExecCommandRequestTerminalSize( + height = 56, + width = 56 + ) + else: + return ExecCommandRequestTerminalSize( + ) + """ + + def testExecCommandRequestTerminalSize(self): + """Test ExecCommandRequestTerminalSize""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_gcp_container_registry_configuration.py b/koyeb/api_async/test/test_gcp_container_registry_configuration.py new file mode 100644 index 00000000..c195ca90 --- /dev/null +++ b/koyeb/api_async/test/test_gcp_container_registry_configuration.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.gcp_container_registry_configuration import GCPContainerRegistryConfiguration + +class TestGCPContainerRegistryConfiguration(unittest.TestCase): + """GCPContainerRegistryConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GCPContainerRegistryConfiguration: + """Test GCPContainerRegistryConfiguration + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GCPContainerRegistryConfiguration` + """ + model = GCPContainerRegistryConfiguration() + if include_optional: + return GCPContainerRegistryConfiguration( + keyfile_content = '', + url = '' + ) + else: + return GCPContainerRegistryConfiguration( + ) + """ + + def testGCPContainerRegistryConfiguration(self): + """Test GCPContainerRegistryConfiguration""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_app_reply.py b/koyeb/api_async/test/test_get_app_reply.py new file mode 100644 index 00000000..580d3917 --- /dev/null +++ b/koyeb/api_async/test/test_get_app_reply.py @@ -0,0 +1,86 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_app_reply import GetAppReply + +class TestGetAppReply(unittest.TestCase): + """GetAppReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAppReply: + """Test GetAppReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAppReply` + """ + model = GetAppReply() + if include_optional: + return GetAppReply( + app = koyeb.api_async.models.app.App( + id = '', + name = '', + organization_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + paused_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resumed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'STARTING', + messages = [ + '' + ], + version = '', + domains = [ + koyeb.api_async.models.domain.Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '', ) + ], + life_cycle = koyeb.api_async.models.app_life_cycle.AppLifeCycle( + delete_when_empty = True, ), ) + ) + else: + return GetAppReply( + ) + """ + + def testGetAppReply(self): + """Test GetAppReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_budget_reply.py b/koyeb/api_async/test/test_get_budget_reply.py new file mode 100644 index 00000000..e6b78efd --- /dev/null +++ b/koyeb/api_async/test/test_get_budget_reply.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_budget_reply import GetBudgetReply + +class TestGetBudgetReply(unittest.TestCase): + """GetBudgetReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetBudgetReply: + """Test GetBudgetReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetBudgetReply` + """ + model = GetBudgetReply() + if include_optional: + return GetBudgetReply( + budget = koyeb.api_async.models.budget.Budget( + amount = '', + thresholds = [ + '' + ], ) + ) + else: + return GetBudgetReply( + ) + """ + + def testGetBudgetReply(self): + """Test GetBudgetReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_catalog_instance_reply.py b/koyeb/api_async/test/test_get_catalog_instance_reply.py new file mode 100644 index 00000000..de517a2f --- /dev/null +++ b/koyeb/api_async/test/test_get_catalog_instance_reply.py @@ -0,0 +1,82 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_catalog_instance_reply import GetCatalogInstanceReply + +class TestGetCatalogInstanceReply(unittest.TestCase): + """GetCatalogInstanceReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetCatalogInstanceReply: + """Test GetCatalogInstanceReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetCatalogInstanceReply` + """ + model = GetCatalogInstanceReply() + if include_optional: + return GetCatalogInstanceReply( + instance = koyeb.api_async.models.catalog_instance.CatalogInstance( + id = '', + description = '', + vcpu = 56, + memory = '', + disk = '', + price_per_second = '', + price_hourly = '', + price_monthly = '', + regions = [ + '' + ], + status = '', + require_plan = [ + '' + ], + vcpu_shares = 1.337, + display_name = '', + aliases = [ + '' + ], + type = '', + gpu = koyeb.api_async.models.catalog_gpu_details.CatalogGPUDetails( + count = 56, + brand = '', + memory = '', + name = '', ), + service_types = [ + '' + ], + volumes_enabled = True, + light_sleep_enabled = True, ) + ) + else: + return GetCatalogInstanceReply( + ) + """ + + def testGetCatalogInstanceReply(self): + """Test GetCatalogInstanceReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_credential_reply.py b/koyeb/api_async/test/test_get_credential_reply.py new file mode 100644 index 00000000..5aff4d37 --- /dev/null +++ b/koyeb/api_async/test/test_get_credential_reply.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_credential_reply import GetCredentialReply + +class TestGetCredentialReply(unittest.TestCase): + """GetCredentialReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetCredentialReply: + """Test GetCredentialReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetCredentialReply` + """ + model = GetCredentialReply() + if include_optional: + return GetCredentialReply( + credential = koyeb.api_async.models.credential.Credential( + id = '', + type = 'INVALID', + name = '', + token = '', + description = '', + user_id = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ) + else: + return GetCredentialReply( + ) + """ + + def testGetCredentialReply(self): + """Test GetCredentialReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_deployment_reply.py b/koyeb/api_async/test/test_get_deployment_reply.py new file mode 100644 index 00000000..af471ccc --- /dev/null +++ b/koyeb/api_async/test/test_get_deployment_reply.py @@ -0,0 +1,235 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_deployment_reply import GetDeploymentReply + +class TestGetDeploymentReply(unittest.TestCase): + """GetDeploymentReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetDeploymentReply: + """Test GetDeploymentReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetDeploymentReply` + """ + model = GetDeploymentReply() + if include_optional: + return GetDeploymentReply( + deployment = koyeb.api_async.models.deployment.Deployment( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + allocated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + parent_id = '', + child_id = '', + status = 'PENDING', + metadata = koyeb.api_async.models.deployment_metadata.DeploymentMetadata( + trigger = koyeb.api_async.models.trigger_deployment_metadata.TriggerDeploymentMetadata( + type = 'UNKNOWN_TYPE', + actor = 'UNKNOWN_ACTOR', + git = koyeb.api_async.models.trigger_git_deployment_metadata.TriggerGitDeploymentMetadata( + provider = 'UNKNOWN', + repository = '', + branch = '', + sha = '', + message = '', + sender_username = '', + sender_avatar_url = '', + sender_profile_url = '', ), ), + database = koyeb.api_async.models.database_deployment_metadata.DatabaseDeploymentMetadata( + neon_postgres = koyeb.api_async.models.neon_postgres_database_deployment_metadata.NeonPostgresDatabaseDeploymentMetadata( + reset_role_passwords = [ + '' + ], ), ), + git = koyeb.api_async.models.git_deployment_metadata.GitDeploymentMetadata( + last_provisioned_deployment_id = '', + git_env = koyeb.api_async.models.git_env_deployment_metadata.GitEnvDeploymentMetadata( + sha = '', + commit_author = '', + commit_message = '', ), ), + archive = koyeb.api_async.models.archive_deployment_metadata.ArchiveDeploymentMetadata( + last_provisioned_deployment_id = '', ), + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port_metadata.DeploymentProxyPortMetadata( + host = '', + public_port = 56, + port = 56, + protocol = 'tcp', ) + ], + sandbox = koyeb.api_async.models.sandbox_metadata.SandboxMetadata( + public_url = '', + routing_key = '', ), ), + definition = koyeb.api_async.models.deployment_definition.DeploymentDefinition( + name = '', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.deployment_route.DeploymentRoute( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.deployment_port.DeploymentPort( + port = 56, ) + ], + env = [ + koyeb.api_async.models.deployment_env.DeploymentEnv( + scopes = [ + '' + ], + key = '', + value = '', + secret = '', ) + ], + regions = [ + '' + ], + scalings = [ + koyeb.api_async.models.deployment_scaling.DeploymentScaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ) + ], + instance_types = [ + koyeb.api_async.models.deployment_instance_type.DeploymentInstanceType() + ], + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.deployment_volume.DeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), ), + messages = [ + '' + ], + provisioning_info = koyeb.api_async.models.deployment_provisioning_info.DeploymentProvisioningInfo( + sha = '', + image = '', + stages = [ + koyeb.api_async.models.deployment_provisioning_info/stage.DeploymentProvisioningInfo.Stage( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + build_attempts = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt.DeploymentProvisioningInfo.Stage.BuildAttempt( + id = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + steps = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt/build_step.DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + image_pushed = True, + internal_failure = True, + retryable_failure = True, + wait_completion = True, ) + ], ) + ], ), + database_info = koyeb.api_async.models.deployment_database_info.DeploymentDatabaseInfo(), + skip_build = True, + role = 'INVALID', + version = '', + deployment_group = '', ) + ) + else: + return GetDeploymentReply( + ) + """ + + def testGetDeploymentReply(self): + """Test GetDeploymentReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_deployment_scaling_reply.py b/koyeb/api_async/test/test_get_deployment_scaling_reply.py new file mode 100644 index 00000000..1da74436 --- /dev/null +++ b/koyeb/api_async/test/test_get_deployment_scaling_reply.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_deployment_scaling_reply import GetDeploymentScalingReply + +class TestGetDeploymentScalingReply(unittest.TestCase): + """GetDeploymentScalingReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetDeploymentScalingReply: + """Test GetDeploymentScalingReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetDeploymentScalingReply` + """ + model = GetDeploymentScalingReply() + if include_optional: + return GetDeploymentScalingReply( + replicas = [ + koyeb.api_async.models.get_deployment_scaling_reply_item.GetDeploymentScalingReplyItem( + region = '', + replica_index = 56, + instances = [ + koyeb.api_async.models.instance.Instance( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + regional_deployment_id = '', + allocation_id = '', + type = '', + replica_index = 56, + region = '', + datacenter = '', + hypervisor = '', + status = 'ALLOCATING', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + xyz_deployment_id = '', ) + ], ) + ] + ) + else: + return GetDeploymentScalingReply( + ) + """ + + def testGetDeploymentScalingReply(self): + """Test GetDeploymentScalingReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_deployment_scaling_reply_item.py b/koyeb/api_async/test/test_get_deployment_scaling_reply_item.py new file mode 100644 index 00000000..61e9e69a --- /dev/null +++ b/koyeb/api_async/test/test_get_deployment_scaling_reply_item.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_deployment_scaling_reply_item import GetDeploymentScalingReplyItem + +class TestGetDeploymentScalingReplyItem(unittest.TestCase): + """GetDeploymentScalingReplyItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetDeploymentScalingReplyItem: + """Test GetDeploymentScalingReplyItem + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetDeploymentScalingReplyItem` + """ + model = GetDeploymentScalingReplyItem() + if include_optional: + return GetDeploymentScalingReplyItem( + region = '', + replica_index = 56, + instances = [ + koyeb.api_async.models.instance.Instance( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + regional_deployment_id = '', + allocation_id = '', + type = '', + replica_index = 56, + region = '', + datacenter = '', + hypervisor = '', + status = 'ALLOCATING', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + xyz_deployment_id = '', ) + ] + ) + else: + return GetDeploymentScalingReplyItem( + ) + """ + + def testGetDeploymentScalingReplyItem(self): + """Test GetDeploymentScalingReplyItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_domain_reply.py b/koyeb/api_async/test/test_get_domain_reply.py new file mode 100644 index 00000000..a69185c3 --- /dev/null +++ b/koyeb/api_async/test/test_get_domain_reply.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_domain_reply import GetDomainReply + +class TestGetDomainReply(unittest.TestCase): + """GetDomainReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetDomainReply: + """Test GetDomainReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetDomainReply` + """ + model = GetDomainReply() + if include_optional: + return GetDomainReply( + domain = koyeb.api_async.models.domain.Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'PENDING', + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + messages = [ + '' + ], + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '', ) + ) + else: + return GetDomainReply( + ) + """ + + def testGetDomainReply(self): + """Test GetDomainReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_github_installation_reply.py b/koyeb/api_async/test/test_get_github_installation_reply.py new file mode 100644 index 00000000..affaf67f --- /dev/null +++ b/koyeb/api_async/test/test_get_github_installation_reply.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_github_installation_reply import GetGithubInstallationReply + +class TestGetGithubInstallationReply(unittest.TestCase): + """GetGithubInstallationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetGithubInstallationReply: + """Test GetGithubInstallationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetGithubInstallationReply` + """ + model = GetGithubInstallationReply() + if include_optional: + return GetGithubInstallationReply( + installation_id = '', + installation_url = '', + name = '', + avatar_url = '', + status = 'INVALID', + installed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + suspended_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + indexing_status = 'INVALID_INDEXING_STATUS', + indexed_repositories = 56, + total_repositories = 56 + ) + else: + return GetGithubInstallationReply( + ) + """ + + def testGetGithubInstallationReply(self): + """Test GetGithubInstallationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_idenfy_token_reply.py b/koyeb/api_async/test/test_get_idenfy_token_reply.py new file mode 100644 index 00000000..d43121b9 --- /dev/null +++ b/koyeb/api_async/test/test_get_idenfy_token_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_idenfy_token_reply import GetIdenfyTokenReply + +class TestGetIdenfyTokenReply(unittest.TestCase): + """GetIdenfyTokenReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetIdenfyTokenReply: + """Test GetIdenfyTokenReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetIdenfyTokenReply` + """ + model = GetIdenfyTokenReply() + if include_optional: + return GetIdenfyTokenReply( + auth_token = '' + ) + else: + return GetIdenfyTokenReply( + ) + """ + + def testGetIdenfyTokenReply(self): + """Test GetIdenfyTokenReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_instance_reply.py b/koyeb/api_async/test/test_get_instance_reply.py new file mode 100644 index 00000000..ac63e15c --- /dev/null +++ b/koyeb/api_async/test/test_get_instance_reply.py @@ -0,0 +1,72 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_instance_reply import GetInstanceReply + +class TestGetInstanceReply(unittest.TestCase): + """GetInstanceReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetInstanceReply: + """Test GetInstanceReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetInstanceReply` + """ + model = GetInstanceReply() + if include_optional: + return GetInstanceReply( + instance = koyeb.api_async.models.instance.Instance( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + regional_deployment_id = '', + allocation_id = '', + type = '', + replica_index = 56, + region = '', + datacenter = '', + hypervisor = '', + status = 'ALLOCATING', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + xyz_deployment_id = '', ) + ) + else: + return GetInstanceReply( + ) + """ + + def testGetInstanceReply(self): + """Test GetInstanceReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_intercom_profile_reply.py b/koyeb/api_async/test/test_get_intercom_profile_reply.py new file mode 100644 index 00000000..9dfbcbfe --- /dev/null +++ b/koyeb/api_async/test/test_get_intercom_profile_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_intercom_profile_reply import GetIntercomProfileReply + +class TestGetIntercomProfileReply(unittest.TestCase): + """GetIntercomProfileReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetIntercomProfileReply: + """Test GetIntercomProfileReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetIntercomProfileReply` + """ + model = GetIntercomProfileReply() + if include_optional: + return GetIntercomProfileReply( + hash = '' + ) + else: + return GetIntercomProfileReply( + ) + """ + + def testGetIntercomProfileReply(self): + """Test GetIntercomProfileReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_metrics_reply.py b/koyeb/api_async/test/test_get_metrics_reply.py new file mode 100644 index 00000000..6214db00 --- /dev/null +++ b/koyeb/api_async/test/test_get_metrics_reply.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_metrics_reply import GetMetricsReply + +class TestGetMetricsReply(unittest.TestCase): + """GetMetricsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetMetricsReply: + """Test GetMetricsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetMetricsReply` + """ + model = GetMetricsReply() + if include_optional: + return GetMetricsReply( + metrics = [ + koyeb.api_async.models.get_metrics_reply/metric.GetMetricsReply.Metric( + labels = { + 'key' : '' + }, + samples = [ + koyeb.api_async.models.sample.Sample( + timestamp = '', + value = 1.337, ) + ], ) + ] + ) + else: + return GetMetricsReply( + ) + """ + + def testGetMetricsReply(self): + """Test GetMetricsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_metrics_reply_metric.py b/koyeb/api_async/test/test_get_metrics_reply_metric.py new file mode 100644 index 00000000..18a37417 --- /dev/null +++ b/koyeb/api_async/test/test_get_metrics_reply_metric.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_metrics_reply_metric import GetMetricsReplyMetric + +class TestGetMetricsReplyMetric(unittest.TestCase): + """GetMetricsReplyMetric unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetMetricsReplyMetric: + """Test GetMetricsReplyMetric + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetMetricsReplyMetric` + """ + model = GetMetricsReplyMetric() + if include_optional: + return GetMetricsReplyMetric( + labels = { + 'key' : '' + }, + samples = [ + koyeb.api_async.models.sample.Sample( + timestamp = '', + value = 1.337, ) + ] + ) + else: + return GetMetricsReplyMetric( + ) + """ + + def testGetMetricsReplyMetric(self): + """Test GetMetricsReplyMetric""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_o_auth_options_reply.py b/koyeb/api_async/test/test_get_o_auth_options_reply.py new file mode 100644 index 00000000..cc83c635 --- /dev/null +++ b/koyeb/api_async/test/test_get_o_auth_options_reply.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_o_auth_options_reply import GetOAuthOptionsReply + +class TestGetOAuthOptionsReply(unittest.TestCase): + """GetOAuthOptionsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetOAuthOptionsReply: + """Test GetOAuthOptionsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetOAuthOptionsReply` + """ + model = GetOAuthOptionsReply() + if include_optional: + return GetOAuthOptionsReply( + oauth_providers = [ + koyeb.api_async.models.o_auth_provider.OAuthProvider( + id = '', + url = '', + state = '', ) + ] + ) + else: + return GetOAuthOptionsReply( + ) + """ + + def testGetOAuthOptionsReply(self): + """Test GetOAuthOptionsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_organization_invitation_reply.py b/koyeb/api_async/test/test_get_organization_invitation_reply.py new file mode 100644 index 00000000..5f22d39d --- /dev/null +++ b/koyeb/api_async/test/test_get_organization_invitation_reply.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_organization_invitation_reply import GetOrganizationInvitationReply + +class TestGetOrganizationInvitationReply(unittest.TestCase): + """GetOrganizationInvitationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetOrganizationInvitationReply: + """Test GetOrganizationInvitationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetOrganizationInvitationReply` + """ + model = GetOrganizationInvitationReply() + if include_optional: + return GetOrganizationInvitationReply( + invitation = koyeb.api_async.models.organization_invitation.OrganizationInvitation( + id = '', + email = '', + role = 'INVALID', + status = 'INVALID', + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + external_id = '', ), + invitee_id = '', + invitee = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + inviter_id = '', + inviter = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), ) + ) + else: + return GetOrganizationInvitationReply( + ) + """ + + def testGetOrganizationInvitationReply(self): + """Test GetOrganizationInvitationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_organization_reply.py b/koyeb/api_async/test/test_get_organization_reply.py new file mode 100644 index 00000000..1c6295c2 --- /dev/null +++ b/koyeb/api_async/test/test_get_organization_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_organization_reply import GetOrganizationReply + +class TestGetOrganizationReply(unittest.TestCase): + """GetOrganizationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetOrganizationReply: + """Test GetOrganizationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetOrganizationReply` + """ + model = GetOrganizationReply() + if include_optional: + return GetOrganizationReply( + organization = koyeb.api_async.models.represent_an_organization.Represent an Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '', ) + ) + else: + return GetOrganizationReply( + ) + """ + + def testGetOrganizationReply(self): + """Test GetOrganizationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_organization_summary_reply.py b/koyeb/api_async/test/test_get_organization_summary_reply.py new file mode 100644 index 00000000..c1b6e677 --- /dev/null +++ b/koyeb/api_async/test/test_get_organization_summary_reply.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_organization_summary_reply import GetOrganizationSummaryReply + +class TestGetOrganizationSummaryReply(unittest.TestCase): + """GetOrganizationSummaryReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetOrganizationSummaryReply: + """Test GetOrganizationSummaryReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetOrganizationSummaryReply` + """ + model = GetOrganizationSummaryReply() + if include_optional: + return GetOrganizationSummaryReply( + summary = koyeb.api_async.models.organization_summary.OrganizationSummary( + organization_id = '', + instances = koyeb.api_async.models.instances_summary.InstancesSummary( + total = '', + by_type = { + 'key' : '' + }, ), + apps = koyeb.api_async.models.apps_summary.AppsSummary( + total = '', + by_status = { + 'key' : '' + }, ), + services = { + 'key' : koyeb.api_async.models.service_summary.ServiceSummary( + total = '', + by_status = { + 'key' : '' + }, ) + }, + domains = koyeb.api_async.models.domains_summary.DomainsSummary( + total = '', + by_status = { + 'key' : '' + }, ), + secrets = koyeb.api_async.models.secrets_summary.SecretsSummary( + total = '', + by_type = { + 'key' : '' + }, ), + neon_postgres = koyeb.api_async.models.neon_postgres_summary.NeonPostgresSummary( + total = '', + by_instance_type = { + 'key' : '' + }, ), + members = koyeb.api_async.models.members_summary.MembersSummary( + total = '', + invitations_by_status = { + 'key' : '' + }, ), ) + ) + else: + return GetOrganizationSummaryReply( + ) + """ + + def testGetOrganizationSummaryReply(self): + """Test GetOrganizationSummaryReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_organization_usage_details_reply.py b/koyeb/api_async/test/test_get_organization_usage_details_reply.py new file mode 100644 index 00000000..0f34432d --- /dev/null +++ b/koyeb/api_async/test/test_get_organization_usage_details_reply.py @@ -0,0 +1,82 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_organization_usage_details_reply import GetOrganizationUsageDetailsReply + +class TestGetOrganizationUsageDetailsReply(unittest.TestCase): + """GetOrganizationUsageDetailsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetOrganizationUsageDetailsReply: + """Test GetOrganizationUsageDetailsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetOrganizationUsageDetailsReply` + """ + model = GetOrganizationUsageDetailsReply() + if include_optional: + return GetOrganizationUsageDetailsReply( + usage_details = [ + koyeb.api_async.models.usage_details.UsageDetails( + organization_id = '', + instance_id = '', + app_id = '', + app_name = '', + service_id = '', + service_name = '', + regional_deployment_id = '', + region = '', + deployment_id = '', + instance_type = '', + duration_seconds = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + database_details = [ + koyeb.api_async.models.database_usage_details.DatabaseUsageDetails( + organization_id = '', + app_id = '', + app_name = '', + service_id = '', + service_name = '', + compute_time_seconds = 56, + data_storage_megabytes_hour = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + limit = 56, + offset = 56, + count = 56, + order = '' + ) + else: + return GetOrganizationUsageDetailsReply( + ) + """ + + def testGetOrganizationUsageDetailsReply(self): + """Test GetOrganizationUsageDetailsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_organization_usage_reply.py b/koyeb/api_async/test/test_get_organization_usage_reply.py new file mode 100644 index 00000000..76e03f64 --- /dev/null +++ b/koyeb/api_async/test/test_get_organization_usage_reply.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_organization_usage_reply import GetOrganizationUsageReply + +class TestGetOrganizationUsageReply(unittest.TestCase): + """GetOrganizationUsageReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetOrganizationUsageReply: + """Test GetOrganizationUsageReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetOrganizationUsageReply` + """ + model = GetOrganizationUsageReply() + if include_optional: + return GetOrganizationUsageReply( + usage = koyeb.api_async.models.usage.Usage( + organization_id = '', + periods = { + 'key' : koyeb.api_async.models.period_usage.PeriodUsage( + starting_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + ending_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + apps = [ + koyeb.api_async.models.app_usage.AppUsage( + app_id = '', + app_name = '', + services = [ + koyeb.api_async.models.service_usage.ServiceUsage( + service_id = '', + service_name = '', + regions = { + 'key' : koyeb.api_async.models.region_usage.RegionUsage( + instances = { + 'key' : koyeb.api_async.models.instance_usage.InstanceUsage( + duration_seconds = 56, ) + }, ) + }, ) + ], + databases = [ + koyeb.api_async.models.database_usage.DatabaseUsage( + service_id = '', + service_name = '', + compute_time_seconds = 56, + data_storage_megabytes_hours = 56, ) + ], ) + ], ) + }, ) + ) + else: + return GetOrganizationUsageReply( + ) + """ + + def testGetOrganizationUsageReply(self): + """Test GetOrganizationUsageReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_payment_method_reply.py b/koyeb/api_async/test/test_get_payment_method_reply.py new file mode 100644 index 00000000..10447516 --- /dev/null +++ b/koyeb/api_async/test/test_get_payment_method_reply.py @@ -0,0 +1,74 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_payment_method_reply import GetPaymentMethodReply + +class TestGetPaymentMethodReply(unittest.TestCase): + """GetPaymentMethodReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPaymentMethodReply: + """Test GetPaymentMethodReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPaymentMethodReply` + """ + model = GetPaymentMethodReply() + if include_optional: + return GetPaymentMethodReply( + payment_method = koyeb.api_async.models.payment_method.PaymentMethod( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + version = '', + organization_id = '', + type = '', + provider = '', + status = 'INVALID', + messages = [ + '' + ], + stripe_payment_method_id = '', + authorization_verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + authorization_canceled_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + authorization_stripe_payment_intent_id = '', + authorization_stripe_payment_intent_client_secret = '', + card_brand = '', + card_country = '', + card_funding = '', + card_fingerprint = '', + card_last_digits = '', + card_expiration_month = 56, + card_expiration_year = 56, ) + ) + else: + return GetPaymentMethodReply( + ) + """ + + def testGetPaymentMethodReply(self): + """Test GetPaymentMethodReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_persistent_volume_reply.py b/koyeb/api_async/test/test_get_persistent_volume_reply.py new file mode 100644 index 00000000..4c6a96d6 --- /dev/null +++ b/koyeb/api_async/test/test_get_persistent_volume_reply.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_persistent_volume_reply import GetPersistentVolumeReply + +class TestGetPersistentVolumeReply(unittest.TestCase): + """GetPersistentVolumeReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetPersistentVolumeReply: + """Test GetPersistentVolumeReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetPersistentVolumeReply` + """ + model = GetPersistentVolumeReply() + if include_optional: + return GetPersistentVolumeReply( + volume = koyeb.api_async.models.the_object_that_represent_a_volume_to_handle_persistency_for_deployments.The object that represent a volume to handle persistency for deployments( + id = '', + name = '', + snapshot_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + service_id = '', + region = '', + read_only = True, + max_size = 56, + cur_size = 56, + status = 'PERSISTENT_VOLUME_STATUS_INVALID', + backing_store = 'PERSISTENT_VOLUME_BACKING_STORE_INVALID', ) + ) + else: + return GetPersistentVolumeReply( + ) + """ + + def testGetPersistentVolumeReply(self): + """Test GetPersistentVolumeReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_project_reply.py b/koyeb/api_async/test/test_get_project_reply.py new file mode 100644 index 00000000..3d433c3f --- /dev/null +++ b/koyeb/api_async/test/test_get_project_reply.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_project_reply import GetProjectReply + +class TestGetProjectReply(unittest.TestCase): + """GetProjectReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetProjectReply: + """Test GetProjectReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetProjectReply` + """ + model = GetProjectReply() + if include_optional: + return GetProjectReply( + project = koyeb.api_async.models.project.Project( + id = '', + name = '', + description = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + service_count = '', ) + ) + else: + return GetProjectReply( + ) + """ + + def testGetProjectReply(self): + """Test GetProjectReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_quotas_reply.py b/koyeb/api_async/test/test_get_quotas_reply.py new file mode 100644 index 00000000..770c04b6 --- /dev/null +++ b/koyeb/api_async/test/test_get_quotas_reply.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_quotas_reply import GetQuotasReply + +class TestGetQuotasReply(unittest.TestCase): + """GetQuotasReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetQuotasReply: + """Test GetQuotasReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetQuotasReply` + """ + model = GetQuotasReply() + if include_optional: + return GetQuotasReply( + quotas = koyeb.api_async.models.quotas.Quotas( + apps = '', + services = '', + domains = '', + services_by_app = '', + service_provisioning_concurrency = '', + memory_mb = '', + instance_types = [ + '' + ], + regions = [ + '' + ], + max_organization_members = '', + max_instances_by_type = { + 'key' : '' + }, + persistent_volumes_by_region = { + 'key' : koyeb.api_async.models.persistent_volume_quotas.PersistentVolumeQuotas( + max_total_size = 56, + max_volume_size = 56, + max_per_instance_size = 56, ) + }, + custom_domains = '', + domains_load_balancer = koyeb.api_async.models.domain_load_balancer_quotas.DomainLoadBalancerQuotas( + max_koyeb = 56, ), + metrics_retention = 56, + logs_retention = 56, + access_reserved_subdomains = [ + '' + ], + proxy_ports = 56, + scale_to_zero = koyeb.api_async.models.scale_to_zero_quotas.ScaleToZeroQuotas( + is_deep_sleep_enabled = True, + deep_sleep_idle_delay_min = 56, + deep_sleep_idle_delay_max = 56, + is_light_sleep_enabled = True, + light_sleep_idle_delay_min = 56, + light_sleep_idle_delay_max = 56, ), + archives = '', + archive_max_size_mb = '', + lifecycle = koyeb.api_async.models.lifecycle_quotas.LifecycleQuotas( + delete_after_sleep_min = 56, + delete_after_sleep_max = 56, + delete_after_create_min = 56, + delete_after_create_max = 56, ), + max_projects = '', ) + ) + else: + return GetQuotasReply( + ) + """ + + def testGetQuotasReply(self): + """Test GetQuotasReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_region_reply.py b/koyeb/api_async/test/test_get_region_reply.py new file mode 100644 index 00000000..6aed0bc7 --- /dev/null +++ b/koyeb/api_async/test/test_get_region_reply.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_region_reply import GetRegionReply + +class TestGetRegionReply(unittest.TestCase): + """GetRegionReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRegionReply: + """Test GetRegionReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRegionReply` + """ + model = GetRegionReply() + if include_optional: + return GetRegionReply( + region = koyeb.api_async.models.region.Region( + id = '', + name = '', + coordinates = [ + '' + ], + status = '', + instances = [ + '' + ], + datacenters = [ + '' + ], + volumes_enabled = True, + scope = '', ) + ) + else: + return GetRegionReply( + ) + """ + + def testGetRegionReply(self): + """Test GetRegionReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_regional_deployment_reply.py b/koyeb/api_async/test/test_get_regional_deployment_reply.py new file mode 100644 index 00000000..b89d7457 --- /dev/null +++ b/koyeb/api_async/test/test_get_regional_deployment_reply.py @@ -0,0 +1,213 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_regional_deployment_reply import GetRegionalDeploymentReply + +class TestGetRegionalDeploymentReply(unittest.TestCase): + """GetRegionalDeploymentReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRegionalDeploymentReply: + """Test GetRegionalDeploymentReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRegionalDeploymentReply` + """ + model = GetRegionalDeploymentReply() + if include_optional: + return GetRegionalDeploymentReply( + regional_deployment = koyeb.api_async.models.regional_deployment.RegionalDeployment( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + scheduled_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + allocated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + region = '', + parent_id = '', + child_id = '', + status = 'PENDING', + messages = [ + '' + ], + definition = koyeb.api_async.models.regional_deployment_definition.RegionalDeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.route.Route( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.port.Port( + port = 56, + protocol = '', ) + ], + env = [ + koyeb.api_async.models.env.Env( + key = '', + value = '', + secret = '', ) + ], + region = '', + scaling = koyeb.api_async.models.scaling.Scaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ), + instance_type = '', + deployment_group = '', + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.regional_deployment_volume.RegionalDeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'REGIONAL_DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', ), ), + datacenters = [ + '' + ], + metadata = koyeb.api_async.models.regional_deployment_metadata.RegionalDeploymentMetadata(), + provisioning_info = koyeb.api_async.models.deployment_provisioning_info.DeploymentProvisioningInfo( + sha = '', + image = '', + stages = [ + koyeb.api_async.models.deployment_provisioning_info/stage.DeploymentProvisioningInfo.Stage( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + build_attempts = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt.DeploymentProvisioningInfo.Stage.BuildAttempt( + id = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + steps = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt/build_step.DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + image_pushed = True, + internal_failure = True, + retryable_failure = True, + wait_completion = True, ) + ], ) + ], ), + role = 'INVALID', + version = '', + deployment_group = '', + deployment_id = '', ) + ) + else: + return GetRegionalDeploymentReply( + ) + """ + + def testGetRegionalDeploymentReply(self): + """Test GetRegionalDeploymentReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_secret_reply.py b/koyeb/api_async/test/test_get_secret_reply.py new file mode 100644 index 00000000..8d355363 --- /dev/null +++ b/koyeb/api_async/test/test_get_secret_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_secret_reply import GetSecretReply + +class TestGetSecretReply(unittest.TestCase): + """GetSecretReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetSecretReply: + """Test GetSecretReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetSecretReply` + """ + model = GetSecretReply() + if include_optional: + return GetSecretReply( + secret = koyeb.api_async.models.secret.Secret( + id = '', + name = '', + organization_id = '', + type = 'SIMPLE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + project_id = '', + value = '', + docker_hub_registry = koyeb.api_async.models.docker_hub_registry_configuration.DockerHubRegistryConfiguration( + username = '', + password = '', ), + private_registry = koyeb.api_async.models.private_registry_configuration.PrivateRegistryConfiguration( + username = '', + password = '', + url = '', ), + digital_ocean_registry = koyeb.api_async.models.digital_ocean_registry_configuration.DigitalOceanRegistryConfiguration( + username = '', + password = '', ), + github_registry = koyeb.api_async.models.git_hub_registry_configuration.GitHubRegistryConfiguration( + username = '', + password = '', ), + gitlab_registry = koyeb.api_async.models.git_lab_registry_configuration.GitLabRegistryConfiguration( + username = '', + password = '', ), + gcp_container_registry = koyeb.api_async.models.gcp_container_registry_configuration.GCPContainerRegistryConfiguration( + keyfile_content = '', + url = '', ), + azure_container_registry = koyeb.api_async.models.azure_container_registry_configuration.AzureContainerRegistryConfiguration( + registry_name = '', + username = '', + password = '', ), + database_role_password = koyeb.api_async.models.database_role_password.DatabaseRolePassword( + username = '', + password = '', ), ) + ) + else: + return GetSecretReply( + ) + """ + + def testGetSecretReply(self): + """Test GetSecretReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_service_reply.py b/koyeb/api_async/test/test_get_service_reply.py new file mode 100644 index 00000000..a51bc745 --- /dev/null +++ b/koyeb/api_async/test/test_get_service_reply.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_service_reply import GetServiceReply + +class TestGetServiceReply(unittest.TestCase): + """GetServiceReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetServiceReply: + """Test GetServiceReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetServiceReply` + """ + model = GetServiceReply() + if include_optional: + return GetServiceReply( + service = koyeb.api_async.models.service.Service( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + paused_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resumed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + name = '', + type = 'INVALID_TYPE', + organization_id = '', + app_id = '', + status = 'STARTING', + messages = [ + '' + ], + version = '', + active_deployment_id = '', + latest_deployment_id = '', + last_provisioned_deployment_id = '', + state = koyeb.api_async.models.service_state.ServiceState( + desired_deployment = koyeb.api_async.models.desired_deployment.DesiredDeployment( + groups = [ + koyeb.api_async.models.desired_deployment/group.DesiredDeployment.Group( + name = '', + deployment_ids = [ + '' + ], ) + ], ), + auto_release = koyeb.api_async.models.auto_release.AutoRelease(), ), + life_cycle = koyeb.api_async.models.service_life_cycle.ServiceLifeCycle( + delete_after_sleep = 56, + delete_after_create = 56, ), ) + ) + else: + return GetServiceReply( + ) + """ + + def testGetServiceReply(self): + """Test GetServiceReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_service_scaling_reply.py b/koyeb/api_async/test/test_get_service_scaling_reply.py new file mode 100644 index 00000000..6606e3ea --- /dev/null +++ b/koyeb/api_async/test/test_get_service_scaling_reply.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_service_scaling_reply import GetServiceScalingReply + +class TestGetServiceScalingReply(unittest.TestCase): + """GetServiceScalingReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetServiceScalingReply: + """Test GetServiceScalingReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetServiceScalingReply` + """ + model = GetServiceScalingReply() + if include_optional: + return GetServiceScalingReply( + scalings = [ + koyeb.api_async.models.manual_service_scaling.ManualServiceScaling( + scopes = [ + '' + ], + instances = 56, ) + ] + ) + else: + return GetServiceScalingReply( + ) + """ + + def testGetServiceScalingReply(self): + """Test GetServiceScalingReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_snapshot_reply.py b/koyeb/api_async/test/test_get_snapshot_reply.py new file mode 100644 index 00000000..e8790445 --- /dev/null +++ b/koyeb/api_async/test/test_get_snapshot_reply.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_snapshot_reply import GetSnapshotReply + +class TestGetSnapshotReply(unittest.TestCase): + """GetSnapshotReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetSnapshotReply: + """Test GetSnapshotReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetSnapshotReply` + """ + model = GetSnapshotReply() + if include_optional: + return GetSnapshotReply( + snapshot = koyeb.api_async.models.snapshot.Snapshot( + id = '', + name = '', + size = 56, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + parent_volume_id = '', + region = '', + status = 'SNAPSHOT_STATUS_INVALID', + type = 'SNAPSHOT_TYPE_INVALID', ) + ) + else: + return GetSnapshotReply( + ) + """ + + def testGetSnapshotReply(self): + """Test GetSnapshotReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_subscription_reply.py b/koyeb/api_async/test/test_get_subscription_reply.py new file mode 100644 index 00000000..08e579c5 --- /dev/null +++ b/koyeb/api_async/test/test_get_subscription_reply.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_subscription_reply import GetSubscriptionReply + +class TestGetSubscriptionReply(unittest.TestCase): + """GetSubscriptionReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetSubscriptionReply: + """Test GetSubscriptionReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetSubscriptionReply` + """ + model = GetSubscriptionReply() + if include_optional: + return GetSubscriptionReply( + subscription = koyeb.api_async.models.subscription.Subscription( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + version = '', + organization_id = '', + stripe_subscription_id = '', + status = 'INVALID', + messages = [ + '' + ], + has_pending_update = True, + stripe_pending_invoice_id = '', + terminate_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + canceled_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + current_period_start = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + current_period_end = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + currency = '', + amount_payable = '', + amount_paid = '', + amount_remaining = '', + payment_failure = koyeb.api_async.models.subscription/payment_failure.Subscription.PaymentFailure( + failed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + next_attempt = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + attempt_count = '', + error_code = '', + error_reason = '', + error_type = '', + error_message = '', + payment_method_required = True, + redirect_url = '', + stripe_sdk = koyeb.api_async.models.subscription/payment_failure/stripe_sdk.Subscription.PaymentFailure.StripeSDK( + client_secret_key = '', + raw_json = '', ), ), + trialing = True, + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_max_spend = '', + current_spend = '', ) + ) + else: + return GetSubscriptionReply( + ) + """ + + def testGetSubscriptionReply(self): + """Test GetSubscriptionReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_user_organization_invitation_reply.py b/koyeb/api_async/test/test_get_user_organization_invitation_reply.py new file mode 100644 index 00000000..823ed490 --- /dev/null +++ b/koyeb/api_async/test/test_get_user_organization_invitation_reply.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_user_organization_invitation_reply import GetUserOrganizationInvitationReply + +class TestGetUserOrganizationInvitationReply(unittest.TestCase): + """GetUserOrganizationInvitationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetUserOrganizationInvitationReply: + """Test GetUserOrganizationInvitationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetUserOrganizationInvitationReply` + """ + model = GetUserOrganizationInvitationReply() + if include_optional: + return GetUserOrganizationInvitationReply( + invitation = koyeb.api_async.models.organization_invitation.OrganizationInvitation( + id = '', + email = '', + role = 'INVALID', + status = 'INVALID', + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + external_id = '', ), + invitee_id = '', + invitee = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + inviter_id = '', + inviter = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), ) + ) + else: + return GetUserOrganizationInvitationReply( + ) + """ + + def testGetUserOrganizationInvitationReply(self): + """Test GetUserOrganizationInvitationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_get_user_settings_reply.py b/koyeb/api_async/test/test_get_user_settings_reply.py new file mode 100644 index 00000000..15174f64 --- /dev/null +++ b/koyeb/api_async/test/test_get_user_settings_reply.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.get_user_settings_reply import GetUserSettingsReply + +class TestGetUserSettingsReply(unittest.TestCase): + """GetUserSettingsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetUserSettingsReply: + """Test GetUserSettingsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetUserSettingsReply` + """ + model = GetUserSettingsReply() + if include_optional: + return GetUserSettingsReply( + settings = koyeb.api_async.models.user_settings.UserSettings( + id = '', + user_id = '', + failed_deployment_email_notification = True, ) + ) + else: + return GetUserSettingsReply( + ) + """ + + def testGetUserSettingsReply(self): + """Test GetUserSettingsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_git_deployment_metadata.py b/koyeb/api_async/test/test_git_deployment_metadata.py new file mode 100644 index 00000000..6e8eb2e3 --- /dev/null +++ b/koyeb/api_async/test/test_git_deployment_metadata.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.git_deployment_metadata import GitDeploymentMetadata + +class TestGitDeploymentMetadata(unittest.TestCase): + """GitDeploymentMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GitDeploymentMetadata: + """Test GitDeploymentMetadata + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GitDeploymentMetadata` + """ + model = GitDeploymentMetadata() + if include_optional: + return GitDeploymentMetadata( + last_provisioned_deployment_id = '', + git_env = koyeb.api_async.models.git_env_deployment_metadata.GitEnvDeploymentMetadata( + sha = '', + commit_author = '', + commit_message = '', ) + ) + else: + return GitDeploymentMetadata( + ) + """ + + def testGitDeploymentMetadata(self): + """Test GitDeploymentMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_git_env_deployment_metadata.py b/koyeb/api_async/test/test_git_env_deployment_metadata.py new file mode 100644 index 00000000..b6268462 --- /dev/null +++ b/koyeb/api_async/test/test_git_env_deployment_metadata.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.git_env_deployment_metadata import GitEnvDeploymentMetadata + +class TestGitEnvDeploymentMetadata(unittest.TestCase): + """GitEnvDeploymentMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GitEnvDeploymentMetadata: + """Test GitEnvDeploymentMetadata + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GitEnvDeploymentMetadata` + """ + model = GitEnvDeploymentMetadata() + if include_optional: + return GitEnvDeploymentMetadata( + sha = '', + commit_author = '', + commit_message = '' + ) + else: + return GitEnvDeploymentMetadata( + ) + """ + + def testGitEnvDeploymentMetadata(self): + """Test GitEnvDeploymentMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_git_hub_registry_configuration.py b/koyeb/api_async/test/test_git_hub_registry_configuration.py new file mode 100644 index 00000000..a421acf2 --- /dev/null +++ b/koyeb/api_async/test/test_git_hub_registry_configuration.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.git_hub_registry_configuration import GitHubRegistryConfiguration + +class TestGitHubRegistryConfiguration(unittest.TestCase): + """GitHubRegistryConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GitHubRegistryConfiguration: + """Test GitHubRegistryConfiguration + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GitHubRegistryConfiguration` + """ + model = GitHubRegistryConfiguration() + if include_optional: + return GitHubRegistryConfiguration( + username = '', + password = '' + ) + else: + return GitHubRegistryConfiguration( + ) + """ + + def testGitHubRegistryConfiguration(self): + """Test GitHubRegistryConfiguration""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_git_lab_registry_configuration.py b/koyeb/api_async/test/test_git_lab_registry_configuration.py new file mode 100644 index 00000000..e7fc921c --- /dev/null +++ b/koyeb/api_async/test/test_git_lab_registry_configuration.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.git_lab_registry_configuration import GitLabRegistryConfiguration + +class TestGitLabRegistryConfiguration(unittest.TestCase): + """GitLabRegistryConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GitLabRegistryConfiguration: + """Test GitLabRegistryConfiguration + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GitLabRegistryConfiguration` + """ + model = GitLabRegistryConfiguration() + if include_optional: + return GitLabRegistryConfiguration( + username = '', + password = '' + ) + else: + return GitLabRegistryConfiguration( + ) + """ + + def testGitLabRegistryConfiguration(self): + """Test GitLabRegistryConfiguration""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_git_source.py b/koyeb/api_async/test/test_git_source.py new file mode 100644 index 00000000..c5c8a774 --- /dev/null +++ b/koyeb/api_async/test/test_git_source.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.git_source import GitSource + +class TestGitSource(unittest.TestCase): + """GitSource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GitSource: + """Test GitSource + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GitSource` + """ + model = GitSource() + if include_optional: + return GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), + docker = koyeb.api_async.models.docker_builder.DockerBuilder( + dockerfile = '', + entrypoint = [ + '' + ], + command = '', + args = [ + '' + ], + target = '', + privileged = True, ) + ) + else: + return GitSource( + ) + """ + + def testGitSource(self): + """Test GitSource""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_github_installation_reply.py b/koyeb/api_async/test/test_github_installation_reply.py new file mode 100644 index 00000000..1fc108cd --- /dev/null +++ b/koyeb/api_async/test/test_github_installation_reply.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.github_installation_reply import GithubInstallationReply + +class TestGithubInstallationReply(unittest.TestCase): + """GithubInstallationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GithubInstallationReply: + """Test GithubInstallationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GithubInstallationReply` + """ + model = GithubInstallationReply() + if include_optional: + return GithubInstallationReply( + app_name = '', + app_id = '', + url = '', + state = '' + ) + else: + return GithubInstallationReply( + ) + """ + + def testGithubInstallationReply(self): + """Test GithubInstallationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_github_installation_request.py b/koyeb/api_async/test/test_github_installation_request.py new file mode 100644 index 00000000..0205f5fc --- /dev/null +++ b/koyeb/api_async/test/test_github_installation_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.github_installation_request import GithubInstallationRequest + +class TestGithubInstallationRequest(unittest.TestCase): + """GithubInstallationRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GithubInstallationRequest: + """Test GithubInstallationRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GithubInstallationRequest` + """ + model = GithubInstallationRequest() + if include_optional: + return GithubInstallationRequest( + metadata = '' + ) + else: + return GithubInstallationRequest( + ) + """ + + def testGithubInstallationRequest(self): + """Test GithubInstallationRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_google_protobuf_any.py b/koyeb/api_async/test/test_google_protobuf_any.py new file mode 100644 index 00000000..11b7a466 --- /dev/null +++ b/koyeb/api_async/test/test_google_protobuf_any.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.google_protobuf_any import GoogleProtobufAny + +class TestGoogleProtobufAny(unittest.TestCase): + """GoogleProtobufAny unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoogleProtobufAny: + """Test GoogleProtobufAny + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoogleProtobufAny` + """ + model = GoogleProtobufAny() + if include_optional: + return GoogleProtobufAny( + type = '' + ) + else: + return GoogleProtobufAny( + ) + """ + + def testGoogleProtobufAny(self): + """Test GoogleProtobufAny""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_google_protobuf_null_value.py b/koyeb/api_async/test/test_google_protobuf_null_value.py new file mode 100644 index 00000000..02a5f348 --- /dev/null +++ b/koyeb/api_async/test/test_google_protobuf_null_value.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.google_protobuf_null_value import GoogleProtobufNullValue + +class TestGoogleProtobufNullValue(unittest.TestCase): + """GoogleProtobufNullValue unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testGoogleProtobufNullValue(self): + """Test GoogleProtobufNullValue""" + # inst = GoogleProtobufNullValue() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_google_rpc_status.py b/koyeb/api_async/test/test_google_rpc_status.py new file mode 100644 index 00000000..d069baef --- /dev/null +++ b/koyeb/api_async/test/test_google_rpc_status.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.google_rpc_status import GoogleRpcStatus + +class TestGoogleRpcStatus(unittest.TestCase): + """GoogleRpcStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GoogleRpcStatus: + """Test GoogleRpcStatus + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GoogleRpcStatus` + """ + model = GoogleRpcStatus() + if include_optional: + return GoogleRpcStatus( + code = 56, + message = '', + details = [ + { + 'key' : None + } + ] + ) + else: + return GoogleRpcStatus( + ) + """ + + def testGoogleRpcStatus(self): + """Test GoogleRpcStatus""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_has_unpaid_invoices_reply.py b/koyeb/api_async/test/test_has_unpaid_invoices_reply.py new file mode 100644 index 00000000..3f4b0f37 --- /dev/null +++ b/koyeb/api_async/test/test_has_unpaid_invoices_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.has_unpaid_invoices_reply import HasUnpaidInvoicesReply + +class TestHasUnpaidInvoicesReply(unittest.TestCase): + """HasUnpaidInvoicesReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HasUnpaidInvoicesReply: + """Test HasUnpaidInvoicesReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HasUnpaidInvoicesReply` + """ + model = HasUnpaidInvoicesReply() + if include_optional: + return HasUnpaidInvoicesReply( + has_unpaid_invoices = True + ) + else: + return HasUnpaidInvoicesReply( + ) + """ + + def testHasUnpaidInvoicesReply(self): + """Test HasUnpaidInvoicesReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_http_header.py b/koyeb/api_async/test/test_http_header.py new file mode 100644 index 00000000..d7f6ef7d --- /dev/null +++ b/koyeb/api_async/test/test_http_header.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.http_header import HTTPHeader + +class TestHTTPHeader(unittest.TestCase): + """HTTPHeader unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HTTPHeader: + """Test HTTPHeader + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HTTPHeader` + """ + model = HTTPHeader() + if include_optional: + return HTTPHeader( + key = '', + value = '' + ) + else: + return HTTPHeader( + ) + """ + + def testHTTPHeader(self): + """Test HTTPHeader""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_http_health_check.py b/koyeb/api_async/test/test_http_health_check.py new file mode 100644 index 00000000..5a56b74c --- /dev/null +++ b/koyeb/api_async/test/test_http_health_check.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.http_health_check import HTTPHealthCheck + +class TestHTTPHealthCheck(unittest.TestCase): + """HTTPHealthCheck unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HTTPHealthCheck: + """Test HTTPHealthCheck + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HTTPHealthCheck` + """ + model = HTTPHealthCheck() + if include_optional: + return HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ] + ) + else: + return HTTPHealthCheck( + ) + """ + + def testHTTPHealthCheck(self): + """Test HTTPHealthCheck""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_instance.py b/koyeb/api_async/test/test_instance.py new file mode 100644 index 00000000..5214167d --- /dev/null +++ b/koyeb/api_async/test/test_instance.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.instance import Instance + +class TestInstance(unittest.TestCase): + """Instance unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Instance: + """Test Instance + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Instance` + """ + model = Instance() + if include_optional: + return Instance( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + regional_deployment_id = '', + allocation_id = '', + type = '', + replica_index = 56, + region = '', + datacenter = '', + hypervisor = '', + status = 'ALLOCATING', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + xyz_deployment_id = '' + ) + else: + return Instance( + ) + """ + + def testInstance(self): + """Test Instance""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_instance_availability.py b/koyeb/api_async/test/test_instance_availability.py new file mode 100644 index 00000000..7504bb04 --- /dev/null +++ b/koyeb/api_async/test/test_instance_availability.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.instance_availability import InstanceAvailability + +class TestInstanceAvailability(unittest.TestCase): + """InstanceAvailability unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InstanceAvailability: + """Test InstanceAvailability + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InstanceAvailability` + """ + model = InstanceAvailability() + if include_optional: + return InstanceAvailability( + regions = { + 'key' : koyeb.api_async.models.region_availability.RegionAvailability( + availability = 'UNKNOWN', ) + }, + availability = 'UNKNOWN' + ) + else: + return InstanceAvailability( + ) + """ + + def testInstanceAvailability(self): + """Test InstanceAvailability""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_instance_event.py b/koyeb/api_async/test/test_instance_event.py new file mode 100644 index 00000000..855d62cd --- /dev/null +++ b/koyeb/api_async/test/test_instance_event.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.instance_event import InstanceEvent + +class TestInstanceEvent(unittest.TestCase): + """InstanceEvent unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InstanceEvent: + """Test InstanceEvent + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InstanceEvent` + """ + model = InstanceEvent() + if include_optional: + return InstanceEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + instance_id = '', + type = '', + message = '', + metadata = None + ) + else: + return InstanceEvent( + ) + """ + + def testInstanceEvent(self): + """Test InstanceEvent""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_instance_list_item.py b/koyeb/api_async/test/test_instance_list_item.py new file mode 100644 index 00000000..7ad2dd7d --- /dev/null +++ b/koyeb/api_async/test/test_instance_list_item.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.instance_list_item import InstanceListItem + +class TestInstanceListItem(unittest.TestCase): + """InstanceListItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InstanceListItem: + """Test InstanceListItem + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InstanceListItem` + """ + model = InstanceListItem() + if include_optional: + return InstanceListItem( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + regional_deployment_id = '', + allocation_id = '', + type = '', + replica_index = 56, + region = '', + datacenter = '', + status = 'ALLOCATING', + messages = [ + '' + ], + xyz_deployment_id = '' + ) + else: + return InstanceListItem( + ) + """ + + def testInstanceListItem(self): + """Test InstanceListItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_instance_status.py b/koyeb/api_async/test/test_instance_status.py new file mode 100644 index 00000000..0c097476 --- /dev/null +++ b/koyeb/api_async/test/test_instance_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.instance_status import InstanceStatus + +class TestInstanceStatus(unittest.TestCase): + """InstanceStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testInstanceStatus(self): + """Test InstanceStatus""" + # inst = InstanceStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_instance_usage.py b/koyeb/api_async/test/test_instance_usage.py new file mode 100644 index 00000000..56a8efca --- /dev/null +++ b/koyeb/api_async/test/test_instance_usage.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.instance_usage import InstanceUsage + +class TestInstanceUsage(unittest.TestCase): + """InstanceUsage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InstanceUsage: + """Test InstanceUsage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InstanceUsage` + """ + model = InstanceUsage() + if include_optional: + return InstanceUsage( + duration_seconds = 56 + ) + else: + return InstanceUsage( + ) + """ + + def testInstanceUsage(self): + """Test InstanceUsage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_instances_api.py b/koyeb/api_async/test/test_instances_api.py new file mode 100644 index 00000000..90c3247f --- /dev/null +++ b/koyeb/api_async/test/test_instances_api.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.instances_api import InstancesApi + + +class TestInstancesApi(unittest.IsolatedAsyncioTestCase): + """InstancesApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = InstancesApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_exec_command(self) -> None: + """Test case for exec_command + + Exec Command + """ + pass + + async def test_get_instance(self) -> None: + """Test case for get_instance + + Get Instance + """ + pass + + async def test_list_instance_events(self) -> None: + """Test case for list_instance_events + + List Instance events + """ + pass + + async def test_list_instances(self) -> None: + """Test case for list_instances + + List Instances + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_instances_summary.py b/koyeb/api_async/test/test_instances_summary.py new file mode 100644 index 00000000..af4aeebf --- /dev/null +++ b/koyeb/api_async/test/test_instances_summary.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.instances_summary import InstancesSummary + +class TestInstancesSummary(unittest.TestCase): + """InstancesSummary unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InstancesSummary: + """Test InstancesSummary + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InstancesSummary` + """ + model = InstancesSummary() + if include_optional: + return InstancesSummary( + total = '', + by_type = { + 'key' : '' + } + ) + else: + return InstancesSummary( + ) + """ + + def testInstancesSummary(self): + """Test InstancesSummary""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_intercom_api.py b/koyeb/api_async/test/test_intercom_api.py new file mode 100644 index 00000000..e731ac5c --- /dev/null +++ b/koyeb/api_async/test/test_intercom_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.intercom_api import IntercomApi + + +class TestIntercomApi(unittest.IsolatedAsyncioTestCase): + """IntercomApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = IntercomApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_get_intercom_profile(self) -> None: + """Test case for get_intercom_profile + + Get intercom profile + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_invite_api.py b/koyeb/api_async/test/test_invite_api.py new file mode 100644 index 00000000..e3ce45fe --- /dev/null +++ b/koyeb/api_async/test/test_invite_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.invite_api import InviteApi + + +class TestInviteApi(unittest.IsolatedAsyncioTestCase): + """InviteApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = InviteApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_invite(self) -> None: + """Test case for create_invite + + DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_invite_user_request.py b/koyeb/api_async/test/test_invite_user_request.py new file mode 100644 index 00000000..a427d961 --- /dev/null +++ b/koyeb/api_async/test/test_invite_user_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.invite_user_request import InviteUserRequest + +class TestInviteUserRequest(unittest.TestCase): + """InviteUserRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InviteUserRequest: + """Test InviteUserRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InviteUserRequest` + """ + model = InviteUserRequest() + if include_optional: + return InviteUserRequest( + email = '', + name = '', + message = '' + ) + else: + return InviteUserRequest( + ) + """ + + def testInviteUserRequest(self): + """Test InviteUserRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_kgitproxy_branch.py b/koyeb/api_async/test/test_kgitproxy_branch.py new file mode 100644 index 00000000..10dd4c89 --- /dev/null +++ b/koyeb/api_async/test/test_kgitproxy_branch.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.kgitproxy_branch import KgitproxyBranch + +class TestKgitproxyBranch(unittest.TestCase): + """KgitproxyBranch unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KgitproxyBranch: + """Test KgitproxyBranch + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KgitproxyBranch` + """ + model = KgitproxyBranch() + if include_optional: + return KgitproxyBranch( + id = '', + organization_id = '', + repository_id = '', + name = '', + is_default = True, + is_protected = True, + provider = 'INVALID_PROVIDER' + ) + else: + return KgitproxyBranch( + ) + """ + + def testKgitproxyBranch(self): + """Test KgitproxyBranch""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_kgitproxy_git_hub_repository.py b/koyeb/api_async/test/test_kgitproxy_git_hub_repository.py new file mode 100644 index 00000000..e8218e4f --- /dev/null +++ b/koyeb/api_async/test/test_kgitproxy_git_hub_repository.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.kgitproxy_git_hub_repository import KgitproxyGitHubRepository + +class TestKgitproxyGitHubRepository(unittest.TestCase): + """KgitproxyGitHubRepository unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KgitproxyGitHubRepository: + """Test KgitproxyGitHubRepository + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KgitproxyGitHubRepository` + """ + model = KgitproxyGitHubRepository() + if include_optional: + return KgitproxyGitHubRepository( + github_id = '' + ) + else: + return KgitproxyGitHubRepository( + ) + """ + + def testKgitproxyGitHubRepository(self): + """Test KgitproxyGitHubRepository""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_kgitproxy_github_installation_status.py b/koyeb/api_async/test/test_kgitproxy_github_installation_status.py new file mode 100644 index 00000000..32f260e7 --- /dev/null +++ b/koyeb/api_async/test/test_kgitproxy_github_installation_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.kgitproxy_github_installation_status import KgitproxyGithubInstallationStatus + +class TestKgitproxyGithubInstallationStatus(unittest.TestCase): + """KgitproxyGithubInstallationStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testKgitproxyGithubInstallationStatus(self): + """Test KgitproxyGithubInstallationStatus""" + # inst = KgitproxyGithubInstallationStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_kgitproxy_indexing_status.py b/koyeb/api_async/test/test_kgitproxy_indexing_status.py new file mode 100644 index 00000000..47add146 --- /dev/null +++ b/koyeb/api_async/test/test_kgitproxy_indexing_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.kgitproxy_indexing_status import KgitproxyIndexingStatus + +class TestKgitproxyIndexingStatus(unittest.TestCase): + """KgitproxyIndexingStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testKgitproxyIndexingStatus(self): + """Test KgitproxyIndexingStatus""" + # inst = KgitproxyIndexingStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_kgitproxy_list_branches_reply.py b/koyeb/api_async/test/test_kgitproxy_list_branches_reply.py new file mode 100644 index 00000000..e842078c --- /dev/null +++ b/koyeb/api_async/test/test_kgitproxy_list_branches_reply.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.kgitproxy_list_branches_reply import KgitproxyListBranchesReply + +class TestKgitproxyListBranchesReply(unittest.TestCase): + """KgitproxyListBranchesReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KgitproxyListBranchesReply: + """Test KgitproxyListBranchesReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KgitproxyListBranchesReply` + """ + model = KgitproxyListBranchesReply() + if include_optional: + return KgitproxyListBranchesReply( + branches = [ + koyeb.api_async.models.kgitproxy/branch.kgitproxy.Branch( + id = '', + organization_id = '', + repository_id = '', + name = '', + is_default = True, + is_protected = True, + provider = 'INVALID_PROVIDER', ) + ], + limit = 56, + offset = 56, + count = 56 + ) + else: + return KgitproxyListBranchesReply( + ) + """ + + def testKgitproxyListBranchesReply(self): + """Test KgitproxyListBranchesReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_kgitproxy_list_repositories_reply.py b/koyeb/api_async/test/test_kgitproxy_list_repositories_reply.py new file mode 100644 index 00000000..f131cfa5 --- /dev/null +++ b/koyeb/api_async/test/test_kgitproxy_list_repositories_reply.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.kgitproxy_list_repositories_reply import KgitproxyListRepositoriesReply + +class TestKgitproxyListRepositoriesReply(unittest.TestCase): + """KgitproxyListRepositoriesReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KgitproxyListRepositoriesReply: + """Test KgitproxyListRepositoriesReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KgitproxyListRepositoriesReply` + """ + model = KgitproxyListRepositoriesReply() + if include_optional: + return KgitproxyListRepositoriesReply( + repositories = [ + koyeb.api_async.models.kgitproxy/repository.kgitproxy.Repository( + id = '', + organization_id = '', + name = '', + url = '', + description = '', + is_private = True, + is_disabled = True, + default_branch = '', + provider = 'INVALID_PROVIDER', + last_push_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + github = koyeb.api_async.models.kgitproxy/git_hub_repository.kgitproxy.GitHubRepository( + github_id = '', ), ) + ], + limit = 56, + offset = 56, + count = 56 + ) + else: + return KgitproxyListRepositoriesReply( + ) + """ + + def testKgitproxyListRepositoriesReply(self): + """Test KgitproxyListRepositoriesReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_kgitproxy_repository.py b/koyeb/api_async/test/test_kgitproxy_repository.py new file mode 100644 index 00000000..44282426 --- /dev/null +++ b/koyeb/api_async/test/test_kgitproxy_repository.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.kgitproxy_repository import KgitproxyRepository + +class TestKgitproxyRepository(unittest.TestCase): + """KgitproxyRepository unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KgitproxyRepository: + """Test KgitproxyRepository + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KgitproxyRepository` + """ + model = KgitproxyRepository() + if include_optional: + return KgitproxyRepository( + id = '', + organization_id = '', + name = '', + url = '', + description = '', + is_private = True, + is_disabled = True, + default_branch = '', + provider = 'INVALID_PROVIDER', + last_push_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + github = koyeb.api_async.models.kgitproxy/git_hub_repository.kgitproxy.GitHubRepository( + github_id = '', ) + ) + else: + return KgitproxyRepository( + ) + """ + + def testKgitproxyRepository(self): + """Test KgitproxyRepository""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_kgitproxy_repository_provider.py b/koyeb/api_async/test/test_kgitproxy_repository_provider.py new file mode 100644 index 00000000..8faa8441 --- /dev/null +++ b/koyeb/api_async/test/test_kgitproxy_repository_provider.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.kgitproxy_repository_provider import KgitproxyRepositoryProvider + +class TestKgitproxyRepositoryProvider(unittest.TestCase): + """KgitproxyRepositoryProvider unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testKgitproxyRepositoryProvider(self): + """Test KgitproxyRepositoryProvider""" + # inst = KgitproxyRepositoryProvider() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_ksearch_app.py b/koyeb/api_async/test/test_ksearch_app.py new file mode 100644 index 00000000..98444eb8 --- /dev/null +++ b/koyeb/api_async/test/test_ksearch_app.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.ksearch_app import KsearchApp + +class TestKsearchApp(unittest.TestCase): + """KsearchApp unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KsearchApp: + """Test KsearchApp + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KsearchApp` + """ + model = KsearchApp() + if include_optional: + return KsearchApp( + id = '', + organization_id = '', + name = '' + ) + else: + return KsearchApp( + ) + """ + + def testKsearchApp(self): + """Test KsearchApp""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_ksearch_global_deployment.py b/koyeb/api_async/test/test_ksearch_global_deployment.py new file mode 100644 index 00000000..bdccf608 --- /dev/null +++ b/koyeb/api_async/test/test_ksearch_global_deployment.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.ksearch_global_deployment import KsearchGlobalDeployment + +class TestKsearchGlobalDeployment(unittest.TestCase): + """KsearchGlobalDeployment unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KsearchGlobalDeployment: + """Test KsearchGlobalDeployment + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KsearchGlobalDeployment` + """ + model = KsearchGlobalDeployment() + if include_optional: + return KsearchGlobalDeployment( + id = '', + organization_id = '', + app_id = '', + service_id = '' + ) + else: + return KsearchGlobalDeployment( + ) + """ + + def testKsearchGlobalDeployment(self): + """Test KsearchGlobalDeployment""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_ksearch_instance.py b/koyeb/api_async/test/test_ksearch_instance.py new file mode 100644 index 00000000..bd184aa6 --- /dev/null +++ b/koyeb/api_async/test/test_ksearch_instance.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.ksearch_instance import KsearchInstance + +class TestKsearchInstance(unittest.TestCase): + """KsearchInstance unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KsearchInstance: + """Test KsearchInstance + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KsearchInstance` + """ + model = KsearchInstance() + if include_optional: + return KsearchInstance( + id = '', + organization_id = '', + app_id = '', + service_id = '', + allocation_id = '' + ) + else: + return KsearchInstance( + ) + """ + + def testKsearchInstance(self): + """Test KsearchInstance""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_ksearch_organization.py b/koyeb/api_async/test/test_ksearch_organization.py new file mode 100644 index 00000000..32462129 --- /dev/null +++ b/koyeb/api_async/test/test_ksearch_organization.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.ksearch_organization import KsearchOrganization + +class TestKsearchOrganization(unittest.TestCase): + """KsearchOrganization unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KsearchOrganization: + """Test KsearchOrganization + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KsearchOrganization` + """ + model = KsearchOrganization() + if include_optional: + return KsearchOrganization( + id = '', + name = '' + ) + else: + return KsearchOrganization( + ) + """ + + def testKsearchOrganization(self): + """Test KsearchOrganization""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_ksearch_regional_deployment.py b/koyeb/api_async/test/test_ksearch_regional_deployment.py new file mode 100644 index 00000000..44241a37 --- /dev/null +++ b/koyeb/api_async/test/test_ksearch_regional_deployment.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.ksearch_regional_deployment import KsearchRegionalDeployment + +class TestKsearchRegionalDeployment(unittest.TestCase): + """KsearchRegionalDeployment unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KsearchRegionalDeployment: + """Test KsearchRegionalDeployment + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KsearchRegionalDeployment` + """ + model = KsearchRegionalDeployment() + if include_optional: + return KsearchRegionalDeployment( + id = '', + organization_id = '', + app_id = '', + service_id = '', + region = '' + ) + else: + return KsearchRegionalDeployment( + ) + """ + + def testKsearchRegionalDeployment(self): + """Test KsearchRegionalDeployment""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_ksearch_search_reply.py b/koyeb/api_async/test/test_ksearch_search_reply.py new file mode 100644 index 00000000..2460f2f4 --- /dev/null +++ b/koyeb/api_async/test/test_ksearch_search_reply.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.ksearch_search_reply import KsearchSearchReply + +class TestKsearchSearchReply(unittest.TestCase): + """KsearchSearchReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KsearchSearchReply: + """Test KsearchSearchReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KsearchSearchReply` + """ + model = KsearchSearchReply() + if include_optional: + return KsearchSearchReply( + organizations = [ + koyeb.api_async.models.ksearch/organization.ksearch.Organization( + id = '', + name = '', ) + ], + users = [ + koyeb.api_async.models.ksearch/user.ksearch.User( + id = '', + email = '', + name = '', + github_user = '', ) + ], + apps = [ + koyeb.api_async.models.ksearch/app.ksearch.App( + id = '', + organization_id = '', + name = '', ) + ], + services = [ + koyeb.api_async.models.ksearch/service.ksearch.Service( + id = '', + organization_id = '', + app_id = '', + name = '', ) + ], + global_deployments = [ + koyeb.api_async.models.ksearch/global_deployment.ksearch.GlobalDeployment( + id = '', + organization_id = '', + app_id = '', + service_id = '', ) + ], + regional_deployments = [ + koyeb.api_async.models.ksearch/regional_deployment.ksearch.RegionalDeployment( + id = '', + organization_id = '', + app_id = '', + service_id = '', + region = '', ) + ], + instances = [ + koyeb.api_async.models.ksearch/instance.ksearch.Instance( + id = '', + organization_id = '', + app_id = '', + service_id = '', + allocation_id = '', ) + ] + ) + else: + return KsearchSearchReply( + ) + """ + + def testKsearchSearchReply(self): + """Test KsearchSearchReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_ksearch_service.py b/koyeb/api_async/test/test_ksearch_service.py new file mode 100644 index 00000000..915ecbc6 --- /dev/null +++ b/koyeb/api_async/test/test_ksearch_service.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.ksearch_service import KsearchService + +class TestKsearchService(unittest.TestCase): + """KsearchService unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KsearchService: + """Test KsearchService + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KsearchService` + """ + model = KsearchService() + if include_optional: + return KsearchService( + id = '', + organization_id = '', + app_id = '', + name = '' + ) + else: + return KsearchService( + ) + """ + + def testKsearchService(self): + """Test KsearchService""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_ksearch_user.py b/koyeb/api_async/test/test_ksearch_user.py new file mode 100644 index 00000000..e8335852 --- /dev/null +++ b/koyeb/api_async/test/test_ksearch_user.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.ksearch_user import KsearchUser + +class TestKsearchUser(unittest.TestCase): + """KsearchUser unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KsearchUser: + """Test KsearchUser + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KsearchUser` + """ + model = KsearchUser() + if include_optional: + return KsearchUser( + id = '', + email = '', + name = '', + github_user = '' + ) + else: + return KsearchUser( + ) + """ + + def testKsearchUser(self): + """Test KsearchUser""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_ktest_test_auth_reply.py b/koyeb/api_async/test/test_ktest_test_auth_reply.py new file mode 100644 index 00000000..19540f48 --- /dev/null +++ b/koyeb/api_async/test/test_ktest_test_auth_reply.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.ktest_test_auth_reply import KtestTestAuthReply + +class TestKtestTestAuthReply(unittest.TestCase): + """KtestTestAuthReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KtestTestAuthReply: + """Test KtestTestAuthReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KtestTestAuthReply` + """ + model = KtestTestAuthReply() + if include_optional: + return KtestTestAuthReply( + payload = '', + user_id = '', + organization_id = '', + workspace_id = '' + ) + else: + return KtestTestAuthReply( + ) + """ + + def testKtestTestAuthReply(self): + """Test KtestTestAuthReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_ktest_test_auth_request.py b/koyeb/api_async/test/test_ktest_test_auth_request.py new file mode 100644 index 00000000..ad2ef0df --- /dev/null +++ b/koyeb/api_async/test/test_ktest_test_auth_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.ktest_test_auth_request import KtestTestAuthRequest + +class TestKtestTestAuthRequest(unittest.TestCase): + """KtestTestAuthRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> KtestTestAuthRequest: + """Test KtestTestAuthRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `KtestTestAuthRequest` + """ + model = KtestTestAuthRequest() + if include_optional: + return KtestTestAuthRequest( + payload = '' + ) + else: + return KtestTestAuthRequest( + ) + """ + + def testKtestTestAuthRequest(self): + """Test KtestTestAuthRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_lifecycle_quotas.py b/koyeb/api_async/test/test_lifecycle_quotas.py new file mode 100644 index 00000000..ff8e38f6 --- /dev/null +++ b/koyeb/api_async/test/test_lifecycle_quotas.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.lifecycle_quotas import LifecycleQuotas + +class TestLifecycleQuotas(unittest.TestCase): + """LifecycleQuotas unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LifecycleQuotas: + """Test LifecycleQuotas + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LifecycleQuotas` + """ + model = LifecycleQuotas() + if include_optional: + return LifecycleQuotas( + delete_after_sleep_min = 56, + delete_after_sleep_max = 56, + delete_after_create_min = 56, + delete_after_create_max = 56 + ) + else: + return LifecycleQuotas( + ) + """ + + def testLifecycleQuotas(self): + """Test LifecycleQuotas""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_app_events_reply.py b/koyeb/api_async/test/test_list_app_events_reply.py new file mode 100644 index 00000000..88686eb0 --- /dev/null +++ b/koyeb/api_async/test/test_list_app_events_reply.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_app_events_reply import ListAppEventsReply + +class TestListAppEventsReply(unittest.TestCase): + """ListAppEventsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListAppEventsReply: + """Test ListAppEventsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListAppEventsReply` + """ + model = ListAppEventsReply() + if include_optional: + return ListAppEventsReply( + events = [ + koyeb.api_async.models.app_event.AppEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + type = '', + message = '', + metadata = koyeb.api_async.models.metadata.metadata(), ) + ], + limit = 56, + offset = 56, + order = '', + has_next = True + ) + else: + return ListAppEventsReply( + ) + """ + + def testListAppEventsReply(self): + """Test ListAppEventsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_apps_reply.py b/koyeb/api_async/test/test_list_apps_reply.py new file mode 100644 index 00000000..8e8883ae --- /dev/null +++ b/koyeb/api_async/test/test_list_apps_reply.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_apps_reply import ListAppsReply + +class TestListAppsReply(unittest.TestCase): + """ListAppsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListAppsReply: + """Test ListAppsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListAppsReply` + """ + model = ListAppsReply() + if include_optional: + return ListAppsReply( + apps = [ + koyeb.api_async.models.app_list_item.AppListItem( + id = '', + name = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + domains = [ + koyeb.api_async.models.domain.Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'PENDING', + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + messages = [ + '' + ], + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '', ) + ], + status = 'STARTING', + messages = [ + '' + ], ) + ], + limit = 56, + offset = 56, + count = 56, + has_next = True + ) + else: + return ListAppsReply( + ) + """ + + def testListAppsReply(self): + """Test ListAppsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_catalog_instances_reply.py b/koyeb/api_async/test/test_list_catalog_instances_reply.py new file mode 100644 index 00000000..ef8fe566 --- /dev/null +++ b/koyeb/api_async/test/test_list_catalog_instances_reply.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_catalog_instances_reply import ListCatalogInstancesReply + +class TestListCatalogInstancesReply(unittest.TestCase): + """ListCatalogInstancesReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListCatalogInstancesReply: + """Test ListCatalogInstancesReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListCatalogInstancesReply` + """ + model = ListCatalogInstancesReply() + if include_optional: + return ListCatalogInstancesReply( + instances = [ + koyeb.api_async.models.catalog_instance_list_item.CatalogInstanceListItem( + id = '', + description = '', + vcpu = 56, + memory = '', + disk = '', + price_per_second = '', + price_hourly = '', + price_monthly = '', + regions = [ + '' + ], + status = '', + require_plan = [ + '' + ], + vcpu_shares = 1.337, + display_name = '', + aliases = [ + '' + ], + type = '', + gpu = koyeb.api_async.models.catalog_gpu_details.CatalogGPUDetails( + count = 56, + brand = '', + memory = '', + name = '', ), + service_types = [ + '' + ], + volumes_enabled = True, + light_sleep_enabled = True, ) + ], + limit = 56, + offset = 56, + count = 56 + ) + else: + return ListCatalogInstancesReply( + ) + """ + + def testListCatalogInstancesReply(self): + """Test ListCatalogInstancesReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_credentials_reply.py b/koyeb/api_async/test/test_list_credentials_reply.py new file mode 100644 index 00000000..34ccd7f5 --- /dev/null +++ b/koyeb/api_async/test/test_list_credentials_reply.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_credentials_reply import ListCredentialsReply + +class TestListCredentialsReply(unittest.TestCase): + """ListCredentialsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListCredentialsReply: + """Test ListCredentialsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListCredentialsReply` + """ + model = ListCredentialsReply() + if include_optional: + return ListCredentialsReply( + credentials = [ + koyeb.api_async.models.credential.Credential( + id = '', + type = 'INVALID', + name = '', + token = '', + description = '', + user_id = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + limit = 56, + offset = 56, + count = 56 + ) + else: + return ListCredentialsReply( + ) + """ + + def testListCredentialsReply(self): + """Test ListCredentialsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_datacenters_reply.py b/koyeb/api_async/test/test_list_datacenters_reply.py new file mode 100644 index 00000000..0e65dedd --- /dev/null +++ b/koyeb/api_async/test/test_list_datacenters_reply.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_datacenters_reply import ListDatacentersReply + +class TestListDatacentersReply(unittest.TestCase): + """ListDatacentersReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListDatacentersReply: + """Test ListDatacentersReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListDatacentersReply` + """ + model = ListDatacentersReply() + if include_optional: + return ListDatacentersReply( + datacenters = [ + koyeb.api_async.models.datacenter_list_item.DatacenterListItem( + id = '', + region_id = '', + domain = '', + coordinates = [ + '' + ], + use_gpu = True, + regions = [ + '' + ], ) + ] + ) + else: + return ListDatacentersReply( + ) + """ + + def testListDatacentersReply(self): + """Test ListDatacentersReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_deployment_events_reply.py b/koyeb/api_async/test/test_list_deployment_events_reply.py new file mode 100644 index 00000000..ad75057a --- /dev/null +++ b/koyeb/api_async/test/test_list_deployment_events_reply.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_deployment_events_reply import ListDeploymentEventsReply + +class TestListDeploymentEventsReply(unittest.TestCase): + """ListDeploymentEventsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListDeploymentEventsReply: + """Test ListDeploymentEventsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListDeploymentEventsReply` + """ + model = ListDeploymentEventsReply() + if include_optional: + return ListDeploymentEventsReply( + events = [ + koyeb.api_async.models.deployment_event.DeploymentEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + deployment_id = '', + type = '', + message = '', + metadata = koyeb.api_async.models.metadata.metadata(), ) + ], + limit = 56, + offset = 56, + order = '', + has_next = True + ) + else: + return ListDeploymentEventsReply( + ) + """ + + def testListDeploymentEventsReply(self): + """Test ListDeploymentEventsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_deployments_reply.py b/koyeb/api_async/test/test_list_deployments_reply.py new file mode 100644 index 00000000..35b9f0db --- /dev/null +++ b/koyeb/api_async/test/test_list_deployments_reply.py @@ -0,0 +1,239 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_deployments_reply import ListDeploymentsReply + +class TestListDeploymentsReply(unittest.TestCase): + """ListDeploymentsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListDeploymentsReply: + """Test ListDeploymentsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListDeploymentsReply` + """ + model = ListDeploymentsReply() + if include_optional: + return ListDeploymentsReply( + deployments = [ + koyeb.api_async.models.deployment_list_item.DeploymentListItem( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + allocated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + parent_id = '', + child_id = '', + status = 'PENDING', + metadata = koyeb.api_async.models.deployment_metadata.DeploymentMetadata( + trigger = koyeb.api_async.models.trigger_deployment_metadata.TriggerDeploymentMetadata( + type = 'UNKNOWN_TYPE', + actor = 'UNKNOWN_ACTOR', + git = koyeb.api_async.models.trigger_git_deployment_metadata.TriggerGitDeploymentMetadata( + provider = 'UNKNOWN', + repository = '', + branch = '', + sha = '', + message = '', + sender_username = '', + sender_avatar_url = '', + sender_profile_url = '', ), ), + database = koyeb.api_async.models.database_deployment_metadata.DatabaseDeploymentMetadata( + neon_postgres = koyeb.api_async.models.neon_postgres_database_deployment_metadata.NeonPostgresDatabaseDeploymentMetadata( + reset_role_passwords = [ + '' + ], ), ), + git = koyeb.api_async.models.git_deployment_metadata.GitDeploymentMetadata( + last_provisioned_deployment_id = '', + git_env = koyeb.api_async.models.git_env_deployment_metadata.GitEnvDeploymentMetadata( + sha = '', + commit_author = '', + commit_message = '', ), ), + archive = koyeb.api_async.models.archive_deployment_metadata.ArchiveDeploymentMetadata( + last_provisioned_deployment_id = '', ), + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port_metadata.DeploymentProxyPortMetadata( + host = '', + public_port = 56, + port = 56, + protocol = 'tcp', ) + ], + sandbox = koyeb.api_async.models.sandbox_metadata.SandboxMetadata( + public_url = '', + routing_key = '', ), ), + definition = koyeb.api_async.models.deployment_definition.DeploymentDefinition( + name = '', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.deployment_route.DeploymentRoute( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.deployment_port.DeploymentPort( + port = 56, ) + ], + env = [ + koyeb.api_async.models.deployment_env.DeploymentEnv( + scopes = [ + '' + ], + key = '', + value = '', + secret = '', ) + ], + regions = [ + '' + ], + scalings = [ + koyeb.api_async.models.deployment_scaling.DeploymentScaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ) + ], + instance_types = [ + koyeb.api_async.models.deployment_instance_type.DeploymentInstanceType() + ], + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.deployment_volume.DeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), ), + messages = [ + '' + ], + provisioning_info = koyeb.api_async.models.deployment_provisioning_info.DeploymentProvisioningInfo( + sha = '', + image = '', + stages = [ + koyeb.api_async.models.deployment_provisioning_info/stage.DeploymentProvisioningInfo.Stage( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + build_attempts = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt.DeploymentProvisioningInfo.Stage.BuildAttempt( + id = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + steps = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt/build_step.DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + image_pushed = True, + internal_failure = True, + retryable_failure = True, + wait_completion = True, ) + ], ) + ], ), + database_info = koyeb.api_async.models.deployment_database_info.DeploymentDatabaseInfo(), + version = '', + deployment_group = '', ) + ], + limit = 56, + offset = 56, + count = 56, + has_next = True + ) + else: + return ListDeploymentsReply( + ) + """ + + def testListDeploymentsReply(self): + """Test ListDeploymentsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_domains_reply.py b/koyeb/api_async/test/test_list_domains_reply.py new file mode 100644 index 00000000..2843278d --- /dev/null +++ b/koyeb/api_async/test/test_list_domains_reply.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_domains_reply import ListDomainsReply + +class TestListDomainsReply(unittest.TestCase): + """ListDomainsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListDomainsReply: + """Test ListDomainsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListDomainsReply` + """ + model = ListDomainsReply() + if include_optional: + return ListDomainsReply( + domains = [ + koyeb.api_async.models.domain.Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'PENDING', + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + messages = [ + '' + ], + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '', ) + ], + limit = 56, + offset = 56, + count = 56 + ) + else: + return ListDomainsReply( + ) + """ + + def testListDomainsReply(self): + """Test ListDomainsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_instance_events_reply.py b/koyeb/api_async/test/test_list_instance_events_reply.py new file mode 100644 index 00000000..53a55cc2 --- /dev/null +++ b/koyeb/api_async/test/test_list_instance_events_reply.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_instance_events_reply import ListInstanceEventsReply + +class TestListInstanceEventsReply(unittest.TestCase): + """ListInstanceEventsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListInstanceEventsReply: + """Test ListInstanceEventsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListInstanceEventsReply` + """ + model = ListInstanceEventsReply() + if include_optional: + return ListInstanceEventsReply( + events = [ + koyeb.api_async.models.instance_event.InstanceEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + instance_id = '', + type = '', + message = '', + metadata = koyeb.api_async.models.metadata.metadata(), ) + ], + limit = 56, + offset = 56, + order = '', + has_next = True + ) + else: + return ListInstanceEventsReply( + ) + """ + + def testListInstanceEventsReply(self): + """Test ListInstanceEventsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_instances_reply.py b/koyeb/api_async/test/test_list_instances_reply.py new file mode 100644 index 00000000..03745c3f --- /dev/null +++ b/koyeb/api_async/test/test_list_instances_reply.py @@ -0,0 +1,74 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_instances_reply import ListInstancesReply + +class TestListInstancesReply(unittest.TestCase): + """ListInstancesReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListInstancesReply: + """Test ListInstancesReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListInstancesReply` + """ + model = ListInstancesReply() + if include_optional: + return ListInstancesReply( + instances = [ + koyeb.api_async.models.instance_list_item.InstanceListItem( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + regional_deployment_id = '', + allocation_id = '', + type = '', + replica_index = 56, + region = '', + datacenter = '', + status = 'ALLOCATING', + messages = [ + '' + ], + xyz_deployment_id = '', ) + ], + limit = 56, + offset = 56, + count = 56, + order = '' + ) + else: + return ListInstancesReply( + ) + """ + + def testListInstancesReply(self): + """Test ListInstancesReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_organization_invitations_reply.py b/koyeb/api_async/test/test_list_organization_invitations_reply.py new file mode 100644 index 00000000..0c56274c --- /dev/null +++ b/koyeb/api_async/test/test_list_organization_invitations_reply.py @@ -0,0 +1,83 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_organization_invitations_reply import ListOrganizationInvitationsReply + +class TestListOrganizationInvitationsReply(unittest.TestCase): + """ListOrganizationInvitationsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListOrganizationInvitationsReply: + """Test ListOrganizationInvitationsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListOrganizationInvitationsReply` + """ + model = ListOrganizationInvitationsReply() + if include_optional: + return ListOrganizationInvitationsReply( + invitations = [ + koyeb.api_async.models.organization_invitation.OrganizationInvitation( + id = '', + email = '', + role = 'INVALID', + status = 'INVALID', + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + external_id = '', ), + invitee_id = '', + invitee = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + inviter_id = '', + inviter = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), ) + ], + limit = 56, + offset = 56, + count = 56 + ) + else: + return ListOrganizationInvitationsReply( + ) + """ + + def testListOrganizationInvitationsReply(self): + """Test ListOrganizationInvitationsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_organization_members_reply.py b/koyeb/api_async/test/test_list_organization_members_reply.py new file mode 100644 index 00000000..a1c33382 --- /dev/null +++ b/koyeb/api_async/test/test_list_organization_members_reply.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_organization_members_reply import ListOrganizationMembersReply + +class TestListOrganizationMembersReply(unittest.TestCase): + """ListOrganizationMembersReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListOrganizationMembersReply: + """Test ListOrganizationMembersReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListOrganizationMembersReply` + """ + model = ListOrganizationMembersReply() + if include_optional: + return ListOrganizationMembersReply( + members = [ + koyeb.api_async.models.organization_member.OrganizationMember( + id = '', + organization_id = '', + user_id = '', + external_id = '', + joined_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + role = 'INVALID', + status = 'INVALID', + user = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + external_id = '', ), ) + ], + limit = 56, + offset = 56, + count = 56 + ) + else: + return ListOrganizationMembersReply( + ) + """ + + def testListOrganizationMembersReply(self): + """Test ListOrganizationMembersReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_payment_methods_reply.py b/koyeb/api_async/test/test_list_payment_methods_reply.py new file mode 100644 index 00000000..9e1f5786 --- /dev/null +++ b/koyeb/api_async/test/test_list_payment_methods_reply.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_payment_methods_reply import ListPaymentMethodsReply + +class TestListPaymentMethodsReply(unittest.TestCase): + """ListPaymentMethodsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListPaymentMethodsReply: + """Test ListPaymentMethodsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListPaymentMethodsReply` + """ + model = ListPaymentMethodsReply() + if include_optional: + return ListPaymentMethodsReply( + payment_methods = [ + koyeb.api_async.models.payment_method.PaymentMethod( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + version = '', + organization_id = '', + type = '', + provider = '', + status = 'INVALID', + messages = [ + '' + ], + stripe_payment_method_id = '', + authorization_verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + authorization_canceled_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + authorization_stripe_payment_intent_id = '', + authorization_stripe_payment_intent_client_secret = '', + card_brand = '', + card_country = '', + card_funding = '', + card_fingerprint = '', + card_last_digits = '', + card_expiration_month = 56, + card_expiration_year = 56, ) + ], + limit = 56, + offset = 56, + count = 56 + ) + else: + return ListPaymentMethodsReply( + ) + """ + + def testListPaymentMethodsReply(self): + """Test ListPaymentMethodsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_persistent_volume_events_reply.py b/koyeb/api_async/test/test_list_persistent_volume_events_reply.py new file mode 100644 index 00000000..88d4ce11 --- /dev/null +++ b/koyeb/api_async/test/test_list_persistent_volume_events_reply.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_persistent_volume_events_reply import ListPersistentVolumeEventsReply + +class TestListPersistentVolumeEventsReply(unittest.TestCase): + """ListPersistentVolumeEventsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListPersistentVolumeEventsReply: + """Test ListPersistentVolumeEventsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListPersistentVolumeEventsReply` + """ + model = ListPersistentVolumeEventsReply() + if include_optional: + return ListPersistentVolumeEventsReply( + events = [ + koyeb.api_async.models.persistent_volume_event.PersistentVolumeEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + persistent_volume_id = '', + type = '', + message = '', + metadata = koyeb.api_async.models.metadata.metadata(), ) + ], + limit = 56, + offset = 56, + order = '', + has_next = True + ) + else: + return ListPersistentVolumeEventsReply( + ) + """ + + def testListPersistentVolumeEventsReply(self): + """Test ListPersistentVolumeEventsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_persistent_volumes_reply.py b/koyeb/api_async/test/test_list_persistent_volumes_reply.py new file mode 100644 index 00000000..167c4459 --- /dev/null +++ b/koyeb/api_async/test/test_list_persistent_volumes_reply.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_persistent_volumes_reply import ListPersistentVolumesReply + +class TestListPersistentVolumesReply(unittest.TestCase): + """ListPersistentVolumesReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListPersistentVolumesReply: + """Test ListPersistentVolumesReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListPersistentVolumesReply` + """ + model = ListPersistentVolumesReply() + if include_optional: + return ListPersistentVolumesReply( + volumes = [ + koyeb.api_async.models.the_object_that_represent_a_volume_to_handle_persistency_for_deployments.The object that represent a volume to handle persistency for deployments( + id = '', + name = '', + snapshot_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + service_id = '', + region = '', + read_only = True, + max_size = 56, + cur_size = 56, + status = 'PERSISTENT_VOLUME_STATUS_INVALID', + backing_store = 'PERSISTENT_VOLUME_BACKING_STORE_INVALID', ) + ], + limit = 56, + offset = 56, + has_next = True + ) + else: + return ListPersistentVolumesReply( + ) + """ + + def testListPersistentVolumesReply(self): + """Test ListPersistentVolumesReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_projects_reply.py b/koyeb/api_async/test/test_list_projects_reply.py new file mode 100644 index 00000000..cb69af7b --- /dev/null +++ b/koyeb/api_async/test/test_list_projects_reply.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_projects_reply import ListProjectsReply + +class TestListProjectsReply(unittest.TestCase): + """ListProjectsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListProjectsReply: + """Test ListProjectsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListProjectsReply` + """ + model = ListProjectsReply() + if include_optional: + return ListProjectsReply( + projects = [ + koyeb.api_async.models.project.Project( + id = '', + name = '', + description = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + service_count = '', ) + ], + limit = 56, + offset = 56 + ) + else: + return ListProjectsReply( + ) + """ + + def testListProjectsReply(self): + """Test ListProjectsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_regional_deployment_events_reply.py b/koyeb/api_async/test/test_list_regional_deployment_events_reply.py new file mode 100644 index 00000000..eb3b8135 --- /dev/null +++ b/koyeb/api_async/test/test_list_regional_deployment_events_reply.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_regional_deployment_events_reply import ListRegionalDeploymentEventsReply + +class TestListRegionalDeploymentEventsReply(unittest.TestCase): + """ListRegionalDeploymentEventsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListRegionalDeploymentEventsReply: + """Test ListRegionalDeploymentEventsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListRegionalDeploymentEventsReply` + """ + model = ListRegionalDeploymentEventsReply() + if include_optional: + return ListRegionalDeploymentEventsReply( + events = [ + koyeb.api_async.models.regional_deployment_event.RegionalDeploymentEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + regional_deployment_id = '', + type = '', + message = '', + metadata = koyeb.api_async.models.metadata.metadata(), ) + ], + limit = 56, + offset = 56, + order = '', + has_next = True + ) + else: + return ListRegionalDeploymentEventsReply( + ) + """ + + def testListRegionalDeploymentEventsReply(self): + """Test ListRegionalDeploymentEventsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_regional_deployments_reply.py b/koyeb/api_async/test/test_list_regional_deployments_reply.py new file mode 100644 index 00000000..adc01229 --- /dev/null +++ b/koyeb/api_async/test/test_list_regional_deployments_reply.py @@ -0,0 +1,176 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_regional_deployments_reply import ListRegionalDeploymentsReply + +class TestListRegionalDeploymentsReply(unittest.TestCase): + """ListRegionalDeploymentsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListRegionalDeploymentsReply: + """Test ListRegionalDeploymentsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListRegionalDeploymentsReply` + """ + model = ListRegionalDeploymentsReply() + if include_optional: + return ListRegionalDeploymentsReply( + regional_deployments = [ + koyeb.api_async.models.regional_deployment_list_item.RegionalDeploymentListItem( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + region = '', + status = 'PENDING', + messages = [ + '' + ], + definition = koyeb.api_async.models.regional_deployment_definition.RegionalDeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.route.Route( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.port.Port( + port = 56, + protocol = '', ) + ], + env = [ + koyeb.api_async.models.env.Env( + key = '', + value = '', + secret = '', ) + ], + region = '', + scaling = koyeb.api_async.models.scaling.Scaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ), + instance_type = '', + deployment_group = '', + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.regional_deployment_volume.RegionalDeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'REGIONAL_DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', ), ), ) + ], + limit = 56, + offset = 56, + count = 56, + has_next = True + ) + else: + return ListRegionalDeploymentsReply( + ) + """ + + def testListRegionalDeploymentsReply(self): + """Test ListRegionalDeploymentsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_regions_reply.py b/koyeb/api_async/test/test_list_regions_reply.py new file mode 100644 index 00000000..f5849ba0 --- /dev/null +++ b/koyeb/api_async/test/test_list_regions_reply.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_regions_reply import ListRegionsReply + +class TestListRegionsReply(unittest.TestCase): + """ListRegionsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListRegionsReply: + """Test ListRegionsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListRegionsReply` + """ + model = ListRegionsReply() + if include_optional: + return ListRegionsReply( + regions = [ + koyeb.api_async.models.region_list_item.RegionListItem( + id = '', + name = '', + coordinates = [ + '' + ], + status = '', + instances = [ + '' + ], + datacenters = [ + '' + ], + volumes_enabled = True, + scope = '', ) + ], + limit = 56, + offset = 56, + count = 56 + ) + else: + return ListRegionsReply( + ) + """ + + def testListRegionsReply(self): + """Test ListRegionsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_secrets_reply.py b/koyeb/api_async/test/test_list_secrets_reply.py new file mode 100644 index 00000000..9efd12a1 --- /dev/null +++ b/koyeb/api_async/test/test_list_secrets_reply.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_secrets_reply import ListSecretsReply + +class TestListSecretsReply(unittest.TestCase): + """ListSecretsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListSecretsReply: + """Test ListSecretsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListSecretsReply` + """ + model = ListSecretsReply() + if include_optional: + return ListSecretsReply( + secrets = [ + koyeb.api_async.models.secret.Secret( + id = '', + name = '', + organization_id = '', + type = 'SIMPLE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + project_id = '', + value = '', + docker_hub_registry = koyeb.api_async.models.docker_hub_registry_configuration.DockerHubRegistryConfiguration( + username = '', + password = '', ), + private_registry = koyeb.api_async.models.private_registry_configuration.PrivateRegistryConfiguration( + username = '', + password = '', + url = '', ), + digital_ocean_registry = koyeb.api_async.models.digital_ocean_registry_configuration.DigitalOceanRegistryConfiguration( + username = '', + password = '', ), + github_registry = koyeb.api_async.models.git_hub_registry_configuration.GitHubRegistryConfiguration( + username = '', + password = '', ), + gitlab_registry = koyeb.api_async.models.git_lab_registry_configuration.GitLabRegistryConfiguration( + username = '', + password = '', ), + gcp_container_registry = koyeb.api_async.models.gcp_container_registry_configuration.GCPContainerRegistryConfiguration( + keyfile_content = '', + url = '', ), + azure_container_registry = koyeb.api_async.models.azure_container_registry_configuration.AzureContainerRegistryConfiguration( + registry_name = '', + username = '', + password = '', ), + database_role_password = koyeb.api_async.models.database_role_password.DatabaseRolePassword( + username = '', + password = '', ), ) + ], + limit = 56, + offset = 56, + count = 56 + ) + else: + return ListSecretsReply( + ) + """ + + def testListSecretsReply(self): + """Test ListSecretsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_service_events_reply.py b/koyeb/api_async/test/test_list_service_events_reply.py new file mode 100644 index 00000000..379ab67f --- /dev/null +++ b/koyeb/api_async/test/test_list_service_events_reply.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_service_events_reply import ListServiceEventsReply + +class TestListServiceEventsReply(unittest.TestCase): + """ListServiceEventsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListServiceEventsReply: + """Test ListServiceEventsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListServiceEventsReply` + """ + model = ListServiceEventsReply() + if include_optional: + return ListServiceEventsReply( + events = [ + koyeb.api_async.models.service_event.ServiceEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + service_id = '', + type = '', + message = '', + metadata = koyeb.api_async.models.metadata.metadata(), ) + ], + limit = 56, + offset = 56, + order = '', + has_next = True + ) + else: + return ListServiceEventsReply( + ) + """ + + def testListServiceEventsReply(self): + """Test ListServiceEventsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_services_reply.py b/koyeb/api_async/test/test_list_services_reply.py new file mode 100644 index 00000000..aa8a0eff --- /dev/null +++ b/koyeb/api_async/test/test_list_services_reply.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_services_reply import ListServicesReply + +class TestListServicesReply(unittest.TestCase): + """ListServicesReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListServicesReply: + """Test ListServicesReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListServicesReply` + """ + model = ListServicesReply() + if include_optional: + return ListServicesReply( + services = [ + koyeb.api_async.models.service_list_item.ServiceListItem( + id = '', + name = '', + type = 'INVALID_TYPE', + organization_id = '', + app_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'STARTING', + messages = [ + '' + ], + version = '', + state = koyeb.api_async.models.service_state.ServiceState( + desired_deployment = koyeb.api_async.models.desired_deployment.DesiredDeployment( + groups = [ + koyeb.api_async.models.desired_deployment/group.DesiredDeployment.Group( + name = '', + deployment_ids = [ + '' + ], ) + ], ), + auto_release = koyeb.api_async.models.auto_release.AutoRelease(), ), + active_deployment_id = '', + latest_deployment_id = '', + life_cycle = koyeb.api_async.models.service_life_cycle.ServiceLifeCycle( + delete_after_sleep = 56, + delete_after_create = 56, ), ) + ], + limit = 56, + offset = 56, + count = 56, + has_next = True + ) + else: + return ListServicesReply( + ) + """ + + def testListServicesReply(self): + """Test ListServicesReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_snapshots_reply.py b/koyeb/api_async/test/test_list_snapshots_reply.py new file mode 100644 index 00000000..2aa86b99 --- /dev/null +++ b/koyeb/api_async/test/test_list_snapshots_reply.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_snapshots_reply import ListSnapshotsReply + +class TestListSnapshotsReply(unittest.TestCase): + """ListSnapshotsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListSnapshotsReply: + """Test ListSnapshotsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListSnapshotsReply` + """ + model = ListSnapshotsReply() + if include_optional: + return ListSnapshotsReply( + snapshots = [ + koyeb.api_async.models.snapshot.Snapshot( + id = '', + name = '', + size = 56, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + parent_volume_id = '', + region = '', + status = 'SNAPSHOT_STATUS_INVALID', + type = 'SNAPSHOT_TYPE_INVALID', ) + ], + limit = 56, + offset = 56, + has_next = True + ) + else: + return ListSnapshotsReply( + ) + """ + + def testListSnapshotsReply(self): + """Test ListSnapshotsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_usage_reply.py b/koyeb/api_async/test/test_list_usage_reply.py new file mode 100644 index 00000000..45d34e08 --- /dev/null +++ b/koyeb/api_async/test/test_list_usage_reply.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_usage_reply import ListUsageReply + +class TestListUsageReply(unittest.TestCase): + """ListUsageReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListUsageReply: + """Test ListUsageReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListUsageReply` + """ + model = ListUsageReply() + if include_optional: + return ListUsageReply( + usage = koyeb.api_async.models.catalog_usage.CatalogUsage( + instances = { + 'key' : koyeb.api_async.models.instance_availability.InstanceAvailability( + regions = { + 'key' : koyeb.api_async.models.region_availability.RegionAvailability( + availability = 'UNKNOWN', ) + }, + availability = 'UNKNOWN', ) + }, ) + ) + else: + return ListUsageReply( + ) + """ + + def testListUsageReply(self): + """Test ListUsageReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_user_organization_invitations_reply.py b/koyeb/api_async/test/test_list_user_organization_invitations_reply.py new file mode 100644 index 00000000..3775641d --- /dev/null +++ b/koyeb/api_async/test/test_list_user_organization_invitations_reply.py @@ -0,0 +1,83 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_user_organization_invitations_reply import ListUserOrganizationInvitationsReply + +class TestListUserOrganizationInvitationsReply(unittest.TestCase): + """ListUserOrganizationInvitationsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListUserOrganizationInvitationsReply: + """Test ListUserOrganizationInvitationsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListUserOrganizationInvitationsReply` + """ + model = ListUserOrganizationInvitationsReply() + if include_optional: + return ListUserOrganizationInvitationsReply( + invitations = [ + koyeb.api_async.models.organization_invitation.OrganizationInvitation( + id = '', + email = '', + role = 'INVALID', + status = 'INVALID', + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + external_id = '', ), + invitee_id = '', + invitee = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + inviter_id = '', + inviter = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), ) + ], + limit = 56, + offset = 56, + count = 56 + ) + else: + return ListUserOrganizationInvitationsReply( + ) + """ + + def testListUserOrganizationInvitationsReply(self): + """Test ListUserOrganizationInvitationsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_list_user_organizations_reply.py b/koyeb/api_async/test/test_list_user_organizations_reply.py new file mode 100644 index 00000000..30c339cb --- /dev/null +++ b/koyeb/api_async/test/test_list_user_organizations_reply.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.list_user_organizations_reply import ListUserOrganizationsReply + +class TestListUserOrganizationsReply(unittest.TestCase): + """ListUserOrganizationsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ListUserOrganizationsReply: + """Test ListUserOrganizationsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ListUserOrganizationsReply` + """ + model = ListUserOrganizationsReply() + if include_optional: + return ListUserOrganizationsReply( + organizations = [ + koyeb.api_async.models.represent_an_organization.Represent an Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '', ) + ], + limit = 56, + offset = 56, + has_next = True + ) + else: + return ListUserOrganizationsReply( + ) + """ + + def testListUserOrganizationsReply(self): + """Test ListUserOrganizationsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_log_entry.py b/koyeb/api_async/test/test_log_entry.py new file mode 100644 index 00000000..e4f3ab52 --- /dev/null +++ b/koyeb/api_async/test/test_log_entry.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.log_entry import LogEntry + +class TestLogEntry(unittest.TestCase): + """LogEntry unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LogEntry: + """Test LogEntry + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LogEntry` + """ + model = LogEntry() + if include_optional: + return LogEntry( + msg = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + labels = None + ) + else: + return LogEntry( + ) + """ + + def testLogEntry(self): + """Test LogEntry""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_login_method_reply.py b/koyeb/api_async/test/test_login_method_reply.py new file mode 100644 index 00000000..ee784ae5 --- /dev/null +++ b/koyeb/api_async/test/test_login_method_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.login_method_reply import LoginMethodReply + +class TestLoginMethodReply(unittest.TestCase): + """LoginMethodReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LoginMethodReply: + """Test LoginMethodReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LoginMethodReply` + """ + model = LoginMethodReply() + if include_optional: + return LoginMethodReply( + method = 'KOYEB' + ) + else: + return LoginMethodReply( + ) + """ + + def testLoginMethodReply(self): + """Test LoginMethodReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_login_method_reply_method.py b/koyeb/api_async/test/test_login_method_reply_method.py new file mode 100644 index 00000000..f27db048 --- /dev/null +++ b/koyeb/api_async/test/test_login_method_reply_method.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.login_method_reply_method import LoginMethodReplyMethod + +class TestLoginMethodReplyMethod(unittest.TestCase): + """LoginMethodReplyMethod unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testLoginMethodReplyMethod(self): + """Test LoginMethodReplyMethod""" + # inst = LoginMethodReplyMethod() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_login_reply.py b/koyeb/api_async/test/test_login_reply.py new file mode 100644 index 00000000..545b194d --- /dev/null +++ b/koyeb/api_async/test/test_login_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.login_reply import LoginReply + +class TestLoginReply(unittest.TestCase): + """LoginReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LoginReply: + """Test LoginReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LoginReply` + """ + model = LoginReply() + if include_optional: + return LoginReply( + token = {id=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..., expires=2022-09-08T14:00:00Z, user_id=996d7822-6b58-11e9-956f-32001b70f000, organization_id=9f33b2c6-6b58-11e9-883c-32001b70f000} + ) + else: + return LoginReply( + ) + """ + + def testLoginReply(self): + """Test LoginReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_login_request.py b/koyeb/api_async/test/test_login_request.py new file mode 100644 index 00000000..6358205f --- /dev/null +++ b/koyeb/api_async/test/test_login_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.login_request import LoginRequest + +class TestLoginRequest(unittest.TestCase): + """LoginRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LoginRequest: + """Test LoginRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LoginRequest` + """ + model = LoginRequest() + if include_optional: + return LoginRequest( + email = '', + password = '', + organization_id = '' + ) + else: + return LoginRequest( + ) + """ + + def testLoginRequest(self): + """Test LoginRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_logs_api.py b/koyeb/api_async/test/test_logs_api.py new file mode 100644 index 00000000..b685d4d0 --- /dev/null +++ b/koyeb/api_async/test/test_logs_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.logs_api import LogsApi + + +class TestLogsApi(unittest.IsolatedAsyncioTestCase): + """LogsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = LogsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_query_logs(self) -> None: + """Test case for query_logs + + Query logs + """ + pass + + async def test_tail_logs(self) -> None: + """Test case for tail_logs + + Tails logs + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_manage_reply.py b/koyeb/api_async/test/test_manage_reply.py new file mode 100644 index 00000000..cb8d2c5e --- /dev/null +++ b/koyeb/api_async/test/test_manage_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.manage_reply import ManageReply + +class TestManageReply(unittest.TestCase): + """ManageReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ManageReply: + """Test ManageReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ManageReply` + """ + model = ManageReply() + if include_optional: + return ManageReply( + url = '' + ) + else: + return ManageReply( + ) + """ + + def testManageReply(self): + """Test ManageReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_manual_service_scaling.py b/koyeb/api_async/test/test_manual_service_scaling.py new file mode 100644 index 00000000..17f6e8f0 --- /dev/null +++ b/koyeb/api_async/test/test_manual_service_scaling.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.manual_service_scaling import ManualServiceScaling + +class TestManualServiceScaling(unittest.TestCase): + """ManualServiceScaling unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ManualServiceScaling: + """Test ManualServiceScaling + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ManualServiceScaling` + """ + model = ManualServiceScaling() + if include_optional: + return ManualServiceScaling( + scopes = [ + '' + ], + instances = 56 + ) + else: + return ManualServiceScaling( + ) + """ + + def testManualServiceScaling(self): + """Test ManualServiceScaling""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_members_summary.py b/koyeb/api_async/test/test_members_summary.py new file mode 100644 index 00000000..47dc00cb --- /dev/null +++ b/koyeb/api_async/test/test_members_summary.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.members_summary import MembersSummary + +class TestMembersSummary(unittest.TestCase): + """MembersSummary unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MembersSummary: + """Test MembersSummary + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MembersSummary` + """ + model = MembersSummary() + if include_optional: + return MembersSummary( + total = '', + invitations_by_status = { + 'key' : '' + } + ) + else: + return MembersSummary( + ) + """ + + def testMembersSummary(self): + """Test MembersSummary""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_metric_name.py b/koyeb/api_async/test/test_metric_name.py new file mode 100644 index 00000000..5fc1b77d --- /dev/null +++ b/koyeb/api_async/test/test_metric_name.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.metric_name import MetricName + +class TestMetricName(unittest.TestCase): + """MetricName unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testMetricName(self): + """Test MetricName""" + # inst = MetricName() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_metrics_api.py b/koyeb/api_async/test/test_metrics_api.py new file mode 100644 index 00000000..9803f254 --- /dev/null +++ b/koyeb/api_async/test/test_metrics_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.metrics_api import MetricsApi + + +class TestMetricsApi(unittest.IsolatedAsyncioTestCase): + """MetricsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = MetricsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_get_metrics(self) -> None: + """Test case for get_metrics + + Get Metrics + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_neon_postgres_database.py b/koyeb/api_async/test/test_neon_postgres_database.py new file mode 100644 index 00000000..ac4c4193 --- /dev/null +++ b/koyeb/api_async/test/test_neon_postgres_database.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.neon_postgres_database import NeonPostgresDatabase + +class TestNeonPostgresDatabase(unittest.TestCase): + """NeonPostgresDatabase unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NeonPostgresDatabase: + """Test NeonPostgresDatabase + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NeonPostgresDatabase` + """ + model = NeonPostgresDatabase() + if include_optional: + return NeonPostgresDatabase( + pg_version = 56, + region = '', + instance_type = '', + roles = [ + koyeb.api_async.models.neon_postgres_database/neon_role.NeonPostgresDatabase.NeonRole( + name = '', + secret = '', ) + ], + databases = [ + koyeb.api_async.models.neon_postgres_database/neon_database.NeonPostgresDatabase.NeonDatabase( + name = '', + owner = '', ) + ] + ) + else: + return NeonPostgresDatabase( + ) + """ + + def testNeonPostgresDatabase(self): + """Test NeonPostgresDatabase""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_neon_postgres_database_deployment_metadata.py b/koyeb/api_async/test/test_neon_postgres_database_deployment_metadata.py new file mode 100644 index 00000000..e445c521 --- /dev/null +++ b/koyeb/api_async/test/test_neon_postgres_database_deployment_metadata.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.neon_postgres_database_deployment_metadata import NeonPostgresDatabaseDeploymentMetadata + +class TestNeonPostgresDatabaseDeploymentMetadata(unittest.TestCase): + """NeonPostgresDatabaseDeploymentMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NeonPostgresDatabaseDeploymentMetadata: + """Test NeonPostgresDatabaseDeploymentMetadata + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NeonPostgresDatabaseDeploymentMetadata` + """ + model = NeonPostgresDatabaseDeploymentMetadata() + if include_optional: + return NeonPostgresDatabaseDeploymentMetadata( + reset_role_passwords = [ + '' + ] + ) + else: + return NeonPostgresDatabaseDeploymentMetadata( + ) + """ + + def testNeonPostgresDatabaseDeploymentMetadata(self): + """Test NeonPostgresDatabaseDeploymentMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_neon_postgres_database_neon_database.py b/koyeb/api_async/test/test_neon_postgres_database_neon_database.py new file mode 100644 index 00000000..f18e92f2 --- /dev/null +++ b/koyeb/api_async/test/test_neon_postgres_database_neon_database.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.neon_postgres_database_neon_database import NeonPostgresDatabaseNeonDatabase + +class TestNeonPostgresDatabaseNeonDatabase(unittest.TestCase): + """NeonPostgresDatabaseNeonDatabase unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NeonPostgresDatabaseNeonDatabase: + """Test NeonPostgresDatabaseNeonDatabase + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NeonPostgresDatabaseNeonDatabase` + """ + model = NeonPostgresDatabaseNeonDatabase() + if include_optional: + return NeonPostgresDatabaseNeonDatabase( + name = '', + owner = '' + ) + else: + return NeonPostgresDatabaseNeonDatabase( + ) + """ + + def testNeonPostgresDatabaseNeonDatabase(self): + """Test NeonPostgresDatabaseNeonDatabase""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_neon_postgres_database_neon_role.py b/koyeb/api_async/test/test_neon_postgres_database_neon_role.py new file mode 100644 index 00000000..cdb94836 --- /dev/null +++ b/koyeb/api_async/test/test_neon_postgres_database_neon_role.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.neon_postgres_database_neon_role import NeonPostgresDatabaseNeonRole + +class TestNeonPostgresDatabaseNeonRole(unittest.TestCase): + """NeonPostgresDatabaseNeonRole unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NeonPostgresDatabaseNeonRole: + """Test NeonPostgresDatabaseNeonRole + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NeonPostgresDatabaseNeonRole` + """ + model = NeonPostgresDatabaseNeonRole() + if include_optional: + return NeonPostgresDatabaseNeonRole( + name = '', + secret = '' + ) + else: + return NeonPostgresDatabaseNeonRole( + ) + """ + + def testNeonPostgresDatabaseNeonRole(self): + """Test NeonPostgresDatabaseNeonRole""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_neon_postgres_summary.py b/koyeb/api_async/test/test_neon_postgres_summary.py new file mode 100644 index 00000000..d03d9b14 --- /dev/null +++ b/koyeb/api_async/test/test_neon_postgres_summary.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.neon_postgres_summary import NeonPostgresSummary + +class TestNeonPostgresSummary(unittest.TestCase): + """NeonPostgresSummary unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NeonPostgresSummary: + """Test NeonPostgresSummary + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NeonPostgresSummary` + """ + model = NeonPostgresSummary() + if include_optional: + return NeonPostgresSummary( + total = '', + by_instance_type = { + 'key' : '' + } + ) + else: + return NeonPostgresSummary( + ) + """ + + def testNeonPostgresSummary(self): + """Test NeonPostgresSummary""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_next_invoice_reply.py b/koyeb/api_async/test/test_next_invoice_reply.py new file mode 100644 index 00000000..f9edc0ab --- /dev/null +++ b/koyeb/api_async/test/test_next_invoice_reply.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.next_invoice_reply import NextInvoiceReply + +class TestNextInvoiceReply(unittest.TestCase): + """NextInvoiceReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NextInvoiceReply: + """Test NextInvoiceReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NextInvoiceReply` + """ + model = NextInvoiceReply() + if include_optional: + return NextInvoiceReply( + stripe_invoice = None, + lines = [ + koyeb.api_async.models.next_invoice_reply/line.NextInvoiceReply.Line( + amount_excluding_tax = 56, + period = koyeb.api_async.models.next_invoice_reply/line/period.NextInvoiceReply.Line.Period( + start = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + end = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + plan_nickname = '', + price = koyeb.api_async.models.next_invoice_reply/line/price.NextInvoiceReply.Line.Price( + unit_amount_decimal = 1.337, ), + quantity = 56, ) + ], + discounts = [ + koyeb.api_async.models.next_invoice_reply/discount.NextInvoiceReply.Discount( + type = 'PERCENT_OFF', + name = '', + amount = '', ) + ] + ) + else: + return NextInvoiceReply( + ) + """ + + def testNextInvoiceReply(self): + """Test NextInvoiceReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_next_invoice_reply_discount.py b/koyeb/api_async/test/test_next_invoice_reply_discount.py new file mode 100644 index 00000000..2d3d7748 --- /dev/null +++ b/koyeb/api_async/test/test_next_invoice_reply_discount.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.next_invoice_reply_discount import NextInvoiceReplyDiscount + +class TestNextInvoiceReplyDiscount(unittest.TestCase): + """NextInvoiceReplyDiscount unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NextInvoiceReplyDiscount: + """Test NextInvoiceReplyDiscount + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NextInvoiceReplyDiscount` + """ + model = NextInvoiceReplyDiscount() + if include_optional: + return NextInvoiceReplyDiscount( + type = 'PERCENT_OFF', + name = '', + amount = '' + ) + else: + return NextInvoiceReplyDiscount( + ) + """ + + def testNextInvoiceReplyDiscount(self): + """Test NextInvoiceReplyDiscount""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_next_invoice_reply_discount_type.py b/koyeb/api_async/test/test_next_invoice_reply_discount_type.py new file mode 100644 index 00000000..c5f13af6 --- /dev/null +++ b/koyeb/api_async/test/test_next_invoice_reply_discount_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.next_invoice_reply_discount_type import NextInvoiceReplyDiscountType + +class TestNextInvoiceReplyDiscountType(unittest.TestCase): + """NextInvoiceReplyDiscountType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNextInvoiceReplyDiscountType(self): + """Test NextInvoiceReplyDiscountType""" + # inst = NextInvoiceReplyDiscountType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_next_invoice_reply_line.py b/koyeb/api_async/test/test_next_invoice_reply_line.py new file mode 100644 index 00000000..d4abce49 --- /dev/null +++ b/koyeb/api_async/test/test_next_invoice_reply_line.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.next_invoice_reply_line import NextInvoiceReplyLine + +class TestNextInvoiceReplyLine(unittest.TestCase): + """NextInvoiceReplyLine unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NextInvoiceReplyLine: + """Test NextInvoiceReplyLine + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NextInvoiceReplyLine` + """ + model = NextInvoiceReplyLine() + if include_optional: + return NextInvoiceReplyLine( + amount_excluding_tax = 56, + period = koyeb.api_async.models.next_invoice_reply/line/period.NextInvoiceReply.Line.Period( + start = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + end = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + plan_nickname = '', + price = koyeb.api_async.models.next_invoice_reply/line/price.NextInvoiceReply.Line.Price( + unit_amount_decimal = 1.337, ), + quantity = 56 + ) + else: + return NextInvoiceReplyLine( + ) + """ + + def testNextInvoiceReplyLine(self): + """Test NextInvoiceReplyLine""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_next_invoice_reply_line_period.py b/koyeb/api_async/test/test_next_invoice_reply_line_period.py new file mode 100644 index 00000000..493953f4 --- /dev/null +++ b/koyeb/api_async/test/test_next_invoice_reply_line_period.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.next_invoice_reply_line_period import NextInvoiceReplyLinePeriod + +class TestNextInvoiceReplyLinePeriod(unittest.TestCase): + """NextInvoiceReplyLinePeriod unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NextInvoiceReplyLinePeriod: + """Test NextInvoiceReplyLinePeriod + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NextInvoiceReplyLinePeriod` + """ + model = NextInvoiceReplyLinePeriod() + if include_optional: + return NextInvoiceReplyLinePeriod( + start = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + end = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return NextInvoiceReplyLinePeriod( + ) + """ + + def testNextInvoiceReplyLinePeriod(self): + """Test NextInvoiceReplyLinePeriod""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_next_invoice_reply_line_price.py b/koyeb/api_async/test/test_next_invoice_reply_line_price.py new file mode 100644 index 00000000..fb75fa62 --- /dev/null +++ b/koyeb/api_async/test/test_next_invoice_reply_line_price.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.next_invoice_reply_line_price import NextInvoiceReplyLinePrice + +class TestNextInvoiceReplyLinePrice(unittest.TestCase): + """NextInvoiceReplyLinePrice unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NextInvoiceReplyLinePrice: + """Test NextInvoiceReplyLinePrice + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NextInvoiceReplyLinePrice` + """ + model = NextInvoiceReplyLinePrice() + if include_optional: + return NextInvoiceReplyLinePrice( + unit_amount_decimal = 1.337 + ) + else: + return NextInvoiceReplyLinePrice( + ) + """ + + def testNextInvoiceReplyLinePrice(self): + """Test NextInvoiceReplyLinePrice""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_notification.py b/koyeb/api_async/test/test_notification.py new file mode 100644 index 00000000..9b6b2209 --- /dev/null +++ b/koyeb/api_async/test/test_notification.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.notification import Notification + +class TestNotification(unittest.TestCase): + """Notification unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Notification: + """Test Notification + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Notification` + """ + model = Notification() + if include_optional: + return Notification( + id = '', + activity = koyeb.api_async.models.activity.Activity( + id = '', + actor = koyeb.api_async.models.object.Object( + id = '', + name = '', + type = '', + metadata = koyeb.api_async.models.metadata.metadata(), + deleted = True, ), + object = koyeb.api_async.models.object.Object( + id = '', + name = '', + type = '', + metadata = koyeb.api_async.models.metadata.metadata(), + deleted = True, ), + verb = '', + metadata = koyeb.api_async.models.metadata.metadata(), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + is_read = True, + is_seen = True, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return Notification( + ) + """ + + def testNotification(self): + """Test Notification""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_notification_list.py b/koyeb/api_async/test/test_notification_list.py new file mode 100644 index 00000000..4a4b2ad6 --- /dev/null +++ b/koyeb/api_async/test/test_notification_list.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.notification_list import NotificationList + +class TestNotificationList(unittest.TestCase): + """NotificationList unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NotificationList: + """Test NotificationList + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NotificationList` + """ + model = NotificationList() + if include_optional: + return NotificationList( + notifications = [ + koyeb.api_async.models.notification.Notification( + id = '', + activity = koyeb.api_async.models.activity.Activity( + id = '', + actor = koyeb.api_async.models.object.Object( + id = '', + name = '', + type = '', + metadata = koyeb.api_async.models.metadata.metadata(), + deleted = True, ), + object = koyeb.api_async.models.object.Object( + id = '', + name = '', + type = '', + metadata = koyeb.api_async.models.metadata.metadata(), + deleted = True, ), + verb = '', + metadata = koyeb.api_async.models.metadata.metadata(), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + is_read = True, + is_seen = True, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + limit = 56, + offset = 56, + count = 56, + is_read = True, + is_seen = True, + unread = 56, + unseen = 56 + ) + else: + return NotificationList( + ) + """ + + def testNotificationList(self): + """Test NotificationList""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_o_auth_callback_reply.py b/koyeb/api_async/test/test_o_auth_callback_reply.py new file mode 100644 index 00000000..136e1e3d --- /dev/null +++ b/koyeb/api_async/test/test_o_auth_callback_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.o_auth_callback_reply import OAuthCallbackReply + +class TestOAuthCallbackReply(unittest.TestCase): + """OAuthCallbackReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> OAuthCallbackReply: + """Test OAuthCallbackReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `OAuthCallbackReply` + """ + model = OAuthCallbackReply() + if include_optional: + return OAuthCallbackReply( + token = {id=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..., expires=2022-09-08T14:00:00Z, user_id=996d7822-6b58-11e9-956f-32001b70f000, organization_id=9f33b2c6-6b58-11e9-883c-32001b70f000} + ) + else: + return OAuthCallbackReply( + ) + """ + + def testOAuthCallbackReply(self): + """Test OAuthCallbackReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_o_auth_callback_request.py b/koyeb/api_async/test/test_o_auth_callback_request.py new file mode 100644 index 00000000..984d67e8 --- /dev/null +++ b/koyeb/api_async/test/test_o_auth_callback_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.o_auth_callback_request import OAuthCallbackRequest + +class TestOAuthCallbackRequest(unittest.TestCase): + """OAuthCallbackRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> OAuthCallbackRequest: + """Test OAuthCallbackRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `OAuthCallbackRequest` + """ + model = OAuthCallbackRequest() + if include_optional: + return OAuthCallbackRequest( + state = '', + code = '', + setup_action = '', + installation_id = '' + ) + else: + return OAuthCallbackRequest( + ) + """ + + def testOAuthCallbackRequest(self): + """Test OAuthCallbackRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_o_auth_provider.py b/koyeb/api_async/test/test_o_auth_provider.py new file mode 100644 index 00000000..373d7ff0 --- /dev/null +++ b/koyeb/api_async/test/test_o_auth_provider.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.o_auth_provider import OAuthProvider + +class TestOAuthProvider(unittest.TestCase): + """OAuthProvider unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> OAuthProvider: + """Test OAuthProvider + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `OAuthProvider` + """ + model = OAuthProvider() + if include_optional: + return OAuthProvider( + id = '', + url = '', + state = '' + ) + else: + return OAuthProvider( + ) + """ + + def testOAuthProvider(self): + """Test OAuthProvider""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_object.py b/koyeb/api_async/test/test_object.py new file mode 100644 index 00000000..610151ca --- /dev/null +++ b/koyeb/api_async/test/test_object.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.object import Object + +class TestObject(unittest.TestCase): + """Object unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Object: + """Test Object + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Object` + """ + model = Object() + if include_optional: + return Object( + id = '', + name = '', + type = '', + metadata = koyeb.api_async.models.metadata.metadata(), + deleted = True + ) + else: + return Object( + ) + """ + + def testObject(self): + """Test Object""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization.py b/koyeb/api_async/test/test_organization.py new file mode 100644 index 00000000..31fd1f36 --- /dev/null +++ b/koyeb/api_async/test/test_organization.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.organization import Organization + +class TestOrganization(unittest.TestCase): + """Organization unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Organization: + """Test Organization + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Organization` + """ + model = Organization() + if include_optional: + return Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '' + ) + else: + return Organization( + ) + """ + + def testOrganization(self): + """Test Organization""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_api.py b/koyeb/api_async/test/test_organization_api.py new file mode 100644 index 00000000..f1778c63 --- /dev/null +++ b/koyeb/api_async/test/test_organization_api.py @@ -0,0 +1,171 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.organization_api import OrganizationApi + + +class TestOrganizationApi(unittest.IsolatedAsyncioTestCase): + """OrganizationApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = OrganizationApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_access_token(self) -> None: + """Test case for create_access_token + + CreateAccessToken + """ + pass + + async def test_create_budget(self) -> None: + """Test case for create_budget + + Create Budget + """ + pass + + async def test_create_organization(self) -> None: + """Test case for create_organization + + Create Organization + """ + pass + + async def test_deactivate_organization(self) -> None: + """Test case for deactivate_organization + + Deactivate an Organization + """ + pass + + async def test_delete_budget(self) -> None: + """Test case for delete_budget + + Delete Budget + """ + pass + + async def test_delete_organization(self) -> None: + """Test case for delete_organization + + Delete an Organization + """ + pass + + async def test_get_budget(self) -> None: + """Test case for get_budget + + Get Budget + """ + pass + + async def test_get_github_installation(self) -> None: + """Test case for get_github_installation + + Fetch Github Installation configuration + """ + pass + + async def test_get_organization(self) -> None: + """Test case for get_organization + + Get Organization + """ + pass + + async def test_github_installation(self) -> None: + """Test case for github_installation + + Start Github Installation + """ + pass + + async def test_reactivate_organization(self) -> None: + """Test case for reactivate_organization + + Reactivate an Organization + """ + pass + + async def test_switch_organization(self) -> None: + """Test case for switch_organization + + Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_unscope_organization_token(self) -> None: + """Test case for unscope_organization_token + + Unscope Organization Token + """ + pass + + async def test_update_budget(self) -> None: + """Test case for update_budget + + Update Budget + """ + pass + + async def test_update_organization(self) -> None: + """Test case for update_organization + + Update Organization + """ + pass + + async def test_update_organization2(self) -> None: + """Test case for update_organization2 + + Update Organization + """ + pass + + async def test_update_organization_default_project(self) -> None: + """Test case for update_organization_default_project + + Update Organization's default project + """ + pass + + async def test_update_organization_name(self) -> None: + """Test case for update_organization_name + + Update Organization Name + """ + pass + + async def test_update_organization_plan(self) -> None: + """Test case for update_organization_plan + + Update Organization plan + """ + pass + + async def test_upsert_signup_qualification(self) -> None: + """Test case for upsert_signup_qualification + + Upsert Organization's signup qualification + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_confirmations_api.py b/koyeb/api_async/test/test_organization_confirmations_api.py new file mode 100644 index 00000000..d2e0526f --- /dev/null +++ b/koyeb/api_async/test/test_organization_confirmations_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.organization_confirmations_api import OrganizationConfirmationsApi + + +class TestOrganizationConfirmationsApi(unittest.IsolatedAsyncioTestCase): + """OrganizationConfirmationsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = OrganizationConfirmationsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_confirm_organization_action(self) -> None: + """Test case for confirm_organization_action + + Confirm organization action + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_deactivation_reason.py b/koyeb/api_async/test/test_organization_deactivation_reason.py new file mode 100644 index 00000000..a804164b --- /dev/null +++ b/koyeb/api_async/test/test_organization_deactivation_reason.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.organization_deactivation_reason import OrganizationDeactivationReason + +class TestOrganizationDeactivationReason(unittest.TestCase): + """OrganizationDeactivationReason unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testOrganizationDeactivationReason(self): + """Test OrganizationDeactivationReason""" + # inst = OrganizationDeactivationReason() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_detailed_status.py b/koyeb/api_async/test/test_organization_detailed_status.py new file mode 100644 index 00000000..471e3972 --- /dev/null +++ b/koyeb/api_async/test/test_organization_detailed_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.organization_detailed_status import OrganizationDetailedStatus + +class TestOrganizationDetailedStatus(unittest.TestCase): + """OrganizationDetailedStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testOrganizationDetailedStatus(self): + """Test OrganizationDetailedStatus""" + # inst = OrganizationDetailedStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_invitation.py b/koyeb/api_async/test/test_organization_invitation.py new file mode 100644 index 00000000..5697bb59 --- /dev/null +++ b/koyeb/api_async/test/test_organization_invitation.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.organization_invitation import OrganizationInvitation + +class TestOrganizationInvitation(unittest.TestCase): + """OrganizationInvitation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> OrganizationInvitation: + """Test OrganizationInvitation + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `OrganizationInvitation` + """ + model = OrganizationInvitation() + if include_optional: + return OrganizationInvitation( + id = '', + email = '', + role = 'INVALID', + status = 'INVALID', + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + status = 'WARNING', + external_id = '', ), + invitee_id = '', + invitee = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + inviter_id = '', + inviter = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ) + ) + else: + return OrganizationInvitation( + ) + """ + + def testOrganizationInvitation(self): + """Test OrganizationInvitation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_invitation_status.py b/koyeb/api_async/test/test_organization_invitation_status.py new file mode 100644 index 00000000..6b062ae4 --- /dev/null +++ b/koyeb/api_async/test/test_organization_invitation_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.organization_invitation_status import OrganizationInvitationStatus + +class TestOrganizationInvitationStatus(unittest.TestCase): + """OrganizationInvitationStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testOrganizationInvitationStatus(self): + """Test OrganizationInvitationStatus""" + # inst = OrganizationInvitationStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_invitations_api.py b/koyeb/api_async/test/test_organization_invitations_api.py new file mode 100644 index 00000000..764cf9da --- /dev/null +++ b/koyeb/api_async/test/test_organization_invitations_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.organization_invitations_api import OrganizationInvitationsApi + + +class TestOrganizationInvitationsApi(unittest.IsolatedAsyncioTestCase): + """OrganizationInvitationsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = OrganizationInvitationsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_organization_invitation(self) -> None: + """Test case for create_organization_invitation + + Create Organization Invitation + """ + pass + + async def test_delete_organization_invitation(self) -> None: + """Test case for delete_organization_invitation + + Delete Organization Invitation + """ + pass + + async def test_get_organization_invitation(self) -> None: + """Test case for get_organization_invitation + + Get Organization Invitation + """ + pass + + async def test_list_organization_invitations(self) -> None: + """Test case for list_organization_invitations + + List Organization Invitations + """ + pass + + async def test_resend_organization_invitation(self) -> None: + """Test case for resend_organization_invitation + + Resend Organization Invitation + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_member.py b/koyeb/api_async/test/test_organization_member.py new file mode 100644 index 00000000..1eb9e0c2 --- /dev/null +++ b/koyeb/api_async/test/test_organization_member.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.organization_member import OrganizationMember + +class TestOrganizationMember(unittest.TestCase): + """OrganizationMember unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> OrganizationMember: + """Test OrganizationMember + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `OrganizationMember` + """ + model = OrganizationMember() + if include_optional: + return OrganizationMember( + id = '', + organization_id = '', + user_id = '', + external_id = '', + joined_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + role = 'INVALID', + status = 'INVALID', + user = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + status = 'WARNING', + external_id = '', ) + ) + else: + return OrganizationMember( + ) + """ + + def testOrganizationMember(self): + """Test OrganizationMember""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_member_status.py b/koyeb/api_async/test/test_organization_member_status.py new file mode 100644 index 00000000..2db8c3be --- /dev/null +++ b/koyeb/api_async/test/test_organization_member_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.organization_member_status import OrganizationMemberStatus + +class TestOrganizationMemberStatus(unittest.TestCase): + """OrganizationMemberStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testOrganizationMemberStatus(self): + """Test OrganizationMemberStatus""" + # inst = OrganizationMemberStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_members_api.py b/koyeb/api_async/test/test_organization_members_api.py new file mode 100644 index 00000000..a46df058 --- /dev/null +++ b/koyeb/api_async/test/test_organization_members_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.organization_members_api import OrganizationMembersApi + + +class TestOrganizationMembersApi(unittest.IsolatedAsyncioTestCase): + """OrganizationMembersApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = OrganizationMembersApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_list_organization_members(self) -> None: + """Test case for list_organization_members + + List organization members + """ + pass + + async def test_remove_organization_member(self) -> None: + """Test case for remove_organization_member + + Remove an organization member + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_quotas_api.py b/koyeb/api_async/test/test_organization_quotas_api.py new file mode 100644 index 00000000..4e1b99d1 --- /dev/null +++ b/koyeb/api_async/test/test_organization_quotas_api.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.organization_quotas_api import OrganizationQuotasApi + + +class TestOrganizationQuotasApi(unittest.IsolatedAsyncioTestCase): + """OrganizationQuotasApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = OrganizationQuotasApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_get_quotas(self) -> None: + """Test case for get_quotas + + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_status.py b/koyeb/api_async/test/test_organization_status.py new file mode 100644 index 00000000..f969c293 --- /dev/null +++ b/koyeb/api_async/test/test_organization_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.organization_status import OrganizationStatus + +class TestOrganizationStatus(unittest.TestCase): + """OrganizationStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testOrganizationStatus(self): + """Test OrganizationStatus""" + # inst = OrganizationStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_organization_summary.py b/koyeb/api_async/test/test_organization_summary.py new file mode 100644 index 00000000..a2c4659d --- /dev/null +++ b/koyeb/api_async/test/test_organization_summary.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.organization_summary import OrganizationSummary + +class TestOrganizationSummary(unittest.TestCase): + """OrganizationSummary unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> OrganizationSummary: + """Test OrganizationSummary + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `OrganizationSummary` + """ + model = OrganizationSummary() + if include_optional: + return OrganizationSummary( + organization_id = '', + instances = koyeb.api_async.models.instances_summary.InstancesSummary( + total = '', + by_type = { + 'key' : '' + }, ), + apps = koyeb.api_async.models.apps_summary.AppsSummary( + total = '', + by_status = { + 'key' : '' + }, ), + services = { + 'key' : koyeb.api_async.models.service_summary.ServiceSummary( + total = '', + by_status = { + 'key' : '' + }, ) + }, + domains = koyeb.api_async.models.domains_summary.DomainsSummary( + total = '', + by_status = { + 'key' : '' + }, ), + secrets = koyeb.api_async.models.secrets_summary.SecretsSummary( + total = '', + by_type = { + 'key' : '' + }, ), + neon_postgres = koyeb.api_async.models.neon_postgres_summary.NeonPostgresSummary( + total = '', + by_instance_type = { + 'key' : '' + }, ), + members = koyeb.api_async.models.members_summary.MembersSummary( + total = '', + invitations_by_status = { + 'key' : '' + }, ) + ) + else: + return OrganizationSummary( + ) + """ + + def testOrganizationSummary(self): + """Test OrganizationSummary""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_payment_method.py b/koyeb/api_async/test/test_payment_method.py new file mode 100644 index 00000000..b57900c6 --- /dev/null +++ b/koyeb/api_async/test/test_payment_method.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.payment_method import PaymentMethod + +class TestPaymentMethod(unittest.TestCase): + """PaymentMethod unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PaymentMethod: + """Test PaymentMethod + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PaymentMethod` + """ + model = PaymentMethod() + if include_optional: + return PaymentMethod( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + version = '', + organization_id = '', + type = '', + provider = '', + status = 'INVALID', + messages = [ + '' + ], + stripe_payment_method_id = '', + authorization_verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + authorization_canceled_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + authorization_stripe_payment_intent_id = '', + authorization_stripe_payment_intent_client_secret = '', + card_brand = '', + card_country = '', + card_funding = '', + card_fingerprint = '', + card_last_digits = '', + card_expiration_month = 56, + card_expiration_year = 56 + ) + else: + return PaymentMethod( + ) + """ + + def testPaymentMethod(self): + """Test PaymentMethod""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_payment_method_status.py b/koyeb/api_async/test/test_payment_method_status.py new file mode 100644 index 00000000..a16db4cf --- /dev/null +++ b/koyeb/api_async/test/test_payment_method_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.payment_method_status import PaymentMethodStatus + +class TestPaymentMethodStatus(unittest.TestCase): + """PaymentMethodStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPaymentMethodStatus(self): + """Test PaymentMethodStatus""" + # inst = PaymentMethodStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_payment_methods_api.py b/koyeb/api_async/test/test_payment_methods_api.py new file mode 100644 index 00000000..abf506a5 --- /dev/null +++ b/koyeb/api_async/test/test_payment_methods_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.payment_methods_api import PaymentMethodsApi + + +class TestPaymentMethodsApi(unittest.IsolatedAsyncioTestCase): + """PaymentMethodsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = PaymentMethodsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_confirm_payment_authorization(self) -> None: + """Test case for confirm_payment_authorization + + Confirm payment authorization + """ + pass + + async def test_create_payment_authorization(self) -> None: + """Test case for create_payment_authorization + + Create payment authorization + """ + pass + + async def test_delete_payment_method(self) -> None: + """Test case for delete_payment_method + + Delete payment method + """ + pass + + async def test_get_payment_method(self) -> None: + """Test case for get_payment_method + + Get payment method + """ + pass + + async def test_list_payment_methods(self) -> None: + """Test case for list_payment_methods + + List payment methods + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_period_usage.py b/koyeb/api_async/test/test_period_usage.py new file mode 100644 index 00000000..de56eb9c --- /dev/null +++ b/koyeb/api_async/test/test_period_usage.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.period_usage import PeriodUsage + +class TestPeriodUsage(unittest.TestCase): + """PeriodUsage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PeriodUsage: + """Test PeriodUsage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PeriodUsage` + """ + model = PeriodUsage() + if include_optional: + return PeriodUsage( + starting_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + ending_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + apps = [ + koyeb.api_async.models.app_usage.AppUsage( + app_id = '', + app_name = '', + services = [ + koyeb.api_async.models.service_usage.ServiceUsage( + service_id = '', + service_name = '', + regions = { + 'key' : koyeb.api_async.models.region_usage.RegionUsage( + instances = { + 'key' : koyeb.api_async.models.instance_usage.InstanceUsage( + duration_seconds = 56, ) + }, ) + }, ) + ], + databases = [ + koyeb.api_async.models.database_usage.DatabaseUsage( + service_id = '', + service_name = '', + compute_time_seconds = 56, + data_storage_megabytes_hours = 56, ) + ], ) + ] + ) + else: + return PeriodUsage( + ) + """ + + def testPeriodUsage(self): + """Test PeriodUsage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_persistent_volume.py b/koyeb/api_async/test/test_persistent_volume.py new file mode 100644 index 00000000..a601400a --- /dev/null +++ b/koyeb/api_async/test/test_persistent_volume.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.persistent_volume import PersistentVolume + +class TestPersistentVolume(unittest.TestCase): + """PersistentVolume unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PersistentVolume: + """Test PersistentVolume + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PersistentVolume` + """ + model = PersistentVolume() + if include_optional: + return PersistentVolume( + id = '', + name = '', + snapshot_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + service_id = '', + region = '', + read_only = True, + max_size = 56, + cur_size = 56, + status = 'PERSISTENT_VOLUME_STATUS_INVALID', + backing_store = 'PERSISTENT_VOLUME_BACKING_STORE_INVALID' + ) + else: + return PersistentVolume( + ) + """ + + def testPersistentVolume(self): + """Test PersistentVolume""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_persistent_volume_backing_store.py b/koyeb/api_async/test/test_persistent_volume_backing_store.py new file mode 100644 index 00000000..f8ae9a0c --- /dev/null +++ b/koyeb/api_async/test/test_persistent_volume_backing_store.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.persistent_volume_backing_store import PersistentVolumeBackingStore + +class TestPersistentVolumeBackingStore(unittest.TestCase): + """PersistentVolumeBackingStore unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPersistentVolumeBackingStore(self): + """Test PersistentVolumeBackingStore""" + # inst = PersistentVolumeBackingStore() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_persistent_volume_event.py b/koyeb/api_async/test/test_persistent_volume_event.py new file mode 100644 index 00000000..47c379fe --- /dev/null +++ b/koyeb/api_async/test/test_persistent_volume_event.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.persistent_volume_event import PersistentVolumeEvent + +class TestPersistentVolumeEvent(unittest.TestCase): + """PersistentVolumeEvent unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PersistentVolumeEvent: + """Test PersistentVolumeEvent + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PersistentVolumeEvent` + """ + model = PersistentVolumeEvent() + if include_optional: + return PersistentVolumeEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + persistent_volume_id = '', + type = '', + message = '', + metadata = koyeb.api_async.models.metadata.metadata() + ) + else: + return PersistentVolumeEvent( + ) + """ + + def testPersistentVolumeEvent(self): + """Test PersistentVolumeEvent""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_persistent_volume_quotas.py b/koyeb/api_async/test/test_persistent_volume_quotas.py new file mode 100644 index 00000000..ec51898f --- /dev/null +++ b/koyeb/api_async/test/test_persistent_volume_quotas.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.persistent_volume_quotas import PersistentVolumeQuotas + +class TestPersistentVolumeQuotas(unittest.TestCase): + """PersistentVolumeQuotas unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PersistentVolumeQuotas: + """Test PersistentVolumeQuotas + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PersistentVolumeQuotas` + """ + model = PersistentVolumeQuotas() + if include_optional: + return PersistentVolumeQuotas( + max_total_size = 56, + max_volume_size = 56, + max_per_instance_size = 56 + ) + else: + return PersistentVolumeQuotas( + ) + """ + + def testPersistentVolumeQuotas(self): + """Test PersistentVolumeQuotas""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_persistent_volume_status.py b/koyeb/api_async/test/test_persistent_volume_status.py new file mode 100644 index 00000000..7af09274 --- /dev/null +++ b/koyeb/api_async/test/test_persistent_volume_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.persistent_volume_status import PersistentVolumeStatus + +class TestPersistentVolumeStatus(unittest.TestCase): + """PersistentVolumeStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPersistentVolumeStatus(self): + """Test PersistentVolumeStatus""" + # inst = PersistentVolumeStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_persistent_volumes_api.py b/koyeb/api_async/test/test_persistent_volumes_api.py new file mode 100644 index 00000000..926e9ec4 --- /dev/null +++ b/koyeb/api_async/test/test_persistent_volumes_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.persistent_volumes_api import PersistentVolumesApi + + +class TestPersistentVolumesApi(unittest.IsolatedAsyncioTestCase): + """PersistentVolumesApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = PersistentVolumesApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_persistent_volume(self) -> None: + """Test case for create_persistent_volume + + Create a PersistentVolume + """ + pass + + async def test_delete_persistent_volume(self) -> None: + """Test case for delete_persistent_volume + + Delete a PersistentVolume + """ + pass + + async def test_get_persistent_volume(self) -> None: + """Test case for get_persistent_volume + + Get a PersistentVolume + """ + pass + + async def test_list_persistent_volume_events(self) -> None: + """Test case for list_persistent_volume_events + + List Persistent Volume events + """ + pass + + async def test_list_persistent_volumes(self) -> None: + """Test case for list_persistent_volumes + + List all PersistentVolumes + """ + pass + + async def test_update_persistent_volume(self) -> None: + """Test case for update_persistent_volume + + Update a PersistentVolume + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_plan.py b/koyeb/api_async/test/test_plan.py new file mode 100644 index 00000000..4f48d3be --- /dev/null +++ b/koyeb/api_async/test/test_plan.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.plan import Plan + +class TestPlan(unittest.TestCase): + """Plan unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPlan(self): + """Test Plan""" + # inst = Plan() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_port.py b/koyeb/api_async/test/test_port.py new file mode 100644 index 00000000..b8246bc5 --- /dev/null +++ b/koyeb/api_async/test/test_port.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.port import Port + +class TestPort(unittest.TestCase): + """Port unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Port: + """Test Port + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Port` + """ + model = Port() + if include_optional: + return Port( + port = 56, + protocol = '' + ) + else: + return Port( + ) + """ + + def testPort(self): + """Test Port""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_private_registry_configuration.py b/koyeb/api_async/test/test_private_registry_configuration.py new file mode 100644 index 00000000..df5480e2 --- /dev/null +++ b/koyeb/api_async/test/test_private_registry_configuration.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.private_registry_configuration import PrivateRegistryConfiguration + +class TestPrivateRegistryConfiguration(unittest.TestCase): + """PrivateRegistryConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PrivateRegistryConfiguration: + """Test PrivateRegistryConfiguration + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PrivateRegistryConfiguration` + """ + model = PrivateRegistryConfiguration() + if include_optional: + return PrivateRegistryConfiguration( + username = '', + password = '', + url = '' + ) + else: + return PrivateRegistryConfiguration( + ) + """ + + def testPrivateRegistryConfiguration(self): + """Test PrivateRegistryConfiguration""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_profile_api.py b/koyeb/api_async/test/test_profile_api.py new file mode 100644 index 00000000..a1c6b316 --- /dev/null +++ b/koyeb/api_async/test/test_profile_api.py @@ -0,0 +1,190 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.profile_api import ProfileApi + + +class TestProfileApi(unittest.IsolatedAsyncioTestCase): + """ProfileApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = ProfileApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_accept_organization_invitation(self) -> None: + """Test case for accept_organization_invitation + + Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_clear_idenfy_verification_result(self) -> None: + """Test case for clear_idenfy_verification_result + + ClearIdenfyVerificationResult marks the current result for idenfy as superseded + """ + pass + + async def test_decline_organization_invitation(self) -> None: + """Test case for decline_organization_invitation + + Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_get_current_organization(self) -> None: + """Test case for get_current_organization + + Get Current Organization + """ + pass + + async def test_get_current_user(self) -> None: + """Test case for get_current_user + + Get Current User + """ + pass + + async def test_get_idenfy_token(self) -> None: + """Test case for get_idenfy_token + + Begin a session with iDenfy, emit an authToken + """ + pass + + async def test_get_o_auth_options(self) -> None: + """Test case for get_o_auth_options + + Get OAuth Providers + """ + pass + + async def test_get_user_organization_invitation(self) -> None: + """Test case for get_user_organization_invitation + + Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_get_user_settings(self) -> None: + """Test case for get_user_settings + + """ + pass + + async def test_list_user_organization_invitations(self) -> None: + """Test case for list_user_organization_invitations + + List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_list_user_organizations(self) -> None: + """Test case for list_user_organizations + + List User Organizations + """ + pass + + async def test_login_method(self) -> None: + """Test case for login_method + + Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_o_auth_callback(self) -> None: + """Test case for o_auth_callback + + Authenticate using OAuth + """ + pass + + async def test_resend_email_validation(self) -> None: + """Test case for resend_email_validation + + Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_reset_password(self) -> None: + """Test case for reset_password + + Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_signup(self) -> None: + """Test case for signup + + Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_update_password(self) -> None: + """Test case for update_password + + Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_update_user(self) -> None: + """Test case for update_user + + Update User + """ + pass + + async def test_update_user2(self) -> None: + """Test case for update_user2 + + Update User + """ + pass + + async def test_update_user_settings(self) -> None: + """Test case for update_user_settings + + """ + pass + + async def test_update_user_v2(self) -> None: + """Test case for update_user_v2 + + Update User V2 + """ + pass + + async def test_update_user_v22(self) -> None: + """Test case for update_user_v22 + + Update User V2 + """ + pass + + async def test_validate(self) -> None: + """Test case for validate + + Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_project.py b/koyeb/api_async/test/test_project.py new file mode 100644 index 00000000..2ee1dcc3 --- /dev/null +++ b/koyeb/api_async/test/test_project.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.project import Project + +class TestProject(unittest.TestCase): + """Project unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Project: + """Test Project + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Project` + """ + model = Project() + if include_optional: + return Project( + id = '', + name = '', + description = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + service_count = '' + ) + else: + return Project( + ) + """ + + def testProject(self): + """Test Project""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_projects_api.py b/koyeb/api_async/test/test_projects_api.py new file mode 100644 index 00000000..17d8e672 --- /dev/null +++ b/koyeb/api_async/test/test_projects_api.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.projects_api import ProjectsApi + + +class TestProjectsApi(unittest.IsolatedAsyncioTestCase): + """ProjectsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = ProjectsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_project(self) -> None: + """Test case for create_project + + Create project + """ + pass + + async def test_delete_project(self) -> None: + """Test case for delete_project + + Delete project + """ + pass + + async def test_get_project(self) -> None: + """Test case for get_project + + Get project + """ + pass + + async def test_list_projects(self) -> None: + """Test case for list_projects + + List projects + """ + pass + + async def test_update_project(self) -> None: + """Test case for update_project + + Update project + """ + pass + + async def test_update_project2(self) -> None: + """Test case for update_project2 + + Update project + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_provisioning_api.py b/koyeb/api_async/test/test_provisioning_api.py new file mode 100644 index 00000000..a76c3377 --- /dev/null +++ b/koyeb/api_async/test/test_provisioning_api.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.provisioning_api import ProvisioningApi + + +class TestProvisioningApi(unittest.IsolatedAsyncioTestCase): + """ProvisioningApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = ProvisioningApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_stage_attempt(self) -> None: + """Test case for create_stage_attempt + + Create an attempt for a stage + """ + pass + + async def test_declare_stage_progress(self) -> None: + """Test case for declare_stage_progress + + Declare stage progress + """ + pass + + async def test_declare_step_progress(self) -> None: + """Test case for declare_step_progress + + Declare step progress + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_proxy_port_protocol.py b/koyeb/api_async/test/test_proxy_port_protocol.py new file mode 100644 index 00000000..7cd1fdca --- /dev/null +++ b/koyeb/api_async/test/test_proxy_port_protocol.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.proxy_port_protocol import ProxyPortProtocol + +class TestProxyPortProtocol(unittest.TestCase): + """ProxyPortProtocol unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testProxyPortProtocol(self): + """Test ProxyPortProtocol""" + # inst = ProxyPortProtocol() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_public_organization.py b/koyeb/api_async/test/test_public_organization.py new file mode 100644 index 00000000..2c507e0b --- /dev/null +++ b/koyeb/api_async/test/test_public_organization.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.public_organization import PublicOrganization + +class TestPublicOrganization(unittest.TestCase): + """PublicOrganization unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PublicOrganization: + """Test PublicOrganization + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PublicOrganization` + """ + model = PublicOrganization() + if include_optional: + return PublicOrganization( + id = '', + name = '', + plan = 'hobby', + status = 'WARNING', + external_id = '' + ) + else: + return PublicOrganization( + ) + """ + + def testPublicOrganization(self): + """Test PublicOrganization""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_public_user.py b/koyeb/api_async/test/test_public_user.py new file mode 100644 index 00000000..f4ec5fdc --- /dev/null +++ b/koyeb/api_async/test/test_public_user.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.public_user import PublicUser + +class TestPublicUser(unittest.TestCase): + """PublicUser unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PublicUser: + """Test PublicUser + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PublicUser` + """ + model = PublicUser() + if include_optional: + return PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '' + ) + else: + return PublicUser( + ) + """ + + def testPublicUser(self): + """Test PublicUser""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_query_logs_reply.py b/koyeb/api_async/test/test_query_logs_reply.py new file mode 100644 index 00000000..13a2cda4 --- /dev/null +++ b/koyeb/api_async/test/test_query_logs_reply.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.query_logs_reply import QueryLogsReply + +class TestQueryLogsReply(unittest.TestCase): + """QueryLogsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryLogsReply: + """Test QueryLogsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryLogsReply` + """ + model = QueryLogsReply() + if include_optional: + return QueryLogsReply( + data = [ + koyeb.api_async.models.log_entry.LogEntry( + msg = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + labels = koyeb.api_async.models.labels.labels(), ) + ], + pagination = koyeb.api_async.models.query_logs_reply_pagination.QueryLogsReplyPagination( + has_more = True, + next_start = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + next_end = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ) + else: + return QueryLogsReply( + ) + """ + + def testQueryLogsReply(self): + """Test QueryLogsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_query_logs_reply_pagination.py b/koyeb/api_async/test/test_query_logs_reply_pagination.py new file mode 100644 index 00000000..04465f86 --- /dev/null +++ b/koyeb/api_async/test/test_query_logs_reply_pagination.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.query_logs_reply_pagination import QueryLogsReplyPagination + +class TestQueryLogsReplyPagination(unittest.TestCase): + """QueryLogsReplyPagination unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> QueryLogsReplyPagination: + """Test QueryLogsReplyPagination + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `QueryLogsReplyPagination` + """ + model = QueryLogsReplyPagination() + if include_optional: + return QueryLogsReplyPagination( + has_more = True, + next_start = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + next_end = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return QueryLogsReplyPagination( + ) + """ + + def testQueryLogsReplyPagination(self): + """Test QueryLogsReplyPagination""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_quotas.py b/koyeb/api_async/test/test_quotas.py new file mode 100644 index 00000000..3c0177e8 --- /dev/null +++ b/koyeb/api_async/test/test_quotas.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.quotas import Quotas + +class TestQuotas(unittest.TestCase): + """Quotas unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Quotas: + """Test Quotas + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Quotas` + """ + model = Quotas() + if include_optional: + return Quotas( + apps = '', + services = '', + domains = '', + services_by_app = '', + service_provisioning_concurrency = '', + memory_mb = '', + instance_types = [ + '' + ], + regions = [ + '' + ], + max_organization_members = '', + max_instances_by_type = { + 'key' : '' + }, + persistent_volumes_by_region = { + 'key' : koyeb.api_async.models.persistent_volume_quotas.PersistentVolumeQuotas( + max_total_size = 56, + max_volume_size = 56, + max_per_instance_size = 56, ) + }, + custom_domains = '', + domains_load_balancer = koyeb.api_async.models.domain_load_balancer_quotas.DomainLoadBalancerQuotas( + max_koyeb = 56, ), + metrics_retention = 56, + logs_retention = 56, + access_reserved_subdomains = [ + '' + ], + proxy_ports = 56, + scale_to_zero = koyeb.api_async.models.scale_to_zero_quotas.ScaleToZeroQuotas( + is_deep_sleep_enabled = True, + deep_sleep_idle_delay_min = 56, + deep_sleep_idle_delay_max = 56, + is_light_sleep_enabled = True, + light_sleep_idle_delay_min = 56, + light_sleep_idle_delay_max = 56, ), + archives = '', + archive_max_size_mb = '', + lifecycle = koyeb.api_async.models.lifecycle_quotas.LifecycleQuotas( + delete_after_sleep_min = 56, + delete_after_sleep_max = 56, + delete_after_create_min = 56, + delete_after_create_max = 56, ), + max_projects = '' + ) + else: + return Quotas( + ) + """ + + def testQuotas(self): + """Test Quotas""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_quotas_api.py b/koyeb/api_async/test/test_quotas_api.py new file mode 100644 index 00000000..f4c608b1 --- /dev/null +++ b/koyeb/api_async/test/test_quotas_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.quotas_api import QuotasApi + + +class TestQuotasApi(unittest.IsolatedAsyncioTestCase): + """QuotasApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = QuotasApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_review_organization_capacity(self) -> None: + """Test case for review_organization_capacity + + DEPRECATED: Review Organization Capacity + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_reactivate_organization_reply.py b/koyeb/api_async/test/test_reactivate_organization_reply.py new file mode 100644 index 00000000..4a75c195 --- /dev/null +++ b/koyeb/api_async/test/test_reactivate_organization_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.reactivate_organization_reply import ReactivateOrganizationReply + +class TestReactivateOrganizationReply(unittest.TestCase): + """ReactivateOrganizationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReactivateOrganizationReply: + """Test ReactivateOrganizationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReactivateOrganizationReply` + """ + model = ReactivateOrganizationReply() + if include_optional: + return ReactivateOrganizationReply( + organization = koyeb.api_async.models.represent_an_organization.Represent an Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '', ) + ) + else: + return ReactivateOrganizationReply( + ) + """ + + def testReactivateOrganizationReply(self): + """Test ReactivateOrganizationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_redeem_coupon_request.py b/koyeb/api_async/test/test_redeem_coupon_request.py new file mode 100644 index 00000000..a608a7a4 --- /dev/null +++ b/koyeb/api_async/test/test_redeem_coupon_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.redeem_coupon_request import RedeemCouponRequest + +class TestRedeemCouponRequest(unittest.TestCase): + """RedeemCouponRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RedeemCouponRequest: + """Test RedeemCouponRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RedeemCouponRequest` + """ + model = RedeemCouponRequest() + if include_optional: + return RedeemCouponRequest( + code = '' + ) + else: + return RedeemCouponRequest( + ) + """ + + def testRedeemCouponRequest(self): + """Test RedeemCouponRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_redeploy_reply.py b/koyeb/api_async/test/test_redeploy_reply.py new file mode 100644 index 00000000..b5df6ee6 --- /dev/null +++ b/koyeb/api_async/test/test_redeploy_reply.py @@ -0,0 +1,235 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.redeploy_reply import RedeployReply + +class TestRedeployReply(unittest.TestCase): + """RedeployReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RedeployReply: + """Test RedeployReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RedeployReply` + """ + model = RedeployReply() + if include_optional: + return RedeployReply( + deployment = koyeb.api_async.models.deployment.Deployment( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + allocated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + parent_id = '', + child_id = '', + status = 'PENDING', + metadata = koyeb.api_async.models.deployment_metadata.DeploymentMetadata( + trigger = koyeb.api_async.models.trigger_deployment_metadata.TriggerDeploymentMetadata( + type = 'UNKNOWN_TYPE', + actor = 'UNKNOWN_ACTOR', + git = koyeb.api_async.models.trigger_git_deployment_metadata.TriggerGitDeploymentMetadata( + provider = 'UNKNOWN', + repository = '', + branch = '', + sha = '', + message = '', + sender_username = '', + sender_avatar_url = '', + sender_profile_url = '', ), ), + database = koyeb.api_async.models.database_deployment_metadata.DatabaseDeploymentMetadata( + neon_postgres = koyeb.api_async.models.neon_postgres_database_deployment_metadata.NeonPostgresDatabaseDeploymentMetadata( + reset_role_passwords = [ + '' + ], ), ), + git = koyeb.api_async.models.git_deployment_metadata.GitDeploymentMetadata( + last_provisioned_deployment_id = '', + git_env = koyeb.api_async.models.git_env_deployment_metadata.GitEnvDeploymentMetadata( + sha = '', + commit_author = '', + commit_message = '', ), ), + archive = koyeb.api_async.models.archive_deployment_metadata.ArchiveDeploymentMetadata( + last_provisioned_deployment_id = '', ), + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port_metadata.DeploymentProxyPortMetadata( + host = '', + public_port = 56, + port = 56, + protocol = 'tcp', ) + ], + sandbox = koyeb.api_async.models.sandbox_metadata.SandboxMetadata( + public_url = '', + routing_key = '', ), ), + definition = koyeb.api_async.models.deployment_definition.DeploymentDefinition( + name = '', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.deployment_route.DeploymentRoute( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.deployment_port.DeploymentPort( + port = 56, ) + ], + env = [ + koyeb.api_async.models.deployment_env.DeploymentEnv( + scopes = [ + '' + ], + key = '', + value = '', + secret = '', ) + ], + regions = [ + '' + ], + scalings = [ + koyeb.api_async.models.deployment_scaling.DeploymentScaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ) + ], + instance_types = [ + koyeb.api_async.models.deployment_instance_type.DeploymentInstanceType() + ], + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.deployment_volume.DeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), ), + messages = [ + '' + ], + provisioning_info = koyeb.api_async.models.deployment_provisioning_info.DeploymentProvisioningInfo( + sha = '', + image = '', + stages = [ + koyeb.api_async.models.deployment_provisioning_info/stage.DeploymentProvisioningInfo.Stage( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + build_attempts = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt.DeploymentProvisioningInfo.Stage.BuildAttempt( + id = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + steps = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt/build_step.DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + image_pushed = True, + internal_failure = True, + retryable_failure = True, + wait_completion = True, ) + ], ) + ], ), + database_info = koyeb.api_async.models.deployment_database_info.DeploymentDatabaseInfo(), + skip_build = True, + role = 'INVALID', + version = '', + deployment_group = '', ) + ) + else: + return RedeployReply( + ) + """ + + def testRedeployReply(self): + """Test RedeployReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_redeploy_request_info.py b/koyeb/api_async/test/test_redeploy_request_info.py new file mode 100644 index 00000000..1bc064ec --- /dev/null +++ b/koyeb/api_async/test/test_redeploy_request_info.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.redeploy_request_info import RedeployRequestInfo + +class TestRedeployRequestInfo(unittest.TestCase): + """RedeployRequestInfo unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RedeployRequestInfo: + """Test RedeployRequestInfo + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RedeployRequestInfo` + """ + model = RedeployRequestInfo() + if include_optional: + return RedeployRequestInfo( + deployment_group = '', + sha = '', + use_cache = True, + skip_build = True + ) + else: + return RedeployRequestInfo( + ) + """ + + def testRedeployRequestInfo(self): + """Test RedeployRequestInfo""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_region.py b/koyeb/api_async/test/test_region.py new file mode 100644 index 00000000..fcf192da --- /dev/null +++ b/koyeb/api_async/test/test_region.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.region import Region + +class TestRegion(unittest.TestCase): + """Region unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Region: + """Test Region + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Region` + """ + model = Region() + if include_optional: + return Region( + id = '', + name = '', + coordinates = [ + '' + ], + status = '', + instances = [ + '' + ], + datacenters = [ + '' + ], + volumes_enabled = True, + scope = '' + ) + else: + return Region( + ) + """ + + def testRegion(self): + """Test Region""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_region_availability.py b/koyeb/api_async/test/test_region_availability.py new file mode 100644 index 00000000..31cbfcc9 --- /dev/null +++ b/koyeb/api_async/test/test_region_availability.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.region_availability import RegionAvailability + +class TestRegionAvailability(unittest.TestCase): + """RegionAvailability unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RegionAvailability: + """Test RegionAvailability + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RegionAvailability` + """ + model = RegionAvailability() + if include_optional: + return RegionAvailability( + availability = 'UNKNOWN' + ) + else: + return RegionAvailability( + ) + """ + + def testRegionAvailability(self): + """Test RegionAvailability""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_region_list_item.py b/koyeb/api_async/test/test_region_list_item.py new file mode 100644 index 00000000..66920a31 --- /dev/null +++ b/koyeb/api_async/test/test_region_list_item.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.region_list_item import RegionListItem + +class TestRegionListItem(unittest.TestCase): + """RegionListItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RegionListItem: + """Test RegionListItem + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RegionListItem` + """ + model = RegionListItem() + if include_optional: + return RegionListItem( + id = '', + name = '', + coordinates = [ + '' + ], + status = '', + instances = [ + '' + ], + datacenters = [ + '' + ], + volumes_enabled = True, + scope = '' + ) + else: + return RegionListItem( + ) + """ + + def testRegionListItem(self): + """Test RegionListItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_region_usage.py b/koyeb/api_async/test/test_region_usage.py new file mode 100644 index 00000000..fa555c23 --- /dev/null +++ b/koyeb/api_async/test/test_region_usage.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.region_usage import RegionUsage + +class TestRegionUsage(unittest.TestCase): + """RegionUsage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RegionUsage: + """Test RegionUsage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RegionUsage` + """ + model = RegionUsage() + if include_optional: + return RegionUsage( + instances = { + 'key' : koyeb.api_async.models.instance_usage.InstanceUsage( + duration_seconds = 56, ) + } + ) + else: + return RegionUsage( + ) + """ + + def testRegionUsage(self): + """Test RegionUsage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_regional_deployment.py b/koyeb/api_async/test/test_regional_deployment.py new file mode 100644 index 00000000..930f7976 --- /dev/null +++ b/koyeb/api_async/test/test_regional_deployment.py @@ -0,0 +1,216 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.regional_deployment import RegionalDeployment + +class TestRegionalDeployment(unittest.TestCase): + """RegionalDeployment unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RegionalDeployment: + """Test RegionalDeployment + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RegionalDeployment` + """ + model = RegionalDeployment() + if include_optional: + return RegionalDeployment( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + scheduled_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + allocated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + app_id = '', + service_id = '', + region = '', + parent_id = '', + child_id = '', + status = 'PENDING', + messages = [ + '' + ], + definition = koyeb.api_async.models.regional_deployment_definition.RegionalDeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.route.Route( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.port.Port( + port = 56, + protocol = '', ) + ], + env = [ + koyeb.api_async.models.env.Env( + key = '', + value = '', + secret = '', ) + ], + region = '', + scaling = koyeb.api_async.models.scaling.Scaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ), + instance_type = '', + deployment_group = '', + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.regional_deployment_volume.RegionalDeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'REGIONAL_DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', ), ), + datacenters = [ + '' + ], + metadata = koyeb.api_async.models.regional_deployment_metadata.RegionalDeploymentMetadata(), + provisioning_info = koyeb.api_async.models.deployment_provisioning_info.DeploymentProvisioningInfo( + sha = '', + image = '', + stages = [ + koyeb.api_async.models.deployment_provisioning_info/stage.DeploymentProvisioningInfo.Stage( + name = '', + status = 'UNKNOWN', + messages = [ + '' + ], + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + build_attempts = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt.DeploymentProvisioningInfo.Stage.BuildAttempt( + id = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + steps = [ + koyeb.api_async.models.deployment_provisioning_info/stage/build_attempt/build_step.DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep( + name = '', + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + finished_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ], + image_pushed = True, + internal_failure = True, + retryable_failure = True, + wait_completion = True, ) + ], ) + ], ), + role = 'INVALID', + version = '', + deployment_group = '', + deployment_id = '' + ) + else: + return RegionalDeployment( + ) + """ + + def testRegionalDeployment(self): + """Test RegionalDeployment""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_regional_deployment_definition.py b/koyeb/api_async/test/test_regional_deployment_definition.py new file mode 100644 index 00000000..d8189c4e --- /dev/null +++ b/koyeb/api_async/test/test_regional_deployment_definition.py @@ -0,0 +1,187 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.regional_deployment_definition import RegionalDeploymentDefinition + +class TestRegionalDeploymentDefinition(unittest.TestCase): + """RegionalDeploymentDefinition unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RegionalDeploymentDefinition: + """Test RegionalDeploymentDefinition + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RegionalDeploymentDefinition` + """ + model = RegionalDeploymentDefinition() + if include_optional: + return RegionalDeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy( + type = 'DEPLOYMENT_STRATEGY_TYPE_INVALID', ), + routes = [ + koyeb.api_async.models.route.Route( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.port.Port( + port = 56, + protocol = '', ) + ], + env = [ + koyeb.api_async.models.env.Env( + key = '', + value = '', + secret = '', ) + ], + region = '', + scaling = koyeb.api_async.models.scaling.Scaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ), + instance_type = '', + deployment_group = '', + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.regional_deployment_volume.RegionalDeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'REGIONAL_DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), + docker = koyeb.api_async.models.docker_builder.DockerBuilder( + dockerfile = '', + entrypoint = [ + '' + ], + command = '', + args = [ + '' + ], + target = '', + privileged = True, ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), + docker = koyeb.api_async.models.docker_builder.DockerBuilder( + dockerfile = '', + entrypoint = [ + '' + ], + command = '', + args = [ + '' + ], + target = '', + privileged = True, ), ) + ) + else: + return RegionalDeploymentDefinition( + ) + """ + + def testRegionalDeploymentDefinition(self): + """Test RegionalDeploymentDefinition""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_regional_deployment_definition_type.py b/koyeb/api_async/test/test_regional_deployment_definition_type.py new file mode 100644 index 00000000..98a447d6 --- /dev/null +++ b/koyeb/api_async/test/test_regional_deployment_definition_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.regional_deployment_definition_type import RegionalDeploymentDefinitionType + +class TestRegionalDeploymentDefinitionType(unittest.TestCase): + """RegionalDeploymentDefinitionType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRegionalDeploymentDefinitionType(self): + """Test RegionalDeploymentDefinitionType""" + # inst = RegionalDeploymentDefinitionType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_regional_deployment_event.py b/koyeb/api_async/test/test_regional_deployment_event.py new file mode 100644 index 00000000..c234c9d0 --- /dev/null +++ b/koyeb/api_async/test/test_regional_deployment_event.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.regional_deployment_event import RegionalDeploymentEvent + +class TestRegionalDeploymentEvent(unittest.TestCase): + """RegionalDeploymentEvent unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RegionalDeploymentEvent: + """Test RegionalDeploymentEvent + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RegionalDeploymentEvent` + """ + model = RegionalDeploymentEvent() + if include_optional: + return RegionalDeploymentEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + regional_deployment_id = '', + type = '', + message = '', + metadata = koyeb.api_async.models.metadata.metadata() + ) + else: + return RegionalDeploymentEvent( + ) + """ + + def testRegionalDeploymentEvent(self): + """Test RegionalDeploymentEvent""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_regional_deployment_list_item.py b/koyeb/api_async/test/test_regional_deployment_list_item.py new file mode 100644 index 00000000..2a1d0f28 --- /dev/null +++ b/koyeb/api_async/test/test_regional_deployment_list_item.py @@ -0,0 +1,169 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.regional_deployment_list_item import RegionalDeploymentListItem + +class TestRegionalDeploymentListItem(unittest.TestCase): + """RegionalDeploymentListItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RegionalDeploymentListItem: + """Test RegionalDeploymentListItem + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RegionalDeploymentListItem` + """ + model = RegionalDeploymentListItem() + if include_optional: + return RegionalDeploymentListItem( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + region = '', + status = 'PENDING', + messages = [ + '' + ], + definition = koyeb.api_async.models.regional_deployment_definition.RegionalDeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.route.Route( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.port.Port( + port = 56, + protocol = '', ) + ], + env = [ + koyeb.api_async.models.env.Env( + key = '', + value = '', + secret = '', ) + ], + region = '', + scaling = koyeb.api_async.models.scaling.Scaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ), + instance_type = '', + deployment_group = '', + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.regional_deployment_volume.RegionalDeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'REGIONAL_DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', ), ) + ) + else: + return RegionalDeploymentListItem( + ) + """ + + def testRegionalDeploymentListItem(self): + """Test RegionalDeploymentListItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_regional_deployment_mesh.py b/koyeb/api_async/test/test_regional_deployment_mesh.py new file mode 100644 index 00000000..4ff7522c --- /dev/null +++ b/koyeb/api_async/test/test_regional_deployment_mesh.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.regional_deployment_mesh import RegionalDeploymentMesh + +class TestRegionalDeploymentMesh(unittest.TestCase): + """RegionalDeploymentMesh unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRegionalDeploymentMesh(self): + """Test RegionalDeploymentMesh""" + # inst = RegionalDeploymentMesh() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_regional_deployment_role.py b/koyeb/api_async/test/test_regional_deployment_role.py new file mode 100644 index 00000000..8fbec89a --- /dev/null +++ b/koyeb/api_async/test/test_regional_deployment_role.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.regional_deployment_role import RegionalDeploymentRole + +class TestRegionalDeploymentRole(unittest.TestCase): + """RegionalDeploymentRole unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRegionalDeploymentRole(self): + """Test RegionalDeploymentRole""" + # inst = RegionalDeploymentRole() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_regional_deployment_status.py b/koyeb/api_async/test/test_regional_deployment_status.py new file mode 100644 index 00000000..e151976c --- /dev/null +++ b/koyeb/api_async/test/test_regional_deployment_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.regional_deployment_status import RegionalDeploymentStatus + +class TestRegionalDeploymentStatus(unittest.TestCase): + """RegionalDeploymentStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRegionalDeploymentStatus(self): + """Test RegionalDeploymentStatus""" + # inst = RegionalDeploymentStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_regional_deployment_volume.py b/koyeb/api_async/test/test_regional_deployment_volume.py new file mode 100644 index 00000000..53267512 --- /dev/null +++ b/koyeb/api_async/test/test_regional_deployment_volume.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.regional_deployment_volume import RegionalDeploymentVolume + +class TestRegionalDeploymentVolume(unittest.TestCase): + """RegionalDeploymentVolume unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RegionalDeploymentVolume: + """Test RegionalDeploymentVolume + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RegionalDeploymentVolume` + """ + model = RegionalDeploymentVolume() + if include_optional: + return RegionalDeploymentVolume( + id = '', + path = '', + replica_index = 56 + ) + else: + return RegionalDeploymentVolume( + ) + """ + + def testRegionalDeploymentVolume(self): + """Test RegionalDeploymentVolume""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_regional_deployments_api.py b/koyeb/api_async/test/test_regional_deployments_api.py new file mode 100644 index 00000000..dfd0a2ce --- /dev/null +++ b/koyeb/api_async/test/test_regional_deployments_api.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.regional_deployments_api import RegionalDeploymentsApi + + +class TestRegionalDeploymentsApi(unittest.IsolatedAsyncioTestCase): + """RegionalDeploymentsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = RegionalDeploymentsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_get_regional_deployment(self) -> None: + """Test case for get_regional_deployment + + Get Regional Deployment + """ + pass + + async def test_list_regional_deployment_events(self) -> None: + """Test case for list_regional_deployment_events + + List Regional Deployment events + """ + pass + + async def test_list_regional_deployments(self) -> None: + """Test case for list_regional_deployments + + List Regional Deployments + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_remove_organization_member_reply.py b/koyeb/api_async/test/test_remove_organization_member_reply.py new file mode 100644 index 00000000..a95d6c1a --- /dev/null +++ b/koyeb/api_async/test/test_remove_organization_member_reply.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.remove_organization_member_reply import RemoveOrganizationMemberReply + +class TestRemoveOrganizationMemberReply(unittest.TestCase): + """RemoveOrganizationMemberReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RemoveOrganizationMemberReply: + """Test RemoveOrganizationMemberReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RemoveOrganizationMemberReply` + """ + model = RemoveOrganizationMemberReply() + if include_optional: + return RemoveOrganizationMemberReply( + member = koyeb.api_async.models.organization_member.OrganizationMember( + id = '', + organization_id = '', + user_id = '', + external_id = '', + joined_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + role = 'INVALID', + status = 'INVALID', + user = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + external_id = '', ), ) + ) + else: + return RemoveOrganizationMemberReply( + ) + """ + + def testRemoveOrganizationMemberReply(self): + """Test RemoveOrganizationMemberReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_repositories_api.py b/koyeb/api_async/test/test_repositories_api.py new file mode 100644 index 00000000..97e5cd4c --- /dev/null +++ b/koyeb/api_async/test/test_repositories_api.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.repositories_api import RepositoriesApi + + +class TestRepositoriesApi(unittest.IsolatedAsyncioTestCase): + """RepositoriesApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = RepositoriesApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_list_branches(self) -> None: + """Test case for list_branches + + List Branches + """ + pass + + async def test_list_repositories(self) -> None: + """Test case for list_repositories + + List Repositories + """ + pass + + async def test_resync_organization(self) -> None: + """Test case for resync_organization + + Resync Organization + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_resend_organization_invitation_reply.py b/koyeb/api_async/test/test_resend_organization_invitation_reply.py new file mode 100644 index 00000000..3b8b3281 --- /dev/null +++ b/koyeb/api_async/test/test_resend_organization_invitation_reply.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.resend_organization_invitation_reply import ResendOrganizationInvitationReply + +class TestResendOrganizationInvitationReply(unittest.TestCase): + """ResendOrganizationInvitationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ResendOrganizationInvitationReply: + """Test ResendOrganizationInvitationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ResendOrganizationInvitationReply` + """ + model = ResendOrganizationInvitationReply() + if include_optional: + return ResendOrganizationInvitationReply( + invitation = koyeb.api_async.models.organization_invitation.OrganizationInvitation( + id = '', + email = '', + role = 'INVALID', + status = 'INVALID', + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + organization = koyeb.api_async.models.public_organization.PublicOrganization( + id = '', + name = '', + plan = 'hobby', + external_id = '', ), + invitee_id = '', + invitee = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), + inviter_id = '', + inviter = koyeb.api_async.models.public_user.PublicUser( + id = '', + email = '', + name = '', + avatar_url = '', + github_id = '', + github_user = '', ), ) + ) + else: + return ResendOrganizationInvitationReply( + ) + """ + + def testResendOrganizationInvitationReply(self): + """Test ResendOrganizationInvitationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_reset_password_request.py b/koyeb/api_async/test/test_reset_password_request.py new file mode 100644 index 00000000..a17f3021 --- /dev/null +++ b/koyeb/api_async/test/test_reset_password_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.reset_password_request import ResetPasswordRequest + +class TestResetPasswordRequest(unittest.TestCase): + """ResetPasswordRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ResetPasswordRequest: + """Test ResetPasswordRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ResetPasswordRequest` + """ + model = ResetPasswordRequest() + if include_optional: + return ResetPasswordRequest( + email = '' + ) + else: + return ResetPasswordRequest( + ) + """ + + def testResetPasswordRequest(self): + """Test ResetPasswordRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_reveal_secret_reply.py b/koyeb/api_async/test/test_reveal_secret_reply.py new file mode 100644 index 00000000..02bda919 --- /dev/null +++ b/koyeb/api_async/test/test_reveal_secret_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.reveal_secret_reply import RevealSecretReply + +class TestRevealSecretReply(unittest.TestCase): + """RevealSecretReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RevealSecretReply: + """Test RevealSecretReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RevealSecretReply` + """ + model = RevealSecretReply() + if include_optional: + return RevealSecretReply( + value = None + ) + else: + return RevealSecretReply( + ) + """ + + def testRevealSecretReply(self): + """Test RevealSecretReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_review_organization_capacity_reply.py b/koyeb/api_async/test/test_review_organization_capacity_reply.py new file mode 100644 index 00000000..1dd7e5ee --- /dev/null +++ b/koyeb/api_async/test/test_review_organization_capacity_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.review_organization_capacity_reply import ReviewOrganizationCapacityReply + +class TestReviewOrganizationCapacityReply(unittest.TestCase): + """ReviewOrganizationCapacityReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReviewOrganizationCapacityReply: + """Test ReviewOrganizationCapacityReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReviewOrganizationCapacityReply` + """ + model = ReviewOrganizationCapacityReply() + if include_optional: + return ReviewOrganizationCapacityReply( + has_capacity = True + ) + else: + return ReviewOrganizationCapacityReply( + ) + """ + + def testReviewOrganizationCapacityReply(self): + """Test ReviewOrganizationCapacityReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_review_organization_capacity_request.py b/koyeb/api_async/test/test_review_organization_capacity_request.py new file mode 100644 index 00000000..9fa6ef1e --- /dev/null +++ b/koyeb/api_async/test/test_review_organization_capacity_request.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.review_organization_capacity_request import ReviewOrganizationCapacityRequest + +class TestReviewOrganizationCapacityRequest(unittest.TestCase): + """ReviewOrganizationCapacityRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReviewOrganizationCapacityRequest: + """Test ReviewOrganizationCapacityRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReviewOrganizationCapacityRequest` + """ + model = ReviewOrganizationCapacityRequest() + if include_optional: + return ReviewOrganizationCapacityRequest( + plan = '', + trialing = True + ) + else: + return ReviewOrganizationCapacityRequest( + ) + """ + + def testReviewOrganizationCapacityRequest(self): + """Test ReviewOrganizationCapacityRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_route.py b/koyeb/api_async/test/test_route.py new file mode 100644 index 00000000..791ae89f --- /dev/null +++ b/koyeb/api_async/test/test_route.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.route import Route + +class TestRoute(unittest.TestCase): + """Route unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Route: + """Test Route + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Route` + """ + model = Route() + if include_optional: + return Route( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ) + ) + else: + return Route( + ) + """ + + def testRoute(self): + """Test Route""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_sample.py b/koyeb/api_async/test/test_sample.py new file mode 100644 index 00000000..c495c913 --- /dev/null +++ b/koyeb/api_async/test/test_sample.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.sample import Sample + +class TestSample(unittest.TestCase): + """Sample unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Sample: + """Test Sample + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Sample` + """ + model = Sample() + if include_optional: + return Sample( + timestamp = '', + value = 1.337 + ) + else: + return Sample( + ) + """ + + def testSample(self): + """Test Sample""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_sandbox_metadata.py b/koyeb/api_async/test/test_sandbox_metadata.py new file mode 100644 index 00000000..3a376b2e --- /dev/null +++ b/koyeb/api_async/test/test_sandbox_metadata.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.sandbox_metadata import SandboxMetadata + +class TestSandboxMetadata(unittest.TestCase): + """SandboxMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SandboxMetadata: + """Test SandboxMetadata + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SandboxMetadata` + """ + model = SandboxMetadata() + if include_optional: + return SandboxMetadata( + public_url = '', + routing_key = '' + ) + else: + return SandboxMetadata( + ) + """ + + def testSandboxMetadata(self): + """Test SandboxMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_scale_to_zero_quotas.py b/koyeb/api_async/test/test_scale_to_zero_quotas.py new file mode 100644 index 00000000..31cfea0f --- /dev/null +++ b/koyeb/api_async/test/test_scale_to_zero_quotas.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.scale_to_zero_quotas import ScaleToZeroQuotas + +class TestScaleToZeroQuotas(unittest.TestCase): + """ScaleToZeroQuotas unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ScaleToZeroQuotas: + """Test ScaleToZeroQuotas + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ScaleToZeroQuotas` + """ + model = ScaleToZeroQuotas() + if include_optional: + return ScaleToZeroQuotas( + is_deep_sleep_enabled = True, + deep_sleep_idle_delay_min = 56, + deep_sleep_idle_delay_max = 56, + is_light_sleep_enabled = True, + light_sleep_idle_delay_min = 56, + light_sleep_idle_delay_max = 56 + ) + else: + return ScaleToZeroQuotas( + ) + """ + + def testScaleToZeroQuotas(self): + """Test ScaleToZeroQuotas""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_scaling.py b/koyeb/api_async/test/test_scaling.py new file mode 100644 index 00000000..d41c7931 --- /dev/null +++ b/koyeb/api_async/test/test_scaling.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.scaling import Scaling + +class TestScaling(unittest.TestCase): + """Scaling unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Scaling: + """Test Scaling + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Scaling` + """ + model = Scaling() + if include_optional: + return Scaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ] + ) + else: + return Scaling( + ) + """ + + def testScaling(self): + """Test Scaling""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_search_api.py b/koyeb/api_async/test/test_search_api.py new file mode 100644 index 00000000..bebc3569 --- /dev/null +++ b/koyeb/api_async/test/test_search_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.search_api import SearchApi + + +class TestSearchApi(unittest.IsolatedAsyncioTestCase): + """SearchApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = SearchApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_search(self) -> None: + """Test case for search + + Search + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_secret.py b/koyeb/api_async/test/test_secret.py new file mode 100644 index 00000000..a0b4cde8 --- /dev/null +++ b/koyeb/api_async/test/test_secret.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.secret import Secret + +class TestSecret(unittest.TestCase): + """Secret unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Secret: + """Test Secret + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Secret` + """ + model = Secret() + if include_optional: + return Secret( + id = '', + name = '', + organization_id = '', + type = 'SIMPLE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + project_id = '', + value = '', + docker_hub_registry = koyeb.api_async.models.docker_hub_registry_configuration.DockerHubRegistryConfiguration( + username = '', + password = '', ), + private_registry = koyeb.api_async.models.private_registry_configuration.PrivateRegistryConfiguration( + username = '', + password = '', + url = '', ), + digital_ocean_registry = koyeb.api_async.models.digital_ocean_registry_configuration.DigitalOceanRegistryConfiguration( + username = '', + password = '', ), + github_registry = koyeb.api_async.models.git_hub_registry_configuration.GitHubRegistryConfiguration( + username = '', + password = '', ), + gitlab_registry = koyeb.api_async.models.git_lab_registry_configuration.GitLabRegistryConfiguration( + username = '', + password = '', ), + gcp_container_registry = koyeb.api_async.models.gcp_container_registry_configuration.GCPContainerRegistryConfiguration( + keyfile_content = '', + url = '', ), + azure_container_registry = koyeb.api_async.models.azure_container_registry_configuration.AzureContainerRegistryConfiguration( + registry_name = '', + username = '', + password = '', ), + database_role_password = koyeb.api_async.models.database_role_password.DatabaseRolePassword( + username = '', + password = '', ) + ) + else: + return Secret( + ) + """ + + def testSecret(self): + """Test Secret""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_secret_type.py b/koyeb/api_async/test/test_secret_type.py new file mode 100644 index 00000000..2ac57009 --- /dev/null +++ b/koyeb/api_async/test/test_secret_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.secret_type import SecretType + +class TestSecretType(unittest.TestCase): + """SecretType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testSecretType(self): + """Test SecretType""" + # inst = SecretType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_secrets_api.py b/koyeb/api_async/test/test_secrets_api.py new file mode 100644 index 00000000..84081097 --- /dev/null +++ b/koyeb/api_async/test/test_secrets_api.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.secrets_api import SecretsApi + + +class TestSecretsApi(unittest.IsolatedAsyncioTestCase): + """SecretsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = SecretsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_secret(self) -> None: + """Test case for create_secret + + Create Secret + """ + pass + + async def test_delete_secret(self) -> None: + """Test case for delete_secret + + Delete Secret + """ + pass + + async def test_get_secret(self) -> None: + """Test case for get_secret + + Get Secret + """ + pass + + async def test_list_secrets(self) -> None: + """Test case for list_secrets + + List Secrets + """ + pass + + async def test_reveal_secret(self) -> None: + """Test case for reveal_secret + + Reveal Secret + """ + pass + + async def test_update_secret(self) -> None: + """Test case for update_secret + + Update Secret + """ + pass + + async def test_update_secret2(self) -> None: + """Test case for update_secret2 + + Update Secret + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_secrets_summary.py b/koyeb/api_async/test/test_secrets_summary.py new file mode 100644 index 00000000..f1c81a82 --- /dev/null +++ b/koyeb/api_async/test/test_secrets_summary.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.secrets_summary import SecretsSummary + +class TestSecretsSummary(unittest.TestCase): + """SecretsSummary unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SecretsSummary: + """Test SecretsSummary + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SecretsSummary` + """ + model = SecretsSummary() + if include_optional: + return SecretsSummary( + total = '', + by_type = { + 'key' : '' + } + ) + else: + return SecretsSummary( + ) + """ + + def testSecretsSummary(self): + """Test SecretsSummary""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_security_policies.py b/koyeb/api_async/test/test_security_policies.py new file mode 100644 index 00000000..9065d0f9 --- /dev/null +++ b/koyeb/api_async/test/test_security_policies.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.security_policies import SecurityPolicies + +class TestSecurityPolicies(unittest.TestCase): + """SecurityPolicies unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SecurityPolicies: + """Test SecurityPolicies + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SecurityPolicies` + """ + model = SecurityPolicies() + if include_optional: + return SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ] + ) + else: + return SecurityPolicies( + ) + """ + + def testSecurityPolicies(self): + """Test SecurityPolicies""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_service.py b/koyeb/api_async/test/test_service.py new file mode 100644 index 00000000..6d617d72 --- /dev/null +++ b/koyeb/api_async/test/test_service.py @@ -0,0 +1,83 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.service import Service + +class TestService(unittest.TestCase): + """Service unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Service: + """Test Service + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Service` + """ + model = Service() + if include_optional: + return Service( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + paused_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resumed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + name = '', + type = 'INVALID_TYPE', + organization_id = '', + app_id = '', + status = 'STARTING', + messages = [ + '' + ], + version = '', + active_deployment_id = '', + latest_deployment_id = '', + last_provisioned_deployment_id = '', + state = koyeb.api_async.models.service_state.ServiceState( + desired_deployment = koyeb.api_async.models.desired_deployment.DesiredDeployment( + groups = [ + koyeb.api_async.models.desired_deployment/group.DesiredDeployment.Group( + name = '', + deployment_ids = [ + '' + ], ) + ], ), + auto_release = koyeb.api_async.models.auto_release.AutoRelease(), ), + life_cycle = koyeb.api_async.models.service_life_cycle.ServiceLifeCycle( + delete_after_sleep = 56, + delete_after_create = 56, ) + ) + else: + return Service( + ) + """ + + def testService(self): + """Test Service""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_service_event.py b/koyeb/api_async/test/test_service_event.py new file mode 100644 index 00000000..ecc82d58 --- /dev/null +++ b/koyeb/api_async/test/test_service_event.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.service_event import ServiceEvent + +class TestServiceEvent(unittest.TestCase): + """ServiceEvent unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceEvent: + """Test ServiceEvent + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceEvent` + """ + model = ServiceEvent() + if include_optional: + return ServiceEvent( + id = '', + when = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + service_id = '', + type = '', + message = '', + metadata = koyeb.api_async.models.metadata.metadata() + ) + else: + return ServiceEvent( + ) + """ + + def testServiceEvent(self): + """Test ServiceEvent""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_service_life_cycle.py b/koyeb/api_async/test/test_service_life_cycle.py new file mode 100644 index 00000000..b20bc2c6 --- /dev/null +++ b/koyeb/api_async/test/test_service_life_cycle.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.service_life_cycle import ServiceLifeCycle + +class TestServiceLifeCycle(unittest.TestCase): + """ServiceLifeCycle unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceLifeCycle: + """Test ServiceLifeCycle + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceLifeCycle` + """ + model = ServiceLifeCycle() + if include_optional: + return ServiceLifeCycle( + delete_after_sleep = 56, + delete_after_create = 56 + ) + else: + return ServiceLifeCycle( + ) + """ + + def testServiceLifeCycle(self): + """Test ServiceLifeCycle""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_service_list_item.py b/koyeb/api_async/test/test_service_list_item.py new file mode 100644 index 00000000..abbe819f --- /dev/null +++ b/koyeb/api_async/test/test_service_list_item.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.service_list_item import ServiceListItem + +class TestServiceListItem(unittest.TestCase): + """ServiceListItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceListItem: + """Test ServiceListItem + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceListItem` + """ + model = ServiceListItem() + if include_optional: + return ServiceListItem( + id = '', + name = '', + type = 'INVALID_TYPE', + organization_id = '', + app_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'STARTING', + messages = [ + '' + ], + version = '', + state = koyeb.api_async.models.service_state.ServiceState( + desired_deployment = koyeb.api_async.models.desired_deployment.DesiredDeployment( + groups = [ + koyeb.api_async.models.desired_deployment/group.DesiredDeployment.Group( + name = '', + deployment_ids = [ + '' + ], ) + ], ), + auto_release = koyeb.api_async.models.auto_release.AutoRelease(), ), + active_deployment_id = '', + latest_deployment_id = '', + life_cycle = koyeb.api_async.models.service_life_cycle.ServiceLifeCycle( + delete_after_sleep = 56, + delete_after_create = 56, ) + ) + else: + return ServiceListItem( + ) + """ + + def testServiceListItem(self): + """Test ServiceListItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_service_state.py b/koyeb/api_async/test/test_service_state.py new file mode 100644 index 00000000..4d437012 --- /dev/null +++ b/koyeb/api_async/test/test_service_state.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.service_state import ServiceState + +class TestServiceState(unittest.TestCase): + """ServiceState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceState: + """Test ServiceState + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceState` + """ + model = ServiceState() + if include_optional: + return ServiceState( + desired_deployment = koyeb.api_async.models.desired_deployment.DesiredDeployment( + groups = [ + koyeb.api_async.models.desired_deployment/group.DesiredDeployment.Group( + name = '', + deployment_ids = [ + '' + ], ) + ], ), + auto_release = koyeb.api_async.models.auto_release.AutoRelease( + groups = [ + koyeb.api_async.models.configuration_extracted_from_the_latest_deployment_in_this_deployment_group.Configuration extracted from the latest deployment in this deployment_group( + name = '', + repository = '', + git_ref = '', + latest_sha = '', ) + ], ) + ) + else: + return ServiceState( + ) + """ + + def testServiceState(self): + """Test ServiceState""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_service_status.py b/koyeb/api_async/test/test_service_status.py new file mode 100644 index 00000000..c4b88dfd --- /dev/null +++ b/koyeb/api_async/test/test_service_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.service_status import ServiceStatus + +class TestServiceStatus(unittest.TestCase): + """ServiceStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceStatus(self): + """Test ServiceStatus""" + # inst = ServiceStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_service_summary.py b/koyeb/api_async/test/test_service_summary.py new file mode 100644 index 00000000..71c7e877 --- /dev/null +++ b/koyeb/api_async/test/test_service_summary.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.service_summary import ServiceSummary + +class TestServiceSummary(unittest.TestCase): + """ServiceSummary unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceSummary: + """Test ServiceSummary + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceSummary` + """ + model = ServiceSummary() + if include_optional: + return ServiceSummary( + total = '', + by_status = { + 'key' : '' + } + ) + else: + return ServiceSummary( + ) + """ + + def testServiceSummary(self): + """Test ServiceSummary""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_service_type.py b/koyeb/api_async/test/test_service_type.py new file mode 100644 index 00000000..1a573fc9 --- /dev/null +++ b/koyeb/api_async/test/test_service_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.service_type import ServiceType + +class TestServiceType(unittest.TestCase): + """ServiceType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceType(self): + """Test ServiceType""" + # inst = ServiceType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_service_usage.py b/koyeb/api_async/test/test_service_usage.py new file mode 100644 index 00000000..b477782d --- /dev/null +++ b/koyeb/api_async/test/test_service_usage.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.service_usage import ServiceUsage + +class TestServiceUsage(unittest.TestCase): + """ServiceUsage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceUsage: + """Test ServiceUsage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceUsage` + """ + model = ServiceUsage() + if include_optional: + return ServiceUsage( + service_id = '', + service_name = '', + regions = { + 'key' : koyeb.api_async.models.region_usage.RegionUsage( + instances = { + 'key' : koyeb.api_async.models.instance_usage.InstanceUsage( + duration_seconds = 56, ) + }, ) + } + ) + else: + return ServiceUsage( + ) + """ + + def testServiceUsage(self): + """Test ServiceUsage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_services_api.py b/koyeb/api_async/test/test_services_api.py new file mode 100644 index 00000000..1dd162f8 --- /dev/null +++ b/koyeb/api_async/test/test_services_api.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.services_api import ServicesApi + + +class TestServicesApi(unittest.IsolatedAsyncioTestCase): + """ServicesApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = ServicesApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_autocomplete(self) -> None: + """Test case for autocomplete + + Autocomplete definition + """ + pass + + async def test_create_service(self) -> None: + """Test case for create_service + + Create Service + """ + pass + + async def test_delete_service(self) -> None: + """Test case for delete_service + + Delete Service + """ + pass + + async def test_delete_service_scaling(self) -> None: + """Test case for delete_service_scaling + + Delete Service Scaling + """ + pass + + async def test_get_service(self) -> None: + """Test case for get_service + + Get Service + """ + pass + + async def test_get_service_scaling(self) -> None: + """Test case for get_service_scaling + + Get Service Scaling + """ + pass + + async def test_list_service_events(self) -> None: + """Test case for list_service_events + + List Service events + """ + pass + + async def test_list_services(self) -> None: + """Test case for list_services + + List Services + """ + pass + + async def test_pause_service(self) -> None: + """Test case for pause_service + + Pause Service + """ + pass + + async def test_re_deploy(self) -> None: + """Test case for re_deploy + + ReDeploy Service + """ + pass + + async def test_resume_service(self) -> None: + """Test case for resume_service + + Resume Service + """ + pass + + async def test_update_service(self) -> None: + """Test case for update_service + + Update Service + """ + pass + + async def test_update_service2(self) -> None: + """Test case for update_service2 + + Update Service + """ + pass + + async def test_update_service_scaling(self) -> None: + """Test case for update_service_scaling + + Update Service Scaling + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_sessions_api.py b/koyeb/api_async/test/test_sessions_api.py new file mode 100644 index 00000000..f2d7989b --- /dev/null +++ b/koyeb/api_async/test/test_sessions_api.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.sessions_api import SessionsApi + + +class TestSessionsApi(unittest.IsolatedAsyncioTestCase): + """SessionsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = SessionsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_login(self) -> None: + """Test case for login + + Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_logout(self) -> None: + """Test case for logout + + Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + async def test_new_session(self) -> None: + """Test case for new_session + + New session + """ + pass + + async def test_refresh_token(self) -> None: + """Test case for refresh_token + + Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_snapshot.py b/koyeb/api_async/test/test_snapshot.py new file mode 100644 index 00000000..12b12de6 --- /dev/null +++ b/koyeb/api_async/test/test_snapshot.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.snapshot import Snapshot + +class TestSnapshot(unittest.TestCase): + """Snapshot unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Snapshot: + """Test Snapshot + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Snapshot` + """ + model = Snapshot() + if include_optional: + return Snapshot( + id = '', + name = '', + size = 56, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + parent_volume_id = '', + region = '', + status = 'SNAPSHOT_STATUS_INVALID', + type = 'SNAPSHOT_TYPE_INVALID' + ) + else: + return Snapshot( + ) + """ + + def testSnapshot(self): + """Test Snapshot""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_snapshot_status.py b/koyeb/api_async/test/test_snapshot_status.py new file mode 100644 index 00000000..0a8e8821 --- /dev/null +++ b/koyeb/api_async/test/test_snapshot_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.snapshot_status import SnapshotStatus + +class TestSnapshotStatus(unittest.TestCase): + """SnapshotStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testSnapshotStatus(self): + """Test SnapshotStatus""" + # inst = SnapshotStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_snapshot_type.py b/koyeb/api_async/test/test_snapshot_type.py new file mode 100644 index 00000000..3785e146 --- /dev/null +++ b/koyeb/api_async/test/test_snapshot_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.snapshot_type import SnapshotType + +class TestSnapshotType(unittest.TestCase): + """SnapshotType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testSnapshotType(self): + """Test SnapshotType""" + # inst = SnapshotType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_snapshots_api.py b/koyeb/api_async/test/test_snapshots_api.py new file mode 100644 index 00000000..922bf853 --- /dev/null +++ b/koyeb/api_async/test/test_snapshots_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.snapshots_api import SnapshotsApi + + +class TestSnapshotsApi(unittest.IsolatedAsyncioTestCase): + """SnapshotsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = SnapshotsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create_snapshot(self) -> None: + """Test case for create_snapshot + + Create a Snapshot + """ + pass + + async def test_delete_snapshot(self) -> None: + """Test case for delete_snapshot + + Delete a Snapshot + """ + pass + + async def test_get_snapshot(self) -> None: + """Test case for get_snapshot + + Get a Snapshot + """ + pass + + async def test_list_snapshots(self) -> None: + """Test case for list_snapshots + + List all Snapshots + """ + pass + + async def test_update_snapshot(self) -> None: + """Test case for update_snapshot + + Update a Snapshot + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_sso_api.py b/koyeb/api_async/test/test_sso_api.py new file mode 100644 index 00000000..8d63a263 --- /dev/null +++ b/koyeb/api_async/test/test_sso_api.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.sso_api import SsoApi + + +class TestSsoApi(unittest.IsolatedAsyncioTestCase): + """SsoApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = SsoApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_canny_auth(self) -> None: + """Test case for canny_auth + + """ + pass + + async def test_discourse_auth(self) -> None: + """Test case for discourse_auth + + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_stream_result_of_exec_command_reply.py b/koyeb/api_async/test/test_stream_result_of_exec_command_reply.py new file mode 100644 index 00000000..fb5859b5 --- /dev/null +++ b/koyeb/api_async/test/test_stream_result_of_exec_command_reply.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.stream_result_of_exec_command_reply import StreamResultOfExecCommandReply + +class TestStreamResultOfExecCommandReply(unittest.TestCase): + """StreamResultOfExecCommandReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> StreamResultOfExecCommandReply: + """Test StreamResultOfExecCommandReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `StreamResultOfExecCommandReply` + """ + model = StreamResultOfExecCommandReply() + if include_optional: + return StreamResultOfExecCommandReply( + result = koyeb.api_async.models.exec_command_reply.ExecCommandReply( + stdout = koyeb.api_async.models.exec_command_io.ExecCommandIO( + data = 'YQ==', + close = True, ), + stderr = koyeb.api_async.models.exec_command_io.ExecCommandIO( + data = 'YQ==', + close = True, ), + exited = True, + exit_code = 56, ), + error = koyeb.api_async.models.google/rpc/status.google.rpc.Status( + code = 56, + message = '', + details = [ + { + 'key' : None + } + ], ) + ) + else: + return StreamResultOfExecCommandReply( + ) + """ + + def testStreamResultOfExecCommandReply(self): + """Test StreamResultOfExecCommandReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_stream_result_of_log_entry.py b/koyeb/api_async/test/test_stream_result_of_log_entry.py new file mode 100644 index 00000000..22fb9bcc --- /dev/null +++ b/koyeb/api_async/test/test_stream_result_of_log_entry.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.stream_result_of_log_entry import StreamResultOfLogEntry + +class TestStreamResultOfLogEntry(unittest.TestCase): + """StreamResultOfLogEntry unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> StreamResultOfLogEntry: + """Test StreamResultOfLogEntry + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `StreamResultOfLogEntry` + """ + model = StreamResultOfLogEntry() + if include_optional: + return StreamResultOfLogEntry( + result = koyeb.api_async.models.log_entry.LogEntry( + msg = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + labels = koyeb.api_async.models.labels.labels(), ), + error = koyeb.api_async.models.google/rpc/status.google.rpc.Status( + code = 56, + message = '', + details = [ + { + 'key' : None + } + ], ) + ) + else: + return StreamResultOfLogEntry( + ) + """ + + def testStreamResultOfLogEntry(self): + """Test StreamResultOfLogEntry""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_subscription.py b/koyeb/api_async/test/test_subscription.py new file mode 100644 index 00000000..56c717ea --- /dev/null +++ b/koyeb/api_async/test/test_subscription.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.subscription import Subscription + +class TestSubscription(unittest.TestCase): + """Subscription unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Subscription: + """Test Subscription + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Subscription` + """ + model = Subscription() + if include_optional: + return Subscription( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + version = '', + organization_id = '', + stripe_subscription_id = '', + status = 'INVALID', + messages = [ + '' + ], + has_pending_update = True, + stripe_pending_invoice_id = '', + terminate_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + canceled_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + current_period_start = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + current_period_end = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + currency = '', + amount_payable = '', + amount_paid = '', + amount_remaining = '', + payment_failure = koyeb.api_async.models.subscription/payment_failure.Subscription.PaymentFailure( + failed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + next_attempt = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + attempt_count = '', + error_code = '', + error_reason = '', + error_type = '', + error_message = '', + payment_method_required = True, + redirect_url = '', + stripe_sdk = koyeb.api_async.models.subscription/payment_failure/stripe_sdk.Subscription.PaymentFailure.StripeSDK( + client_secret_key = '', + raw_json = '', ), ), + trialing = True, + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_max_spend = '', + current_spend = '' + ) + else: + return Subscription( + ) + """ + + def testSubscription(self): + """Test Subscription""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_subscription_payment_failure.py b/koyeb/api_async/test/test_subscription_payment_failure.py new file mode 100644 index 00000000..e69736d9 --- /dev/null +++ b/koyeb/api_async/test/test_subscription_payment_failure.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.subscription_payment_failure import SubscriptionPaymentFailure + +class TestSubscriptionPaymentFailure(unittest.TestCase): + """SubscriptionPaymentFailure unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubscriptionPaymentFailure: + """Test SubscriptionPaymentFailure + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubscriptionPaymentFailure` + """ + model = SubscriptionPaymentFailure() + if include_optional: + return SubscriptionPaymentFailure( + failed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + next_attempt = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + attempt_count = '', + error_code = '', + error_reason = '', + error_type = '', + error_message = '', + payment_method_required = True, + redirect_url = '', + stripe_sdk = koyeb.api_async.models.subscription/payment_failure/stripe_sdk.Subscription.PaymentFailure.StripeSDK( + client_secret_key = '', + raw_json = '', ) + ) + else: + return SubscriptionPaymentFailure( + ) + """ + + def testSubscriptionPaymentFailure(self): + """Test SubscriptionPaymentFailure""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_subscription_payment_failure_stripe_sdk.py b/koyeb/api_async/test/test_subscription_payment_failure_stripe_sdk.py new file mode 100644 index 00000000..37df0709 --- /dev/null +++ b/koyeb/api_async/test/test_subscription_payment_failure_stripe_sdk.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.subscription_payment_failure_stripe_sdk import SubscriptionPaymentFailureStripeSDK + +class TestSubscriptionPaymentFailureStripeSDK(unittest.TestCase): + """SubscriptionPaymentFailureStripeSDK unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubscriptionPaymentFailureStripeSDK: + """Test SubscriptionPaymentFailureStripeSDK + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubscriptionPaymentFailureStripeSDK` + """ + model = SubscriptionPaymentFailureStripeSDK() + if include_optional: + return SubscriptionPaymentFailureStripeSDK( + client_secret_key = '', + raw_json = '' + ) + else: + return SubscriptionPaymentFailureStripeSDK( + ) + """ + + def testSubscriptionPaymentFailureStripeSDK(self): + """Test SubscriptionPaymentFailureStripeSDK""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_subscription_status.py b/koyeb/api_async/test/test_subscription_status.py new file mode 100644 index 00000000..ae18d7fc --- /dev/null +++ b/koyeb/api_async/test/test_subscription_status.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.subscription_status import SubscriptionStatus + +class TestSubscriptionStatus(unittest.TestCase): + """SubscriptionStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testSubscriptionStatus(self): + """Test SubscriptionStatus""" + # inst = SubscriptionStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_subscriptions_api.py b/koyeb/api_async/test/test_subscriptions_api.py new file mode 100644 index 00000000..256339d7 --- /dev/null +++ b/koyeb/api_async/test/test_subscriptions_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.subscriptions_api import SubscriptionsApi + + +class TestSubscriptionsApi(unittest.IsolatedAsyncioTestCase): + """SubscriptionsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = SubscriptionsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_get_subscription(self) -> None: + """Test case for get_subscription + + Get Subscription + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_summary_api.py b/koyeb/api_async/test/test_summary_api.py new file mode 100644 index 00000000..fa9f8e7c --- /dev/null +++ b/koyeb/api_async/test/test_summary_api.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.summary_api import SummaryApi + + +class TestSummaryApi(unittest.IsolatedAsyncioTestCase): + """SummaryApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = SummaryApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_get_organization_summary(self) -> None: + """Test case for get_organization_summary + + Get organization usage summary + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_tcp_health_check.py b/koyeb/api_async/test/test_tcp_health_check.py new file mode 100644 index 00000000..b72ca9e1 --- /dev/null +++ b/koyeb/api_async/test/test_tcp_health_check.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.tcp_health_check import TCPHealthCheck + +class TestTCPHealthCheck(unittest.TestCase): + """TCPHealthCheck unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TCPHealthCheck: + """Test TCPHealthCheck + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TCPHealthCheck` + """ + model = TCPHealthCheck() + if include_optional: + return TCPHealthCheck( + port = 56 + ) + else: + return TCPHealthCheck( + ) + """ + + def testTCPHealthCheck(self): + """Test TCPHealthCheck""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_test_api.py b/koyeb/api_async/test/test_test_api.py new file mode 100644 index 00000000..42c9bec3 --- /dev/null +++ b/koyeb/api_async/test/test_test_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.test_api import TestApi + + +class TestTestApi(unittest.IsolatedAsyncioTestCase): + """TestApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = TestApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_test_anon(self) -> None: + """Test case for test_anon + + Test anonymous call + """ + pass + + async def test_test_auth(self) -> None: + """Test case for test_auth + + Test authenticated call + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_token.py b/koyeb/api_async/test/test_token.py new file mode 100644 index 00000000..baa26c03 --- /dev/null +++ b/koyeb/api_async/test/test_token.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.token import Token + +class TestToken(unittest.TestCase): + """Token unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Token: + """Test Token + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Token` + """ + model = Token() + if include_optional: + return Token( + id = '', + user_id = '', + organization_id = '', + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return Token( + ) + """ + + def testToken(self): + """Test Token""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_trigger_deployment_metadata.py b/koyeb/api_async/test/test_trigger_deployment_metadata.py new file mode 100644 index 00000000..6eb73b2d --- /dev/null +++ b/koyeb/api_async/test/test_trigger_deployment_metadata.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.trigger_deployment_metadata import TriggerDeploymentMetadata + +class TestTriggerDeploymentMetadata(unittest.TestCase): + """TriggerDeploymentMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TriggerDeploymentMetadata: + """Test TriggerDeploymentMetadata + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TriggerDeploymentMetadata` + """ + model = TriggerDeploymentMetadata() + if include_optional: + return TriggerDeploymentMetadata( + type = 'UNKNOWN_TYPE', + actor = 'UNKNOWN_ACTOR', + git = koyeb.api_async.models.trigger_git_deployment_metadata.TriggerGitDeploymentMetadata( + provider = 'UNKNOWN', + repository = '', + branch = '', + sha = '', + message = '', + sender_username = '', + sender_avatar_url = '', + sender_profile_url = '', ) + ) + else: + return TriggerDeploymentMetadata( + ) + """ + + def testTriggerDeploymentMetadata(self): + """Test TriggerDeploymentMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_trigger_deployment_metadata_actor_type.py b/koyeb/api_async/test/test_trigger_deployment_metadata_actor_type.py new file mode 100644 index 00000000..c12187f1 --- /dev/null +++ b/koyeb/api_async/test/test_trigger_deployment_metadata_actor_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.trigger_deployment_metadata_actor_type import TriggerDeploymentMetadataActorType + +class TestTriggerDeploymentMetadataActorType(unittest.TestCase): + """TriggerDeploymentMetadataActorType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testTriggerDeploymentMetadataActorType(self): + """Test TriggerDeploymentMetadataActorType""" + # inst = TriggerDeploymentMetadataActorType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_trigger_deployment_metadata_trigger_type.py b/koyeb/api_async/test/test_trigger_deployment_metadata_trigger_type.py new file mode 100644 index 00000000..7aac78c6 --- /dev/null +++ b/koyeb/api_async/test/test_trigger_deployment_metadata_trigger_type.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.trigger_deployment_metadata_trigger_type import TriggerDeploymentMetadataTriggerType + +class TestTriggerDeploymentMetadataTriggerType(unittest.TestCase): + """TriggerDeploymentMetadataTriggerType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testTriggerDeploymentMetadataTriggerType(self): + """Test TriggerDeploymentMetadataTriggerType""" + # inst = TriggerDeploymentMetadataTriggerType() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_trigger_git_deployment_metadata.py b/koyeb/api_async/test/test_trigger_git_deployment_metadata.py new file mode 100644 index 00000000..294a776f --- /dev/null +++ b/koyeb/api_async/test/test_trigger_git_deployment_metadata.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.trigger_git_deployment_metadata import TriggerGitDeploymentMetadata + +class TestTriggerGitDeploymentMetadata(unittest.TestCase): + """TriggerGitDeploymentMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TriggerGitDeploymentMetadata: + """Test TriggerGitDeploymentMetadata + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TriggerGitDeploymentMetadata` + """ + model = TriggerGitDeploymentMetadata() + if include_optional: + return TriggerGitDeploymentMetadata( + provider = 'UNKNOWN', + repository = '', + branch = '', + sha = '', + message = '', + sender_username = '', + sender_avatar_url = '', + sender_profile_url = '' + ) + else: + return TriggerGitDeploymentMetadata( + ) + """ + + def testTriggerGitDeploymentMetadata(self): + """Test TriggerGitDeploymentMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_trigger_git_deployment_metadata_provider.py b/koyeb/api_async/test/test_trigger_git_deployment_metadata_provider.py new file mode 100644 index 00000000..5650e08f --- /dev/null +++ b/koyeb/api_async/test/test_trigger_git_deployment_metadata_provider.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.trigger_git_deployment_metadata_provider import TriggerGitDeploymentMetadataProvider + +class TestTriggerGitDeploymentMetadataProvider(unittest.TestCase): + """TriggerGitDeploymentMetadataProvider unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testTriggerGitDeploymentMetadataProvider(self): + """Test TriggerGitDeploymentMetadataProvider""" + # inst = TriggerGitDeploymentMetadataProvider() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_app.py b/koyeb/api_async/test/test_update_app.py new file mode 100644 index 00000000..9d357402 --- /dev/null +++ b/koyeb/api_async/test/test_update_app.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_app import UpdateApp + +class TestUpdateApp(unittest.TestCase): + """UpdateApp unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateApp: + """Test UpdateApp + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateApp` + """ + model = UpdateApp() + if include_optional: + return UpdateApp( + name = '', + life_cycle = koyeb.api_async.models.app_life_cycle.AppLifeCycle( + delete_when_empty = True, ) + ) + else: + return UpdateApp( + ) + """ + + def testUpdateApp(self): + """Test UpdateApp""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_app_reply.py b/koyeb/api_async/test/test_update_app_reply.py new file mode 100644 index 00000000..c521eaac --- /dev/null +++ b/koyeb/api_async/test/test_update_app_reply.py @@ -0,0 +1,86 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_app_reply import UpdateAppReply + +class TestUpdateAppReply(unittest.TestCase): + """UpdateAppReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateAppReply: + """Test UpdateAppReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateAppReply` + """ + model = UpdateAppReply() + if include_optional: + return UpdateAppReply( + app = koyeb.api_async.models.app.App( + id = '', + name = '', + organization_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + paused_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resumed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'STARTING', + messages = [ + '' + ], + version = '', + domains = [ + koyeb.api_async.models.domain.Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '', ) + ], + life_cycle = koyeb.api_async.models.app_life_cycle.AppLifeCycle( + delete_when_empty = True, ), ) + ) + else: + return UpdateAppReply( + ) + """ + + def testUpdateAppReply(self): + """Test UpdateAppReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_budget_reply.py b/koyeb/api_async/test/test_update_budget_reply.py new file mode 100644 index 00000000..8ae4a844 --- /dev/null +++ b/koyeb/api_async/test/test_update_budget_reply.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_budget_reply import UpdateBudgetReply + +class TestUpdateBudgetReply(unittest.TestCase): + """UpdateBudgetReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateBudgetReply: + """Test UpdateBudgetReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateBudgetReply` + """ + model = UpdateBudgetReply() + if include_optional: + return UpdateBudgetReply( + budget = koyeb.api_async.models.budget.Budget( + amount = '', + thresholds = [ + '' + ], ) + ) + else: + return UpdateBudgetReply( + ) + """ + + def testUpdateBudgetReply(self): + """Test UpdateBudgetReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_budget_request.py b/koyeb/api_async/test/test_update_budget_request.py new file mode 100644 index 00000000..0a6e0a17 --- /dev/null +++ b/koyeb/api_async/test/test_update_budget_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_budget_request import UpdateBudgetRequest + +class TestUpdateBudgetRequest(unittest.TestCase): + """UpdateBudgetRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateBudgetRequest: + """Test UpdateBudgetRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateBudgetRequest` + """ + model = UpdateBudgetRequest() + if include_optional: + return UpdateBudgetRequest( + amount = '' + ) + else: + return UpdateBudgetRequest( + ) + """ + + def testUpdateBudgetRequest(self): + """Test UpdateBudgetRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_credential_reply.py b/koyeb/api_async/test/test_update_credential_reply.py new file mode 100644 index 00000000..db8c5d3e --- /dev/null +++ b/koyeb/api_async/test/test_update_credential_reply.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_credential_reply import UpdateCredentialReply + +class TestUpdateCredentialReply(unittest.TestCase): + """UpdateCredentialReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateCredentialReply: + """Test UpdateCredentialReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateCredentialReply` + """ + model = UpdateCredentialReply() + if include_optional: + return UpdateCredentialReply( + credential = koyeb.api_async.models.credential.Credential( + id = '', + type = 'INVALID', + name = '', + token = '', + description = '', + user_id = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + ) + else: + return UpdateCredentialReply( + ) + """ + + def testUpdateCredentialReply(self): + """Test UpdateCredentialReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_domain.py b/koyeb/api_async/test/test_update_domain.py new file mode 100644 index 00000000..972333bc --- /dev/null +++ b/koyeb/api_async/test/test_update_domain.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_domain import UpdateDomain + +class TestUpdateDomain(unittest.TestCase): + """UpdateDomain unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateDomain: + """Test UpdateDomain + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateDomain` + """ + model = UpdateDomain() + if include_optional: + return UpdateDomain( + app_id = '', + subdomain = '' + ) + else: + return UpdateDomain( + ) + """ + + def testUpdateDomain(self): + """Test UpdateDomain""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_domain_reply.py b/koyeb/api_async/test/test_update_domain_reply.py new file mode 100644 index 00000000..5615bcfb --- /dev/null +++ b/koyeb/api_async/test/test_update_domain_reply.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_domain_reply import UpdateDomainReply + +class TestUpdateDomainReply(unittest.TestCase): + """UpdateDomainReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateDomainReply: + """Test UpdateDomainReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateDomainReply` + """ + model = UpdateDomainReply() + if include_optional: + return UpdateDomainReply( + domain = koyeb.api_async.models.domain.Domain( + id = '', + organization_id = '', + name = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + status = 'PENDING', + type = 'AUTOASSIGNED', + app_id = '', + deployment_group = '', + verified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + intended_cname = '', + messages = [ + '' + ], + version = '', + cloudflare = koyeb.api_async.models.domain/load_balancer_cloudflare.Domain.LoadBalancerCloudflare(), + koyeb = koyeb.api_async.models.domain/load_balancer_koyeb.Domain.LoadBalancerKoyeb( + request_timeout_seconds = 56, ), + project_id = '', ) + ) + else: + return UpdateDomainReply( + ) + """ + + def testUpdateDomainReply(self): + """Test UpdateDomainReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_organization_default_project_reply.py b/koyeb/api_async/test/test_update_organization_default_project_reply.py new file mode 100644 index 00000000..22565875 --- /dev/null +++ b/koyeb/api_async/test/test_update_organization_default_project_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_organization_default_project_reply import UpdateOrganizationDefaultProjectReply + +class TestUpdateOrganizationDefaultProjectReply(unittest.TestCase): + """UpdateOrganizationDefaultProjectReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateOrganizationDefaultProjectReply: + """Test UpdateOrganizationDefaultProjectReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateOrganizationDefaultProjectReply` + """ + model = UpdateOrganizationDefaultProjectReply() + if include_optional: + return UpdateOrganizationDefaultProjectReply( + organization = koyeb.api_async.models.represent_an_organization.Represent an Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '', ) + ) + else: + return UpdateOrganizationDefaultProjectReply( + ) + """ + + def testUpdateOrganizationDefaultProjectReply(self): + """Test UpdateOrganizationDefaultProjectReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_organization_default_project_request.py b/koyeb/api_async/test/test_update_organization_default_project_request.py new file mode 100644 index 00000000..b062afd5 --- /dev/null +++ b/koyeb/api_async/test/test_update_organization_default_project_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_organization_default_project_request import UpdateOrganizationDefaultProjectRequest + +class TestUpdateOrganizationDefaultProjectRequest(unittest.TestCase): + """UpdateOrganizationDefaultProjectRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateOrganizationDefaultProjectRequest: + """Test UpdateOrganizationDefaultProjectRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateOrganizationDefaultProjectRequest` + """ + model = UpdateOrganizationDefaultProjectRequest() + if include_optional: + return UpdateOrganizationDefaultProjectRequest( + default_project_id = '' + ) + else: + return UpdateOrganizationDefaultProjectRequest( + ) + """ + + def testUpdateOrganizationDefaultProjectRequest(self): + """Test UpdateOrganizationDefaultProjectRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_organization_name_reply.py b/koyeb/api_async/test/test_update_organization_name_reply.py new file mode 100644 index 00000000..cb1cd8d7 --- /dev/null +++ b/koyeb/api_async/test/test_update_organization_name_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_organization_name_reply import UpdateOrganizationNameReply + +class TestUpdateOrganizationNameReply(unittest.TestCase): + """UpdateOrganizationNameReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateOrganizationNameReply: + """Test UpdateOrganizationNameReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateOrganizationNameReply` + """ + model = UpdateOrganizationNameReply() + if include_optional: + return UpdateOrganizationNameReply( + organization = koyeb.api_async.models.represent_an_organization.Represent an Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '', ) + ) + else: + return UpdateOrganizationNameReply( + ) + """ + + def testUpdateOrganizationNameReply(self): + """Test UpdateOrganizationNameReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_organization_name_request.py b/koyeb/api_async/test/test_update_organization_name_request.py new file mode 100644 index 00000000..1420aee8 --- /dev/null +++ b/koyeb/api_async/test/test_update_organization_name_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_organization_name_request import UpdateOrganizationNameRequest + +class TestUpdateOrganizationNameRequest(unittest.TestCase): + """UpdateOrganizationNameRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateOrganizationNameRequest: + """Test UpdateOrganizationNameRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateOrganizationNameRequest` + """ + model = UpdateOrganizationNameRequest() + if include_optional: + return UpdateOrganizationNameRequest( + name = '' + ) + else: + return UpdateOrganizationNameRequest( + ) + """ + + def testUpdateOrganizationNameRequest(self): + """Test UpdateOrganizationNameRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_organization_plan_reply.py b/koyeb/api_async/test/test_update_organization_plan_reply.py new file mode 100644 index 00000000..0438284e --- /dev/null +++ b/koyeb/api_async/test/test_update_organization_plan_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_organization_plan_reply import UpdateOrganizationPlanReply + +class TestUpdateOrganizationPlanReply(unittest.TestCase): + """UpdateOrganizationPlanReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateOrganizationPlanReply: + """Test UpdateOrganizationPlanReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateOrganizationPlanReply` + """ + model = UpdateOrganizationPlanReply() + if include_optional: + return UpdateOrganizationPlanReply( + organization = koyeb.api_async.models.represent_an_organization.Represent an Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '', ) + ) + else: + return UpdateOrganizationPlanReply( + ) + """ + + def testUpdateOrganizationPlanReply(self): + """Test UpdateOrganizationPlanReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_organization_plan_request.py b/koyeb/api_async/test/test_update_organization_plan_request.py new file mode 100644 index 00000000..5816b843 --- /dev/null +++ b/koyeb/api_async/test/test_update_organization_plan_request.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_organization_plan_request import UpdateOrganizationPlanRequest + +class TestUpdateOrganizationPlanRequest(unittest.TestCase): + """UpdateOrganizationPlanRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateOrganizationPlanRequest: + """Test UpdateOrganizationPlanRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateOrganizationPlanRequest` + """ + model = UpdateOrganizationPlanRequest() + if include_optional: + return UpdateOrganizationPlanRequest( + plan = 'hobby', + coupon_code = '' + ) + else: + return UpdateOrganizationPlanRequest( + ) + """ + + def testUpdateOrganizationPlanRequest(self): + """Test UpdateOrganizationPlanRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_organization_reply.py b/koyeb/api_async/test/test_update_organization_reply.py new file mode 100644 index 00000000..a17e1602 --- /dev/null +++ b/koyeb/api_async/test/test_update_organization_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_organization_reply import UpdateOrganizationReply + +class TestUpdateOrganizationReply(unittest.TestCase): + """UpdateOrganizationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateOrganizationReply: + """Test UpdateOrganizationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateOrganizationReply` + """ + model = UpdateOrganizationReply() + if include_optional: + return UpdateOrganizationReply( + organization = koyeb.api_async.models.represent_an_organization.Represent an Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '', ) + ) + else: + return UpdateOrganizationReply( + ) + """ + + def testUpdateOrganizationReply(self): + """Test UpdateOrganizationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_password_request.py b/koyeb/api_async/test/test_update_password_request.py new file mode 100644 index 00000000..5a12d337 --- /dev/null +++ b/koyeb/api_async/test/test_update_password_request.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_password_request import UpdatePasswordRequest + +class TestUpdatePasswordRequest(unittest.TestCase): + """UpdatePasswordRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdatePasswordRequest: + """Test UpdatePasswordRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdatePasswordRequest` + """ + model = UpdatePasswordRequest() + if include_optional: + return UpdatePasswordRequest( + id = '', + password = '' + ) + else: + return UpdatePasswordRequest( + ) + """ + + def testUpdatePasswordRequest(self): + """Test UpdatePasswordRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_persistent_volume_reply.py b/koyeb/api_async/test/test_update_persistent_volume_reply.py new file mode 100644 index 00000000..559f75f6 --- /dev/null +++ b/koyeb/api_async/test/test_update_persistent_volume_reply.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_persistent_volume_reply import UpdatePersistentVolumeReply + +class TestUpdatePersistentVolumeReply(unittest.TestCase): + """UpdatePersistentVolumeReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdatePersistentVolumeReply: + """Test UpdatePersistentVolumeReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdatePersistentVolumeReply` + """ + model = UpdatePersistentVolumeReply() + if include_optional: + return UpdatePersistentVolumeReply( + volume = koyeb.api_async.models.the_object_that_represent_a_volume_to_handle_persistency_for_deployments.The object that represent a volume to handle persistency for deployments( + id = '', + name = '', + snapshot_id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + service_id = '', + region = '', + read_only = True, + max_size = 56, + cur_size = 56, + status = 'PERSISTENT_VOLUME_STATUS_INVALID', + backing_store = 'PERSISTENT_VOLUME_BACKING_STORE_INVALID', ) + ) + else: + return UpdatePersistentVolumeReply( + ) + """ + + def testUpdatePersistentVolumeReply(self): + """Test UpdatePersistentVolumeReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_persistent_volume_request.py b/koyeb/api_async/test/test_update_persistent_volume_request.py new file mode 100644 index 00000000..61f35bb8 --- /dev/null +++ b/koyeb/api_async/test/test_update_persistent_volume_request.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_persistent_volume_request import UpdatePersistentVolumeRequest + +class TestUpdatePersistentVolumeRequest(unittest.TestCase): + """UpdatePersistentVolumeRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdatePersistentVolumeRequest: + """Test UpdatePersistentVolumeRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdatePersistentVolumeRequest` + """ + model = UpdatePersistentVolumeRequest() + if include_optional: + return UpdatePersistentVolumeRequest( + name = '', + max_size = 56 + ) + else: + return UpdatePersistentVolumeRequest( + ) + """ + + def testUpdatePersistentVolumeRequest(self): + """Test UpdatePersistentVolumeRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_project_reply.py b/koyeb/api_async/test/test_update_project_reply.py new file mode 100644 index 00000000..cc6f60f0 --- /dev/null +++ b/koyeb/api_async/test/test_update_project_reply.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_project_reply import UpdateProjectReply + +class TestUpdateProjectReply(unittest.TestCase): + """UpdateProjectReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateProjectReply: + """Test UpdateProjectReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateProjectReply` + """ + model = UpdateProjectReply() + if include_optional: + return UpdateProjectReply( + project = koyeb.api_async.models.project.Project( + id = '', + name = '', + description = '', + organization_id = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + service_count = '', ) + ) + else: + return UpdateProjectReply( + ) + """ + + def testUpdateProjectReply(self): + """Test UpdateProjectReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_secret_reply.py b/koyeb/api_async/test/test_update_secret_reply.py new file mode 100644 index 00000000..1f1ff9fc --- /dev/null +++ b/koyeb/api_async/test/test_update_secret_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_secret_reply import UpdateSecretReply + +class TestUpdateSecretReply(unittest.TestCase): + """UpdateSecretReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateSecretReply: + """Test UpdateSecretReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateSecretReply` + """ + model = UpdateSecretReply() + if include_optional: + return UpdateSecretReply( + secret = koyeb.api_async.models.secret.Secret( + id = '', + name = '', + organization_id = '', + type = 'SIMPLE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + project_id = '', + value = '', + docker_hub_registry = koyeb.api_async.models.docker_hub_registry_configuration.DockerHubRegistryConfiguration( + username = '', + password = '', ), + private_registry = koyeb.api_async.models.private_registry_configuration.PrivateRegistryConfiguration( + username = '', + password = '', + url = '', ), + digital_ocean_registry = koyeb.api_async.models.digital_ocean_registry_configuration.DigitalOceanRegistryConfiguration( + username = '', + password = '', ), + github_registry = koyeb.api_async.models.git_hub_registry_configuration.GitHubRegistryConfiguration( + username = '', + password = '', ), + gitlab_registry = koyeb.api_async.models.git_lab_registry_configuration.GitLabRegistryConfiguration( + username = '', + password = '', ), + gcp_container_registry = koyeb.api_async.models.gcp_container_registry_configuration.GCPContainerRegistryConfiguration( + keyfile_content = '', + url = '', ), + azure_container_registry = koyeb.api_async.models.azure_container_registry_configuration.AzureContainerRegistryConfiguration( + registry_name = '', + username = '', + password = '', ), + database_role_password = koyeb.api_async.models.database_role_password.DatabaseRolePassword( + username = '', + password = '', ), ) + ) + else: + return UpdateSecretReply( + ) + """ + + def testUpdateSecretReply(self): + """Test UpdateSecretReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_service.py b/koyeb/api_async/test/test_update_service.py new file mode 100644 index 00000000..9bdc4d79 --- /dev/null +++ b/koyeb/api_async/test/test_update_service.py @@ -0,0 +1,230 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_service import UpdateService + +class TestUpdateService(unittest.TestCase): + """UpdateService unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateService: + """Test UpdateService + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateService` + """ + model = UpdateService() + if include_optional: + return UpdateService( + definition = koyeb.api_async.models.deployment_definition.DeploymentDefinition( + name = '', + type = 'INVALID', + strategy = koyeb.api_async.models.deployment_strategy.DeploymentStrategy(), + routes = [ + koyeb.api_async.models.deployment_route.DeploymentRoute( + port = 56, + path = '', + security_policies = koyeb.api_async.models.security_policies.SecurityPolicies( + basic_auths = [ + koyeb.api_async.models.basic_auth_policy.BasicAuthPolicy( + username = '', + password = '', ) + ], + api_keys = [ + '' + ], ), ) + ], + ports = [ + koyeb.api_async.models.deployment_port.DeploymentPort( + port = 56, + protocol = '', ) + ], + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port.DeploymentProxyPort( + port = 56, + protocol = 'tcp', ) + ], + env = [ + koyeb.api_async.models.deployment_env.DeploymentEnv( + scopes = [ + '' + ], + key = '', + value = '', + secret = '', ) + ], + regions = [ + '' + ], + scalings = [ + koyeb.api_async.models.deployment_scaling.DeploymentScaling( + min = 56, + max = 56, + targets = [ + koyeb.api_async.models.deployment_scaling_target.DeploymentScalingTarget( + average_cpu = koyeb.api_async.models.deployment_scaling_target_average_cpu.DeploymentScalingTargetAverageCPU( + value = 56, ), + average_mem = koyeb.api_async.models.deployment_scaling_target_average_mem.DeploymentScalingTargetAverageMem( + value = 56, ), + requests_per_second = koyeb.api_async.models.deployment_scaling_target_requests_per_second.DeploymentScalingTargetRequestsPerSecond( + value = 56, ), + concurrent_requests = koyeb.api_async.models.deployment_scaling_target_concurrent_requests.DeploymentScalingTargetConcurrentRequests( + value = 56, ), + requests_response_time = koyeb.api_async.models.deployment_scaling_target_requests_response_time.DeploymentScalingTargetRequestsResponseTime( + value = 56, + quantile = 56, ), + sleep_idle_delay = koyeb.api_async.models.deployment_scaling_target_sleep_idle_delay.DeploymentScalingTargetSleepIdleDelay( + value = 56, + deep_sleep_value = 56, + light_sleep_value = 56, ), ) + ], ) + ], + instance_types = [ + koyeb.api_async.models.deployment_instance_type.DeploymentInstanceType() + ], + health_checks = [ + koyeb.api_async.models.deployment_health_check.DeploymentHealthCheck( + grace_period = 56, + interval = 56, + restart_limit = 56, + timeout = 56, + tcp = koyeb.api_async.models.tcp_health_check.TCPHealthCheck( + port = 56, ), + http = koyeb.api_async.models.http_health_check.HTTPHealthCheck( + port = 56, + path = '', + method = '', + headers = [ + koyeb.api_async.models.http_header.HTTPHeader( + key = '', + value = '', ) + ], ), ) + ], + volumes = [ + koyeb.api_async.models.deployment_volume.DeploymentVolume( + id = '', + path = '', + replica_index = 56, ) + ], + config_files = [ + koyeb.api_async.models.config_file.ConfigFile( + path = '', + permissions = '', + content = '', ) + ], + skip_cache = True, + mesh = 'DEPLOYMENT_MESH_AUTO', + docker = koyeb.api_async.models.docker_source.DockerSource( + image = '', + command = '', + args = [ + '' + ], + image_registry_secret = '', + entrypoint = [ + '' + ], + privileged = True, ), + git = koyeb.api_async.models.git_source.GitSource( + repository = '', + branch = '', + tag = '', + sha = '', + build_command = '', + run_command = '', + no_deploy_on_push = True, + workdir = '', + buildpack = koyeb.api_async.models.buildpack_builder.BuildpackBuilder( + build_command = '', + run_command = '', + privileged = True, ), ), + database = koyeb.api_async.models.database_source.DatabaseSource( + neon_postgres = koyeb.api_async.models.neon_postgres_database.NeonPostgresDatabase( + pg_version = 56, + region = '', + instance_type = '', + roles = [ + koyeb.api_async.models.neon_postgres_database/neon_role.NeonPostgresDatabase.NeonRole( + name = '', + secret = '', ) + ], + databases = [ + koyeb.api_async.models.neon_postgres_database/neon_database.NeonPostgresDatabase.NeonDatabase( + name = '', + owner = '', ) + ], ), ), + archive = koyeb.api_async.models.archive_source.ArchiveSource( + id = '', ), ), + metadata = koyeb.api_async.models.deployment_metadata.DeploymentMetadata( + trigger = koyeb.api_async.models.trigger_deployment_metadata.TriggerDeploymentMetadata( + type = 'UNKNOWN_TYPE', + actor = 'UNKNOWN_ACTOR', + git = koyeb.api_async.models.trigger_git_deployment_metadata.TriggerGitDeploymentMetadata( + provider = 'UNKNOWN', + repository = '', + branch = '', + sha = '', + message = '', + sender_username = '', + sender_avatar_url = '', + sender_profile_url = '', ), ), + database = koyeb.api_async.models.database_deployment_metadata.DatabaseDeploymentMetadata( + neon_postgres = koyeb.api_async.models.neon_postgres_database_deployment_metadata.NeonPostgresDatabaseDeploymentMetadata( + reset_role_passwords = [ + '' + ], ), ), + git = koyeb.api_async.models.git_deployment_metadata.GitDeploymentMetadata( + last_provisioned_deployment_id = '', + git_env = koyeb.api_async.models.git_env_deployment_metadata.GitEnvDeploymentMetadata( + sha = '', + commit_author = '', + commit_message = '', ), ), + archive = koyeb.api_async.models.archive_deployment_metadata.ArchiveDeploymentMetadata( + last_provisioned_deployment_id = '', ), + proxy_ports = [ + koyeb.api_async.models.deployment_proxy_port_metadata.DeploymentProxyPortMetadata( + host = '', + public_port = 56, + port = 56, + protocol = 'tcp', ) + ], + sandbox = koyeb.api_async.models.sandbox_metadata.SandboxMetadata( + public_url = '', + routing_key = '', ), ), + skip_build = True, + save_only = True, + life_cycle = koyeb.api_async.models.service_life_cycle.ServiceLifeCycle( + delete_after_sleep = 56, + delete_after_create = 56, ) + ) + else: + return UpdateService( + ) + """ + + def testUpdateService(self): + """Test UpdateService""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_service_reply.py b/koyeb/api_async/test/test_update_service_reply.py new file mode 100644 index 00000000..d780f63d --- /dev/null +++ b/koyeb/api_async/test/test_update_service_reply.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_service_reply import UpdateServiceReply + +class TestUpdateServiceReply(unittest.TestCase): + """UpdateServiceReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateServiceReply: + """Test UpdateServiceReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateServiceReply` + """ + model = UpdateServiceReply() + if include_optional: + return UpdateServiceReply( + service = koyeb.api_async.models.service.Service( + id = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + succeeded_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + paused_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + resumed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + name = '', + type = 'INVALID_TYPE', + organization_id = '', + app_id = '', + status = 'STARTING', + messages = [ + '' + ], + version = '', + active_deployment_id = '', + latest_deployment_id = '', + last_provisioned_deployment_id = '', + state = koyeb.api_async.models.service_state.ServiceState( + desired_deployment = koyeb.api_async.models.desired_deployment.DesiredDeployment( + groups = [ + koyeb.api_async.models.desired_deployment/group.DesiredDeployment.Group( + name = '', + deployment_ids = [ + '' + ], ) + ], ), + auto_release = koyeb.api_async.models.auto_release.AutoRelease(), ), + life_cycle = koyeb.api_async.models.service_life_cycle.ServiceLifeCycle( + delete_after_sleep = 56, + delete_after_create = 56, ), ) + ) + else: + return UpdateServiceReply( + ) + """ + + def testUpdateServiceReply(self): + """Test UpdateServiceReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_service_scaling_request.py b/koyeb/api_async/test/test_update_service_scaling_request.py new file mode 100644 index 00000000..e49a18ee --- /dev/null +++ b/koyeb/api_async/test/test_update_service_scaling_request.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_service_scaling_request import UpdateServiceScalingRequest + +class TestUpdateServiceScalingRequest(unittest.TestCase): + """UpdateServiceScalingRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateServiceScalingRequest: + """Test UpdateServiceScalingRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateServiceScalingRequest` + """ + model = UpdateServiceScalingRequest() + if include_optional: + return UpdateServiceScalingRequest( + scalings = [ + koyeb.api_async.models.manual_service_scaling.ManualServiceScaling( + scopes = [ + '' + ], + instances = 56, ) + ] + ) + else: + return UpdateServiceScalingRequest( + ) + """ + + def testUpdateServiceScalingRequest(self): + """Test UpdateServiceScalingRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_snapshot_reply.py b/koyeb/api_async/test/test_update_snapshot_reply.py new file mode 100644 index 00000000..903cc424 --- /dev/null +++ b/koyeb/api_async/test/test_update_snapshot_reply.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_snapshot_reply import UpdateSnapshotReply + +class TestUpdateSnapshotReply(unittest.TestCase): + """UpdateSnapshotReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateSnapshotReply: + """Test UpdateSnapshotReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateSnapshotReply` + """ + model = UpdateSnapshotReply() + if include_optional: + return UpdateSnapshotReply( + snapshot = koyeb.api_async.models.snapshot.Snapshot( + id = '', + name = '', + size = 56, + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + organization_id = '', + parent_volume_id = '', + region = '', + status = 'SNAPSHOT_STATUS_INVALID', + type = 'SNAPSHOT_TYPE_INVALID', ) + ) + else: + return UpdateSnapshotReply( + ) + """ + + def testUpdateSnapshotReply(self): + """Test UpdateSnapshotReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_snapshot_request.py b/koyeb/api_async/test/test_update_snapshot_request.py new file mode 100644 index 00000000..5708db6e --- /dev/null +++ b/koyeb/api_async/test/test_update_snapshot_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_snapshot_request import UpdateSnapshotRequest + +class TestUpdateSnapshotRequest(unittest.TestCase): + """UpdateSnapshotRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateSnapshotRequest: + """Test UpdateSnapshotRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateSnapshotRequest` + """ + model = UpdateSnapshotRequest() + if include_optional: + return UpdateSnapshotRequest( + name = '' + ) + else: + return UpdateSnapshotRequest( + ) + """ + + def testUpdateSnapshotRequest(self): + """Test UpdateSnapshotRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_user_request_user_update_body.py b/koyeb/api_async/test/test_update_user_request_user_update_body.py new file mode 100644 index 00000000..baa11fa4 --- /dev/null +++ b/koyeb/api_async/test/test_update_user_request_user_update_body.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_user_request_user_update_body import UpdateUserRequestUserUpdateBody + +class TestUpdateUserRequestUserUpdateBody(unittest.TestCase): + """UpdateUserRequestUserUpdateBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateUserRequestUserUpdateBody: + """Test UpdateUserRequestUserUpdateBody + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateUserRequestUserUpdateBody` + """ + model = UpdateUserRequestUserUpdateBody() + if include_optional: + return UpdateUserRequestUserUpdateBody( + id = '', + email = '', + current_password = '', + password = '', + newsletter_subscribed = True, + name = '' + ) + else: + return UpdateUserRequestUserUpdateBody( + ) + """ + + def testUpdateUserRequestUserUpdateBody(self): + """Test UpdateUserRequestUserUpdateBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_user_settings_reply.py b/koyeb/api_async/test/test_update_user_settings_reply.py new file mode 100644 index 00000000..ed170cdd --- /dev/null +++ b/koyeb/api_async/test/test_update_user_settings_reply.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_user_settings_reply import UpdateUserSettingsReply + +class TestUpdateUserSettingsReply(unittest.TestCase): + """UpdateUserSettingsReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateUserSettingsReply: + """Test UpdateUserSettingsReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateUserSettingsReply` + """ + model = UpdateUserSettingsReply() + if include_optional: + return UpdateUserSettingsReply( + settings = koyeb.api_async.models.user_settings.UserSettings( + id = '', + user_id = '', + failed_deployment_email_notification = True, ) + ) + else: + return UpdateUserSettingsReply( + ) + """ + + def testUpdateUserSettingsReply(self): + """Test UpdateUserSettingsReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_update_user_settings_request.py b/koyeb/api_async/test/test_update_user_settings_request.py new file mode 100644 index 00000000..cce31c77 --- /dev/null +++ b/koyeb/api_async/test/test_update_user_settings_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.update_user_settings_request import UpdateUserSettingsRequest + +class TestUpdateUserSettingsRequest(unittest.TestCase): + """UpdateUserSettingsRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpdateUserSettingsRequest: + """Test UpdateUserSettingsRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpdateUserSettingsRequest` + """ + model = UpdateUserSettingsRequest() + if include_optional: + return UpdateUserSettingsRequest( + failed_deployment_email_notification = True + ) + else: + return UpdateUserSettingsRequest( + ) + """ + + def testUpdateUserSettingsRequest(self): + """Test UpdateUserSettingsRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_upsert_signup_qualification_reply.py b/koyeb/api_async/test/test_upsert_signup_qualification_reply.py new file mode 100644 index 00000000..8a24bca7 --- /dev/null +++ b/koyeb/api_async/test/test_upsert_signup_qualification_reply.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.upsert_signup_qualification_reply import UpsertSignupQualificationReply + +class TestUpsertSignupQualificationReply(unittest.TestCase): + """UpsertSignupQualificationReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpsertSignupQualificationReply: + """Test UpsertSignupQualificationReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpsertSignupQualificationReply` + """ + model = UpsertSignupQualificationReply() + if include_optional: + return UpsertSignupQualificationReply( + organization = koyeb.api_async.models.represent_an_organization.Represent an Organization( + id = '', + external_id = '', + provisioning = True, + address1 = '', + address2 = '', + city = '', + postal_code = '', + state = '', + country = '', + company = True, + vat_number = '', + billing_name = '', + billing_email = '', + name = '', + plan = 'hobby', + plan_updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + has_payment_method = True, + subscription_id = '', + current_subscription_id = '', + latest_subscription_id = '', + signup_qualification = koyeb.api_async.models.signup_qualification.signup_qualification(), + status = 'WARNING', + status_message = 'NEW', + deactivation_reason = 'INVALID', + verified = True, + qualifies_for_hobby23 = True, + reprocess_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trialing = True, + trial_starts_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trial_ends_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + email_domain_allowlist = [ + '' + ], + default_project_id = '', ) + ) + else: + return UpsertSignupQualificationReply( + ) + """ + + def testUpsertSignupQualificationReply(self): + """Test UpsertSignupQualificationReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_upsert_signup_qualification_request.py b/koyeb/api_async/test/test_upsert_signup_qualification_request.py new file mode 100644 index 00000000..79ad2e9f --- /dev/null +++ b/koyeb/api_async/test/test_upsert_signup_qualification_request.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.upsert_signup_qualification_request import UpsertSignupQualificationRequest + +class TestUpsertSignupQualificationRequest(unittest.TestCase): + """UpsertSignupQualificationRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UpsertSignupQualificationRequest: + """Test UpsertSignupQualificationRequest + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UpsertSignupQualificationRequest` + """ + model = UpsertSignupQualificationRequest() + if include_optional: + return UpsertSignupQualificationRequest( + signup_qualification = None + ) + else: + return UpsertSignupQualificationRequest( + ) + """ + + def testUpsertSignupQualificationRequest(self): + """Test UpsertSignupQualificationRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_usage.py b/koyeb/api_async/test/test_usage.py new file mode 100644 index 00000000..44c3974e --- /dev/null +++ b/koyeb/api_async/test/test_usage.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.usage import Usage + +class TestUsage(unittest.TestCase): + """Usage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Usage: + """Test Usage + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Usage` + """ + model = Usage() + if include_optional: + return Usage( + organization_id = '', + periods = { + 'key' : koyeb.api_async.models.period_usage.PeriodUsage( + starting_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + ending_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + apps = [ + koyeb.api_async.models.app_usage.AppUsage( + app_id = '', + app_name = '', + services = [ + koyeb.api_async.models.service_usage.ServiceUsage( + service_id = '', + service_name = '', + regions = { + 'key' : koyeb.api_async.models.region_usage.RegionUsage( + instances = { + 'key' : koyeb.api_async.models.instance_usage.InstanceUsage( + duration_seconds = 56, ) + }, ) + }, ) + ], + databases = [ + koyeb.api_async.models.database_usage.DatabaseUsage( + service_id = '', + service_name = '', + compute_time_seconds = 56, + data_storage_megabytes_hours = 56, ) + ], ) + ], ) + } + ) + else: + return Usage( + ) + """ + + def testUsage(self): + """Test Usage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_usage_details.py b/koyeb/api_async/test/test_usage_details.py new file mode 100644 index 00000000..144a28a0 --- /dev/null +++ b/koyeb/api_async/test/test_usage_details.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.usage_details import UsageDetails + +class TestUsageDetails(unittest.TestCase): + """UsageDetails unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UsageDetails: + """Test UsageDetails + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UsageDetails` + """ + model = UsageDetails() + if include_optional: + return UsageDetails( + organization_id = '', + instance_id = '', + app_id = '', + app_name = '', + service_id = '', + service_name = '', + regional_deployment_id = '', + region = '', + deployment_id = '', + instance_type = '', + duration_seconds = 56, + started_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + terminated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + ) + else: + return UsageDetails( + ) + """ + + def testUsageDetails(self): + """Test UsageDetails""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_usages_api.py b/koyeb/api_async/test/test_usages_api.py new file mode 100644 index 00000000..fc07c261 --- /dev/null +++ b/koyeb/api_async/test/test_usages_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.usages_api import UsagesApi + + +class TestUsagesApi(unittest.IsolatedAsyncioTestCase): + """UsagesApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = UsagesApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_get_organization_usage(self) -> None: + """Test case for get_organization_usage + + Get organization usage + """ + pass + + async def test_get_organization_usage_details(self) -> None: + """Test case for get_organization_usage_details + + Get organization usage details + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_user.py b/koyeb/api_async/test/test_user.py new file mode 100644 index 00000000..134484a8 --- /dev/null +++ b/koyeb/api_async/test/test_user.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.user import User + +class TestUser(unittest.TestCase): + """User unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> User: + """Test User + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `User` + """ + model = User() + if include_optional: + return User( + id = '', + email = '', + avatar_url = '', + two_factor_authentication = True, + last_login = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + last_login_ip = '', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + newsletter_subscribed = True, + github_id = '', + github_user = '', + flags = [ + 'ADMIN' + ], + name = '', + email_validated = True, + trialed = True + ) + else: + return User( + ) + """ + + def testUser(self): + """Test User""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_user_flags.py b/koyeb/api_async/test/test_user_flags.py new file mode 100644 index 00000000..31903b8d --- /dev/null +++ b/koyeb/api_async/test/test_user_flags.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.user_flags import UserFlags + +class TestUserFlags(unittest.TestCase): + """UserFlags unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testUserFlags(self): + """Test UserFlags""" + # inst = UserFlags() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_user_reply.py b/koyeb/api_async/test/test_user_reply.py new file mode 100644 index 00000000..7cc95a2a --- /dev/null +++ b/koyeb/api_async/test/test_user_reply.py @@ -0,0 +1,51 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.user_reply import UserReply + +class TestUserReply(unittest.TestCase): + """UserReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserReply: + """Test UserReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserReply` + """ + model = UserReply() + if include_optional: + return UserReply( + user = {id=78352123-a06f-4ec2-81ed-27a056725385, email=john@snow.com, name=John Snow, avatar_url=https://www.gravatar.com/avatar/00000000000000000000000000000000, is_admin=false, is_test=true, two_factor_authentication=false, last_login=0001-01-01T00:00:00Z, last_login_id=10.1.1.1, updated_at=0001-01-01T00:00:00Z, created_at=0001-01-01T00:00:00Z, newsletter_subscribed=true, email_validated=true} + ) + else: + return UserReply( + ) + """ + + def testUserReply(self): + """Test UserReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_user_role_role.py b/koyeb/api_async/test/test_user_role_role.py new file mode 100644 index 00000000..c1117eec --- /dev/null +++ b/koyeb/api_async/test/test_user_role_role.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.user_role_role import UserRoleRole + +class TestUserRoleRole(unittest.TestCase): + """UserRoleRole unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testUserRoleRole(self): + """Test UserRoleRole""" + # inst = UserRoleRole() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_user_settings.py b/koyeb/api_async/test/test_user_settings.py new file mode 100644 index 00000000..e3c69e3c --- /dev/null +++ b/koyeb/api_async/test/test_user_settings.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.user_settings import UserSettings + +class TestUserSettings(unittest.TestCase): + """UserSettings unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> UserSettings: + """Test UserSettings + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `UserSettings` + """ + model = UserSettings() + if include_optional: + return UserSettings( + id = '', + user_id = '', + failed_deployment_email_notification = True + ) + else: + return UserSettings( + ) + """ + + def testUserSettings(self): + """Test UserSettings""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_users_api.py b/koyeb/api_async/test/test_users_api.py new file mode 100644 index 00000000..8e702c86 --- /dev/null +++ b/koyeb/api_async/test/test_users_api.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.api.users_api import UsersApi + + +class TestUsersApi(unittest.IsolatedAsyncioTestCase): + """UsersApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = UsersApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_delete_user(self) -> None: + """Test case for delete_user + + Delete user + """ + pass + + async def test_delete_user_v2(self) -> None: + """Test case for delete_user_v2 + + V2 Delete user + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_verify_docker_image_reply.py b/koyeb/api_async/test/test_verify_docker_image_reply.py new file mode 100644 index 00000000..c1d53706 --- /dev/null +++ b/koyeb/api_async/test/test_verify_docker_image_reply.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.verify_docker_image_reply import VerifyDockerImageReply + +class TestVerifyDockerImageReply(unittest.TestCase): + """VerifyDockerImageReply unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VerifyDockerImageReply: + """Test VerifyDockerImageReply + include_optional is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VerifyDockerImageReply` + """ + model = VerifyDockerImageReply() + if include_optional: + return VerifyDockerImageReply( + success = True, + reason = '', + code = 'UNKNOWN' + ) + else: + return VerifyDockerImageReply( + ) + """ + + def testVerifyDockerImageReply(self): + """Test VerifyDockerImageReply""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async/test/test_verify_docker_image_reply_err_code.py b/koyeb/api_async/test/test_verify_docker_image_reply_err_code.py new file mode 100644 index 00000000..9777e4c5 --- /dev/null +++ b/koyeb/api_async/test/test_verify_docker_image_reply_err_code.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + 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. +""" # noqa: E501 + + +import unittest + +from koyeb.api_async.models.verify_docker_image_reply_err_code import VerifyDockerImageReplyErrCode + +class TestVerifyDockerImageReplyErrCode(unittest.TestCase): + """VerifyDockerImageReplyErrCode unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testVerifyDockerImageReplyErrCode(self): + """Test VerifyDockerImageReplyErrCode""" + # inst = VerifyDockerImageReplyErrCode() + +if __name__ == '__main__': + unittest.main() diff --git a/koyeb/api_async_README.md b/koyeb/api_async_README.md new file mode 100644 index 00000000..eda2485c --- /dev/null +++ b/koyeb/api_async_README.md @@ -0,0 +1,659 @@ +# koyeb.api-async +The Koyeb API allows you to interact with the Koyeb platform in a simple, programmatic way using conventional HTTP requests. + +The `koyeb.api_async` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 1.0.0 +- Package version: 1.4.8 +- Generator version: 7.24.0-SNAPSHOT +- Build package: org.openapitools.codegen.languages.PythonClientCodegen + +## Requirements. + +Python 3.10+ + +## Installation & Usage + +This python library package is generated without supporting files like setup.py or requirements files + +To be able to use it, you will need these dependencies in your own package that uses this library: + +* urllib3 >= 2.1.0, < 3.0.0 +* python-dateutil >= 2.8.2 +* aiohttp >= 3.8.4 +* aiohttp-retry >= 2.8.3 +* pydantic >= 2.11 +* typing-extensions >= 4.7.1 + +## Getting Started + +In your own code, to use this library to connect and interact with koyeb.api-async, +you can run the following: + +```python + +import koyeb.api_async +from koyeb.api_async.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://app.koyeb.com +# See configuration.py for a list of all supported configuration parameters. +configuration = koyeb.api_async.Configuration( + host = "https://app.koyeb.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: Bearer +configuration.api_key['Bearer'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Bearer'] = 'Bearer' + + +# Enter a context with an instance of the API client +async with koyeb.api_async.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = koyeb.api_async.AppsApi(api_client) + app = koyeb.api_async.CreateApp() # CreateApp | + + try: + # Create App + api_response = await api_instance.create_app(app) + print("The response of AppsApi->create_app:\n") + pprint(api_response) + except ApiException as e: + print("Exception when calling AppsApi->create_app: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://app.koyeb.com* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*AppsApi* | [**create_app**](koyeb/api_async/docs/AppsApi.md#create_app) | **POST** /v1/apps | Create App +*AppsApi* | [**delete_app**](koyeb/api_async/docs/AppsApi.md#delete_app) | **DELETE** /v1/apps/{id} | Delete App +*AppsApi* | [**get_app**](koyeb/api_async/docs/AppsApi.md#get_app) | **GET** /v1/apps/{id} | Get App +*AppsApi* | [**list_app_events**](koyeb/api_async/docs/AppsApi.md#list_app_events) | **GET** /v1/app_events | List App events +*AppsApi* | [**list_apps**](koyeb/api_async/docs/AppsApi.md#list_apps) | **GET** /v1/apps | List App +*AppsApi* | [**pause_app**](koyeb/api_async/docs/AppsApi.md#pause_app) | **POST** /v1/apps/{id}/pause | Pause App +*AppsApi* | [**resume_app**](koyeb/api_async/docs/AppsApi.md#resume_app) | **POST** /v1/apps/{id}/resume | Resume App +*AppsApi* | [**update_app**](koyeb/api_async/docs/AppsApi.md#update_app) | **PUT** /v1/apps/{id} | Update App +*AppsApi* | [**update_app2**](koyeb/api_async/docs/AppsApi.md#update_app2) | **PATCH** /v1/apps/{id} | Update App +*ArchivesApi* | [**create_archive**](koyeb/api_async/docs/ArchivesApi.md#create_archive) | **POST** /v1/archives | Create Archive +*CatalogDatacentersApi* | [**list_datacenters**](koyeb/api_async/docs/CatalogDatacentersApi.md#list_datacenters) | **GET** /v1/catalog/datacenters | List datacenters +*CatalogInstanceUsageApi* | [**list_usage**](koyeb/api_async/docs/CatalogInstanceUsageApi.md#list_usage) | **GET** /v1/catalog/usage | +*CatalogInstancesApi* | [**get_catalog_instance**](koyeb/api_async/docs/CatalogInstancesApi.md#get_catalog_instance) | **GET** /v1/catalog/instances/{id} | Get Instance +*CatalogInstancesApi* | [**list_catalog_instances**](koyeb/api_async/docs/CatalogInstancesApi.md#list_catalog_instances) | **GET** /v1/catalog/instances | List Instances +*CatalogRegionsApi* | [**get_region**](koyeb/api_async/docs/CatalogRegionsApi.md#get_region) | **GET** /v1/catalog/regions/{id} | Get Region +*CatalogRegionsApi* | [**list_regions**](koyeb/api_async/docs/CatalogRegionsApi.md#list_regions) | **GET** /v1/catalog/regions | List Region +*ComposeApi* | [**compose**](koyeb/api_async/docs/ComposeApi.md#compose) | **POST** /v1/compose | Create resources from compose. +*CouponsApi* | [**check_coupon**](koyeb/api_async/docs/CouponsApi.md#check_coupon) | **GET** /v1/coupons/{code} | Check Coupon +*CouponsApi* | [**redeem_coupon**](koyeb/api_async/docs/CouponsApi.md#redeem_coupon) | **POST** /v1/coupons | Redeem Coupon +*CredentialsApi* | [**create_credential**](koyeb/api_async/docs/CredentialsApi.md#create_credential) | **POST** /v1/credentials | Create credential +*CredentialsApi* | [**delete_credential**](koyeb/api_async/docs/CredentialsApi.md#delete_credential) | **DELETE** /v1/credentials/{id} | Delete credential +*CredentialsApi* | [**get_credential**](koyeb/api_async/docs/CredentialsApi.md#get_credential) | **GET** /v1/credentials/{id} | Get credential +*CredentialsApi* | [**list_credentials**](koyeb/api_async/docs/CredentialsApi.md#list_credentials) | **GET** /v1/credentials | List credentials +*CredentialsApi* | [**update_credential**](koyeb/api_async/docs/CredentialsApi.md#update_credential) | **PUT** /v1/credentials/{id} | Update credential +*CredentialsApi* | [**update_credential2**](koyeb/api_async/docs/CredentialsApi.md#update_credential2) | **PATCH** /v1/credentials/{id} | Update credential +*DeploymentsApi* | [**cancel_deployment**](koyeb/api_async/docs/DeploymentsApi.md#cancel_deployment) | **POST** /v1/deployments/{id}/cancel | Cancel Deployment +*DeploymentsApi* | [**get_deployment**](koyeb/api_async/docs/DeploymentsApi.md#get_deployment) | **GET** /v1/deployments/{id} | Get Deployment +*DeploymentsApi* | [**get_deployment_scaling**](koyeb/api_async/docs/DeploymentsApi.md#get_deployment_scaling) | **GET** /v1/deployment/{id}/scaling | Get Deployment Scaling +*DeploymentsApi* | [**list_deployment_events**](koyeb/api_async/docs/DeploymentsApi.md#list_deployment_events) | **GET** /v1/deployment_events | List Deployment events +*DeploymentsApi* | [**list_deployments**](koyeb/api_async/docs/DeploymentsApi.md#list_deployments) | **GET** /v1/deployments | List Deployments +*DockerHelperApi* | [**verify_docker_image**](koyeb/api_async/docs/DockerHelperApi.md#verify_docker_image) | **GET** /v1/docker-helper/verify | Verify Docker Image +*DomainsApi* | [**create_domain**](koyeb/api_async/docs/DomainsApi.md#create_domain) | **POST** /v1/domains | Create Domain +*DomainsApi* | [**delete_domain**](koyeb/api_async/docs/DomainsApi.md#delete_domain) | **DELETE** /v1/domains/{id} | Delete Domain +*DomainsApi* | [**get_domain**](koyeb/api_async/docs/DomainsApi.md#get_domain) | **GET** /v1/domains/{id} | Get Domain +*DomainsApi* | [**list_domains**](koyeb/api_async/docs/DomainsApi.md#list_domains) | **GET** /v1/domains | List Domains +*DomainsApi* | [**refresh_domain_status**](koyeb/api_async/docs/DomainsApi.md#refresh_domain_status) | **POST** /v1/domains/{id}/refresh | Refresh Domain Status +*DomainsApi* | [**update_domain**](koyeb/api_async/docs/DomainsApi.md#update_domain) | **PATCH** /v1/domains/{id} | Update Domain +*InstancesApi* | [**exec_command**](koyeb/api_async/docs/InstancesApi.md#exec_command) | **GET** /v1/streams/instances/exec | Exec Command +*InstancesApi* | [**get_instance**](koyeb/api_async/docs/InstancesApi.md#get_instance) | **GET** /v1/instances/{id} | Get Instance +*InstancesApi* | [**list_instance_events**](koyeb/api_async/docs/InstancesApi.md#list_instance_events) | **GET** /v1/instance_events | List Instance events +*InstancesApi* | [**list_instances**](koyeb/api_async/docs/InstancesApi.md#list_instances) | **GET** /v1/instances | List Instances +*IntercomApi* | [**get_intercom_profile**](koyeb/api_async/docs/IntercomApi.md#get_intercom_profile) | **GET** /v1/intercom/profile | Get intercom profile +*LogsApi* | [**query_logs**](koyeb/api_async/docs/LogsApi.md#query_logs) | **GET** /v1/streams/logs/query | Query logs +*LogsApi* | [**tail_logs**](koyeb/api_async/docs/LogsApi.md#tail_logs) | **GET** /v1/streams/logs/tail | Tails logs +*MetricsApi* | [**get_metrics**](koyeb/api_async/docs/MetricsApi.md#get_metrics) | **GET** /v1/streams/metrics | Get Metrics +*OrganizationConfirmationsApi* | [**confirm_organization_action**](koyeb/api_async/docs/OrganizationConfirmationsApi.md#confirm_organization_action) | **POST** /v1/organization_confirmations/{id} | Confirm organization action +*OrganizationInvitationsApi* | [**create_organization_invitation**](koyeb/api_async/docs/OrganizationInvitationsApi.md#create_organization_invitation) | **POST** /v1/organization_invitations | Create Organization Invitation +*OrganizationInvitationsApi* | [**delete_organization_invitation**](koyeb/api_async/docs/OrganizationInvitationsApi.md#delete_organization_invitation) | **DELETE** /v1/organization_invitations/{id} | Delete Organization Invitation +*OrganizationInvitationsApi* | [**get_organization_invitation**](koyeb/api_async/docs/OrganizationInvitationsApi.md#get_organization_invitation) | **GET** /v1/organization_invitations/{id} | Get Organization Invitation +*OrganizationInvitationsApi* | [**list_organization_invitations**](koyeb/api_async/docs/OrganizationInvitationsApi.md#list_organization_invitations) | **GET** /v1/organization_invitations | List Organization Invitations +*OrganizationInvitationsApi* | [**resend_organization_invitation**](koyeb/api_async/docs/OrganizationInvitationsApi.md#resend_organization_invitation) | **POST** /v1/organization_invitations/{id}/resend | Resend Organization Invitation +*OrganizationMembersApi* | [**list_organization_members**](koyeb/api_async/docs/OrganizationMembersApi.md#list_organization_members) | **GET** /v1/organization_members | List organization members +*OrganizationMembersApi* | [**remove_organization_member**](koyeb/api_async/docs/OrganizationMembersApi.md#remove_organization_member) | **DELETE** /v1/organization_members/{id} | Remove an organization member +*OrganizationQuotasApi* | [**get_quotas**](koyeb/api_async/docs/OrganizationQuotasApi.md#get_quotas) | **GET** /v1/organizations/{organization_id}/quotas | +*PaymentMethodsApi* | [**confirm_payment_authorization**](koyeb/api_async/docs/PaymentMethodsApi.md#confirm_payment_authorization) | **POST** /v1/payment_methods/{id}/confirm | Confirm payment authorization +*PaymentMethodsApi* | [**create_payment_authorization**](koyeb/api_async/docs/PaymentMethodsApi.md#create_payment_authorization) | **POST** /v1/payment_methods | Create payment authorization +*PaymentMethodsApi* | [**delete_payment_method**](koyeb/api_async/docs/PaymentMethodsApi.md#delete_payment_method) | **DELETE** /v1/payment_methods/{id} | Delete payment method +*PaymentMethodsApi* | [**get_payment_method**](koyeb/api_async/docs/PaymentMethodsApi.md#get_payment_method) | **GET** /v1/payment_methods/{id} | Get payment method +*PaymentMethodsApi* | [**list_payment_methods**](koyeb/api_async/docs/PaymentMethodsApi.md#list_payment_methods) | **GET** /v1/payment_methods | List payment methods +*PersistentVolumesApi* | [**create_persistent_volume**](koyeb/api_async/docs/PersistentVolumesApi.md#create_persistent_volume) | **POST** /v1/volumes | Create a PersistentVolume +*PersistentVolumesApi* | [**delete_persistent_volume**](koyeb/api_async/docs/PersistentVolumesApi.md#delete_persistent_volume) | **DELETE** /v1/volumes/{id} | Delete a PersistentVolume +*PersistentVolumesApi* | [**get_persistent_volume**](koyeb/api_async/docs/PersistentVolumesApi.md#get_persistent_volume) | **GET** /v1/volumes/{id} | Get a PersistentVolume +*PersistentVolumesApi* | [**list_persistent_volume_events**](koyeb/api_async/docs/PersistentVolumesApi.md#list_persistent_volume_events) | **GET** /v1/volume_events | List Persistent Volume events +*PersistentVolumesApi* | [**list_persistent_volumes**](koyeb/api_async/docs/PersistentVolumesApi.md#list_persistent_volumes) | **GET** /v1/volumes | List all PersistentVolumes +*PersistentVolumesApi* | [**update_persistent_volume**](koyeb/api_async/docs/PersistentVolumesApi.md#update_persistent_volume) | **POST** /v1/volumes/{id} | Update a PersistentVolume +*ProfileApi* | [**accept_organization_invitation**](koyeb/api_async/docs/ProfileApi.md#accept_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/accept | Accept Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**clear_idenfy_verification_result**](koyeb/api_async/docs/ProfileApi.md#clear_idenfy_verification_result) | **POST** /v1/account/idenfy | ClearIdenfyVerificationResult marks the current result for idenfy as superseded +*ProfileApi* | [**decline_organization_invitation**](koyeb/api_async/docs/ProfileApi.md#decline_organization_invitation) | **POST** /v1/account/organization_invitations/{id}/decline | Decline Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**get_current_organization**](koyeb/api_async/docs/ProfileApi.md#get_current_organization) | **GET** /v1/account/organization | Get Current Organization +*ProfileApi* | [**get_current_user**](koyeb/api_async/docs/ProfileApi.md#get_current_user) | **GET** /v1/account/profile | Get Current User +*ProfileApi* | [**get_idenfy_token**](koyeb/api_async/docs/ProfileApi.md#get_idenfy_token) | **GET** /v1/account/idenfy | Begin a session with iDenfy, emit an authToken +*ProfileApi* | [**get_o_auth_options**](koyeb/api_async/docs/ProfileApi.md#get_o_auth_options) | **GET** /v1/account/oauth | Get OAuth Providers +*ProfileApi* | [**get_user_organization_invitation**](koyeb/api_async/docs/ProfileApi.md#get_user_organization_invitation) | **GET** /v1/account/organization_invitations/{id} | Get User Organization Invitation DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**get_user_settings**](koyeb/api_async/docs/ProfileApi.md#get_user_settings) | **GET** /v1/account/settings | +*ProfileApi* | [**list_user_organization_invitations**](koyeb/api_async/docs/ProfileApi.md#list_user_organization_invitations) | **GET** /v1/account/organization_invitations | List User Organization Invitations DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**list_user_organizations**](koyeb/api_async/docs/ProfileApi.md#list_user_organizations) | **GET** /v1/account/organizations | List User Organizations +*ProfileApi* | [**login_method**](koyeb/api_async/docs/ProfileApi.md#login_method) | **GET** /v1/account/login_method | Get the login method for an email address DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**o_auth_callback**](koyeb/api_async/docs/ProfileApi.md#o_auth_callback) | **POST** /v1/account/oauth | Authenticate using OAuth +*ProfileApi* | [**resend_email_validation**](koyeb/api_async/docs/ProfileApi.md#resend_email_validation) | **POST** /v1/account/resend_validation | Resend Email Verification DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**reset_password**](koyeb/api_async/docs/ProfileApi.md#reset_password) | **POST** /v1/account/reset_password | Reset Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**signup**](koyeb/api_async/docs/ProfileApi.md#signup) | **POST** /v1/account/signup | Signup DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**update_password**](koyeb/api_async/docs/ProfileApi.md#update_password) | **POST** /v1/account/update_password | Update Password DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProfileApi* | [**update_user**](koyeb/api_async/docs/ProfileApi.md#update_user) | **PUT** /v1/account/profile | Update User +*ProfileApi* | [**update_user2**](koyeb/api_async/docs/ProfileApi.md#update_user2) | **PATCH** /v1/account/profile | Update User +*ProfileApi* | [**update_user_settings**](koyeb/api_async/docs/ProfileApi.md#update_user_settings) | **PATCH** /v1/account/settings | +*ProfileApi* | [**update_user_v2**](koyeb/api_async/docs/ProfileApi.md#update_user_v2) | **PUT** /v2/account/profile | Update User V2 +*ProfileApi* | [**update_user_v22**](koyeb/api_async/docs/ProfileApi.md#update_user_v22) | **PATCH** /v2/account/profile | Update User V2 +*ProfileApi* | [**validate**](koyeb/api_async/docs/ProfileApi.md#validate) | **POST** /v1/account/validate/{id} | Validate DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*ProjectsApi* | [**create_project**](koyeb/api_async/docs/ProjectsApi.md#create_project) | **POST** /v1/projects | Create project +*ProjectsApi* | [**delete_project**](koyeb/api_async/docs/ProjectsApi.md#delete_project) | **DELETE** /v1/projects/{id} | Delete project +*ProjectsApi* | [**get_project**](koyeb/api_async/docs/ProjectsApi.md#get_project) | **GET** /v1/projects/{id} | Get project +*ProjectsApi* | [**list_projects**](koyeb/api_async/docs/ProjectsApi.md#list_projects) | **GET** /v1/projects | List projects +*ProjectsApi* | [**update_project**](koyeb/api_async/docs/ProjectsApi.md#update_project) | **PUT** /v1/projects/{id} | Update project +*ProjectsApi* | [**update_project2**](koyeb/api_async/docs/ProjectsApi.md#update_project2) | **PATCH** /v1/projects/{id} | Update project +*ProvisioningApi* | [**create_stage_attempt**](koyeb/api_async/docs/ProvisioningApi.md#create_stage_attempt) | **POST** /v1/provisioning/{deployment_id}/status/{stage}/{attempt} | Create an attempt for a stage +*ProvisioningApi* | [**declare_stage_progress**](koyeb/api_async/docs/ProvisioningApi.md#declare_stage_progress) | **PATCH** /v1/provisioning/{deployment_id}/status/{stage}/{attempt} | Declare stage progress +*ProvisioningApi* | [**declare_step_progress**](koyeb/api_async/docs/ProvisioningApi.md#declare_step_progress) | **PATCH** /v1/provisioning/{deployment_id}/status/{stage}/{attempt}/{step} | Declare step progress +*QuotasApi* | [**review_organization_capacity**](koyeb/api_async/docs/QuotasApi.md#review_organization_capacity) | **POST** /v1/quotas/capacity | DEPRECATED: Review Organization Capacity +*RegionalDeploymentsApi* | [**get_regional_deployment**](koyeb/api_async/docs/RegionalDeploymentsApi.md#get_regional_deployment) | **GET** /v1/regional_deployments/{id} | Get Regional Deployment +*RegionalDeploymentsApi* | [**list_regional_deployment_events**](koyeb/api_async/docs/RegionalDeploymentsApi.md#list_regional_deployment_events) | **GET** /v1/regional_deployment_events | List Regional Deployment events +*RegionalDeploymentsApi* | [**list_regional_deployments**](koyeb/api_async/docs/RegionalDeploymentsApi.md#list_regional_deployments) | **GET** /v1/regional_deployments | List Regional Deployments +*RepositoriesApi* | [**list_branches**](koyeb/api_async/docs/RepositoriesApi.md#list_branches) | **GET** /v1/git/branches | List Branches +*RepositoriesApi* | [**list_repositories**](koyeb/api_async/docs/RepositoriesApi.md#list_repositories) | **GET** /v1/git/repositories | List Repositories +*RepositoriesApi* | [**resync_organization**](koyeb/api_async/docs/RepositoriesApi.md#resync_organization) | **POST** /v1/git/sync/organization/{organization_id} | Resync Organization +*SearchApi* | [**search**](koyeb/api_async/docs/SearchApi.md#search) | **GET** /v1/search | Search +*SecretsApi* | [**create_secret**](koyeb/api_async/docs/SecretsApi.md#create_secret) | **POST** /v1/secrets | Create Secret +*SecretsApi* | [**delete_secret**](koyeb/api_async/docs/SecretsApi.md#delete_secret) | **DELETE** /v1/secrets/{id} | Delete Secret +*SecretsApi* | [**get_secret**](koyeb/api_async/docs/SecretsApi.md#get_secret) | **GET** /v1/secrets/{id} | Get Secret +*SecretsApi* | [**list_secrets**](koyeb/api_async/docs/SecretsApi.md#list_secrets) | **GET** /v1/secrets | List Secrets +*SecretsApi* | [**reveal_secret**](koyeb/api_async/docs/SecretsApi.md#reveal_secret) | **POST** /v1/secrets/{id}/reveal | Reveal Secret +*SecretsApi* | [**update_secret**](koyeb/api_async/docs/SecretsApi.md#update_secret) | **PUT** /v1/secrets/{id} | Update Secret +*SecretsApi* | [**update_secret2**](koyeb/api_async/docs/SecretsApi.md#update_secret2) | **PATCH** /v1/secrets/{id} | Update Secret +*ServicesApi* | [**autocomplete**](koyeb/api_async/docs/ServicesApi.md#autocomplete) | **POST** /v1/services-autocomplete | Autocomplete definition +*ServicesApi* | [**create_service**](koyeb/api_async/docs/ServicesApi.md#create_service) | **POST** /v1/services | Create Service +*ServicesApi* | [**delete_service**](koyeb/api_async/docs/ServicesApi.md#delete_service) | **DELETE** /v1/services/{id} | Delete Service +*ServicesApi* | [**delete_service_scaling**](koyeb/api_async/docs/ServicesApi.md#delete_service_scaling) | **DELETE** /v1/services/{id}/scale | Delete Service Scaling +*ServicesApi* | [**get_service**](koyeb/api_async/docs/ServicesApi.md#get_service) | **GET** /v1/services/{id} | Get Service +*ServicesApi* | [**get_service_scaling**](koyeb/api_async/docs/ServicesApi.md#get_service_scaling) | **GET** /v1/services/{id}/scale | Get Service Scaling +*ServicesApi* | [**list_service_events**](koyeb/api_async/docs/ServicesApi.md#list_service_events) | **GET** /v1/service_events | List Service events +*ServicesApi* | [**list_services**](koyeb/api_async/docs/ServicesApi.md#list_services) | **GET** /v1/services | List Services +*ServicesApi* | [**pause_service**](koyeb/api_async/docs/ServicesApi.md#pause_service) | **POST** /v1/services/{id}/pause | Pause Service +*ServicesApi* | [**re_deploy**](koyeb/api_async/docs/ServicesApi.md#re_deploy) | **POST** /v1/services/{id}/redeploy | ReDeploy Service +*ServicesApi* | [**resume_service**](koyeb/api_async/docs/ServicesApi.md#resume_service) | **POST** /v1/services/{id}/resume | Resume Service +*ServicesApi* | [**update_service**](koyeb/api_async/docs/ServicesApi.md#update_service) | **PUT** /v1/services/{id} | Update Service +*ServicesApi* | [**update_service2**](koyeb/api_async/docs/ServicesApi.md#update_service2) | **PATCH** /v1/services/{id} | Update Service +*ServicesApi* | [**update_service_scaling**](koyeb/api_async/docs/ServicesApi.md#update_service_scaling) | **PUT** /v1/services/{id}/scale | Update Service Scaling +*SessionsApi* | [**login**](koyeb/api_async/docs/SessionsApi.md#login) | **POST** /v1/account/login | Login user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*SessionsApi* | [**logout**](koyeb/api_async/docs/SessionsApi.md#logout) | **DELETE** /v1/account/logout | Logout user DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*SessionsApi* | [**new_session**](koyeb/api_async/docs/SessionsApi.md#new_session) | **POST** /v1/account/session | New session +*SessionsApi* | [**refresh_token**](koyeb/api_async/docs/SessionsApi.md#refresh_token) | **PUT** /v1/account/refresh | Refresh token DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*SnapshotsApi* | [**create_snapshot**](koyeb/api_async/docs/SnapshotsApi.md#create_snapshot) | **POST** /v1/snapshots | Create a Snapshot +*SnapshotsApi* | [**delete_snapshot**](koyeb/api_async/docs/SnapshotsApi.md#delete_snapshot) | **DELETE** /v1/snapshots/{id} | Delete a Snapshot +*SnapshotsApi* | [**get_snapshot**](koyeb/api_async/docs/SnapshotsApi.md#get_snapshot) | **GET** /v1/snapshots/{id} | Get a Snapshot +*SnapshotsApi* | [**list_snapshots**](koyeb/api_async/docs/SnapshotsApi.md#list_snapshots) | **GET** /v1/snapshots | List all Snapshots +*SnapshotsApi* | [**update_snapshot**](koyeb/api_async/docs/SnapshotsApi.md#update_snapshot) | **POST** /v1/snapshots/{id} | Update a Snapshot +*SubscriptionsApi* | [**get_subscription**](koyeb/api_async/docs/SubscriptionsApi.md#get_subscription) | **GET** /v1/subscriptions/{id} | Get Subscription +*SummaryApi* | [**get_organization_summary**](koyeb/api_async/docs/SummaryApi.md#get_organization_summary) | **GET** /v1/organizations/{organization_id}/summary | Get organization usage summary +*TestApi* | [**test_anon**](koyeb/api_async/docs/TestApi.md#test_anon) | **GET** /v1/test/anon | Test anonymous call +*TestApi* | [**test_auth**](koyeb/api_async/docs/TestApi.md#test_auth) | **POST** /v1/test/auth | Test authenticated call +*UsagesApi* | [**get_organization_usage**](koyeb/api_async/docs/UsagesApi.md#get_organization_usage) | **GET** /v1/usages | Get organization usage +*UsagesApi* | [**get_organization_usage_details**](koyeb/api_async/docs/UsagesApi.md#get_organization_usage_details) | **GET** /v1/usages/details | Get organization usage details +*UsersApi* | [**delete_user**](koyeb/api_async/docs/UsersApi.md#delete_user) | **DELETE** /v1/users/{id} | Delete user +*UsersApi* | [**delete_user_v2**](koyeb/api_async/docs/UsersApi.md#delete_user_v2) | **DELETE** /v2/users/{id} | V2 Delete user +*ActivityApi* | [**get_account_activities**](koyeb/api_async/docs/ActivityApi.md#get_account_activities) | **GET** /v1/account/activities | +*ActivityApi* | [**list_activities**](koyeb/api_async/docs/ActivityApi.md#list_activities) | **GET** /v1/activities | List Activities +*ActivityApi* | [**list_notifications**](koyeb/api_async/docs/ActivityApi.md#list_notifications) | **GET** /v1/notifications | List Notifications +*BillingApi* | [**has_unpaid_invoices**](koyeb/api_async/docs/BillingApi.md#has_unpaid_invoices) | **GET** /v1/billing/has_unpaid_invoices | Experimental: Has unpaid invoices +*BillingApi* | [**manage**](koyeb/api_async/docs/BillingApi.md#manage) | **GET** /v1/billing/manage | +*BillingApi* | [**next_invoice**](koyeb/api_async/docs/BillingApi.md#next_invoice) | **GET** /v1/billing/next_invoice | Experimental: Fetch next invoice +*InviteApi* | [**create_invite**](koyeb/api_async/docs/InviteApi.md#create_invite) | **POST** /v1/account/invite | DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*OrganizationApi* | [**create_access_token**](koyeb/api_async/docs/OrganizationApi.md#create_access_token) | **POST** /v1/organizations/{id}/access_token | CreateAccessToken +*OrganizationApi* | [**create_budget**](koyeb/api_async/docs/OrganizationApi.md#create_budget) | **POST** /v1/organizations/{organization_id}/budget | Create Budget +*OrganizationApi* | [**create_organization**](koyeb/api_async/docs/OrganizationApi.md#create_organization) | **POST** /v1/organizations | Create Organization +*OrganizationApi* | [**deactivate_organization**](koyeb/api_async/docs/OrganizationApi.md#deactivate_organization) | **POST** /v1/organizations/{id}/deactivate | Deactivate an Organization +*OrganizationApi* | [**delete_budget**](koyeb/api_async/docs/OrganizationApi.md#delete_budget) | **DELETE** /v1/organizations/{organization_id}/budget | Delete Budget +*OrganizationApi* | [**delete_organization**](koyeb/api_async/docs/OrganizationApi.md#delete_organization) | **DELETE** /v1/organizations/{id} | Delete an Organization +*OrganizationApi* | [**get_budget**](koyeb/api_async/docs/OrganizationApi.md#get_budget) | **GET** /v1/organizations/{organization_id}/budget | Get Budget +*OrganizationApi* | [**get_github_installation**](koyeb/api_async/docs/OrganizationApi.md#get_github_installation) | **GET** /v1/github/installation | Fetch Github Installation configuration +*OrganizationApi* | [**get_organization**](koyeb/api_async/docs/OrganizationApi.md#get_organization) | **GET** /v1/organizations/{id} | Get Organization +*OrganizationApi* | [**github_installation**](koyeb/api_async/docs/OrganizationApi.md#github_installation) | **POST** /v1/github/installation | Start Github Installation +*OrganizationApi* | [**reactivate_organization**](koyeb/api_async/docs/OrganizationApi.md#reactivate_organization) | **POST** /v1/organizations/{id}/reactivate | Reactivate an Organization +*OrganizationApi* | [**switch_organization**](koyeb/api_async/docs/OrganizationApi.md#switch_organization) | **POST** /v1/organizations/{id}/switch | Switch Organization context DEPRECATED: this has been replaced by WorkOS and will be dropped soon. +*OrganizationApi* | [**unscope_organization_token**](koyeb/api_async/docs/OrganizationApi.md#unscope_organization_token) | **POST** /v1/unscope_organization_token | Unscope Organization Token +*OrganizationApi* | [**update_budget**](koyeb/api_async/docs/OrganizationApi.md#update_budget) | **PUT** /v1/organizations/{organization_id}/budget | Update Budget +*OrganizationApi* | [**update_organization**](koyeb/api_async/docs/OrganizationApi.md#update_organization) | **PUT** /v1/organizations/{id} | Update Organization +*OrganizationApi* | [**update_organization2**](koyeb/api_async/docs/OrganizationApi.md#update_organization2) | **PATCH** /v1/organizations/{id} | Update Organization +*OrganizationApi* | [**update_organization_default_project**](koyeb/api_async/docs/OrganizationApi.md#update_organization_default_project) | **PUT** /v1/organizations/{id}/default_project | Update Organization's default project +*OrganizationApi* | [**update_organization_name**](koyeb/api_async/docs/OrganizationApi.md#update_organization_name) | **PUT** /v1/organizations/{id}/name | Update Organization Name +*OrganizationApi* | [**update_organization_plan**](koyeb/api_async/docs/OrganizationApi.md#update_organization_plan) | **POST** /v1/organizations/{id}/plan | Update Organization plan +*OrganizationApi* | [**upsert_signup_qualification**](koyeb/api_async/docs/OrganizationApi.md#upsert_signup_qualification) | **POST** /v1/organizations/{id}/signup_qualification | Upsert Organization's signup qualification +*SsoApi* | [**canny_auth**](koyeb/api_async/docs/SsoApi.md#canny_auth) | **POST** /v1/sso/canny | +*SsoApi* | [**discourse_auth**](koyeb/api_async/docs/SsoApi.md#discourse_auth) | **POST** /v1/sso/discourse | + + +## Documentation For Models + + - [AcceptOrganizationInvitationReply](koyeb/api_async/docs/AcceptOrganizationInvitationReply.md) + - [Action](koyeb/api_async/docs/Action.md) + - [Activity](koyeb/api_async/docs/Activity.md) + - [ActivityList](koyeb/api_async/docs/ActivityList.md) + - [App](koyeb/api_async/docs/App.md) + - [AppEvent](koyeb/api_async/docs/AppEvent.md) + - [AppLifeCycle](koyeb/api_async/docs/AppLifeCycle.md) + - [AppListItem](koyeb/api_async/docs/AppListItem.md) + - [AppStatus](koyeb/api_async/docs/AppStatus.md) + - [AppUsage](koyeb/api_async/docs/AppUsage.md) + - [AppsSummary](koyeb/api_async/docs/AppsSummary.md) + - [Archive](koyeb/api_async/docs/Archive.md) + - [ArchiveDeploymentMetadata](koyeb/api_async/docs/ArchiveDeploymentMetadata.md) + - [ArchiveSource](koyeb/api_async/docs/ArchiveSource.md) + - [AutoRelease](koyeb/api_async/docs/AutoRelease.md) + - [AutoReleaseGroup](koyeb/api_async/docs/AutoReleaseGroup.md) + - [AutocompleteReply](koyeb/api_async/docs/AutocompleteReply.md) + - [AutocompleteRequest](koyeb/api_async/docs/AutocompleteRequest.md) + - [AvailabilityLevel](koyeb/api_async/docs/AvailabilityLevel.md) + - [AzureContainerRegistryConfiguration](koyeb/api_async/docs/AzureContainerRegistryConfiguration.md) + - [BasicAuthPolicy](koyeb/api_async/docs/BasicAuthPolicy.md) + - [Budget](koyeb/api_async/docs/Budget.md) + - [BuildpackBuilder](koyeb/api_async/docs/BuildpackBuilder.md) + - [CannyAuthReply](koyeb/api_async/docs/CannyAuthReply.md) + - [CatalogGPUDetails](koyeb/api_async/docs/CatalogGPUDetails.md) + - [CatalogInstance](koyeb/api_async/docs/CatalogInstance.md) + - [CatalogInstanceListItem](koyeb/api_async/docs/CatalogInstanceListItem.md) + - [CatalogUsage](koyeb/api_async/docs/CatalogUsage.md) + - [CheckCouponReply](koyeb/api_async/docs/CheckCouponReply.md) + - [ClearIdenfyVerificationResultRequest](koyeb/api_async/docs/ClearIdenfyVerificationResultRequest.md) + - [ComposeReply](koyeb/api_async/docs/ComposeReply.md) + - [ConfigFile](koyeb/api_async/docs/ConfigFile.md) + - [ConfirmPaymentAuthorizationReply](koyeb/api_async/docs/ConfirmPaymentAuthorizationReply.md) + - [CreateAccessTokenReply](koyeb/api_async/docs/CreateAccessTokenReply.md) + - [CreateAccessTokenRequest](koyeb/api_async/docs/CreateAccessTokenRequest.md) + - [CreateAccountRequest](koyeb/api_async/docs/CreateAccountRequest.md) + - [CreateApp](koyeb/api_async/docs/CreateApp.md) + - [CreateAppReply](koyeb/api_async/docs/CreateAppReply.md) + - [CreateArchive](koyeb/api_async/docs/CreateArchive.md) + - [CreateArchiveReply](koyeb/api_async/docs/CreateArchiveReply.md) + - [CreateBudgetReply](koyeb/api_async/docs/CreateBudgetReply.md) + - [CreateCompose](koyeb/api_async/docs/CreateCompose.md) + - [CreateCredential](koyeb/api_async/docs/CreateCredential.md) + - [CreateCredentialReply](koyeb/api_async/docs/CreateCredentialReply.md) + - [CreateDomain](koyeb/api_async/docs/CreateDomain.md) + - [CreateDomainReply](koyeb/api_async/docs/CreateDomainReply.md) + - [CreateOrganizationInvitationReply](koyeb/api_async/docs/CreateOrganizationInvitationReply.md) + - [CreateOrganizationInvitationRequest](koyeb/api_async/docs/CreateOrganizationInvitationRequest.md) + - [CreateOrganizationReply](koyeb/api_async/docs/CreateOrganizationReply.md) + - [CreateOrganizationRequest](koyeb/api_async/docs/CreateOrganizationRequest.md) + - [CreatePaymentAuthorizationReply](koyeb/api_async/docs/CreatePaymentAuthorizationReply.md) + - [CreatePersistentVolumeReply](koyeb/api_async/docs/CreatePersistentVolumeReply.md) + - [CreatePersistentVolumeRequest](koyeb/api_async/docs/CreatePersistentVolumeRequest.md) + - [CreateProject](koyeb/api_async/docs/CreateProject.md) + - [CreateProjectReply](koyeb/api_async/docs/CreateProjectReply.md) + - [CreateSecret](koyeb/api_async/docs/CreateSecret.md) + - [CreateSecretReply](koyeb/api_async/docs/CreateSecretReply.md) + - [CreateService](koyeb/api_async/docs/CreateService.md) + - [CreateServiceReply](koyeb/api_async/docs/CreateServiceReply.md) + - [CreateSnapshotReply](koyeb/api_async/docs/CreateSnapshotReply.md) + - [CreateSnapshotRequest](koyeb/api_async/docs/CreateSnapshotRequest.md) + - [CreateStageAttemptRequest](koyeb/api_async/docs/CreateStageAttemptRequest.md) + - [Credential](koyeb/api_async/docs/Credential.md) + - [CredentialType](koyeb/api_async/docs/CredentialType.md) + - [DatabaseDeploymentMetadata](koyeb/api_async/docs/DatabaseDeploymentMetadata.md) + - [DatabaseRolePassword](koyeb/api_async/docs/DatabaseRolePassword.md) + - [DatabaseSource](koyeb/api_async/docs/DatabaseSource.md) + - [DatabaseUsage](koyeb/api_async/docs/DatabaseUsage.md) + - [DatabaseUsageDetails](koyeb/api_async/docs/DatabaseUsageDetails.md) + - [DatacenterListItem](koyeb/api_async/docs/DatacenterListItem.md) + - [DeactivateOrganizationReply](koyeb/api_async/docs/DeactivateOrganizationReply.md) + - [DeactivateOrganizationRequest](koyeb/api_async/docs/DeactivateOrganizationRequest.md) + - [DeclareStageProgressRequest](koyeb/api_async/docs/DeclareStageProgressRequest.md) + - [DeclareStepProgressRequest](koyeb/api_async/docs/DeclareStepProgressRequest.md) + - [DeclineOrganizationInvitationReply](koyeb/api_async/docs/DeclineOrganizationInvitationReply.md) + - [DeleteOrganizationReply](koyeb/api_async/docs/DeleteOrganizationReply.md) + - [DeletePersistentVolumeReply](koyeb/api_async/docs/DeletePersistentVolumeReply.md) + - [DeleteSnapshotReply](koyeb/api_async/docs/DeleteSnapshotReply.md) + - [DeleteUserReply](koyeb/api_async/docs/DeleteUserReply.md) + - [Deployment](koyeb/api_async/docs/Deployment.md) + - [DeploymentDatabaseInfo](koyeb/api_async/docs/DeploymentDatabaseInfo.md) + - [DeploymentDefinition](koyeb/api_async/docs/DeploymentDefinition.md) + - [DeploymentDefinitionType](koyeb/api_async/docs/DeploymentDefinitionType.md) + - [DeploymentEnv](koyeb/api_async/docs/DeploymentEnv.md) + - [DeploymentEvent](koyeb/api_async/docs/DeploymentEvent.md) + - [DeploymentHealthCheck](koyeb/api_async/docs/DeploymentHealthCheck.md) + - [DeploymentInstanceType](koyeb/api_async/docs/DeploymentInstanceType.md) + - [DeploymentListItem](koyeb/api_async/docs/DeploymentListItem.md) + - [DeploymentMesh](koyeb/api_async/docs/DeploymentMesh.md) + - [DeploymentMetadata](koyeb/api_async/docs/DeploymentMetadata.md) + - [DeploymentNeonPostgresDatabaseInfo](koyeb/api_async/docs/DeploymentNeonPostgresDatabaseInfo.md) + - [DeploymentNeonPostgresDatabaseInfoRole](koyeb/api_async/docs/DeploymentNeonPostgresDatabaseInfoRole.md) + - [DeploymentPort](koyeb/api_async/docs/DeploymentPort.md) + - [DeploymentProvisioningInfo](koyeb/api_async/docs/DeploymentProvisioningInfo.md) + - [DeploymentProvisioningInfoStage](koyeb/api_async/docs/DeploymentProvisioningInfoStage.md) + - [DeploymentProvisioningInfoStageBuildAttempt](koyeb/api_async/docs/DeploymentProvisioningInfoStageBuildAttempt.md) + - [DeploymentProvisioningInfoStageBuildAttemptBuildStep](koyeb/api_async/docs/DeploymentProvisioningInfoStageBuildAttemptBuildStep.md) + - [DeploymentProvisioningInfoStageStatus](koyeb/api_async/docs/DeploymentProvisioningInfoStageStatus.md) + - [DeploymentProxyPort](koyeb/api_async/docs/DeploymentProxyPort.md) + - [DeploymentProxyPortMetadata](koyeb/api_async/docs/DeploymentProxyPortMetadata.md) + - [DeploymentRole](koyeb/api_async/docs/DeploymentRole.md) + - [DeploymentRoute](koyeb/api_async/docs/DeploymentRoute.md) + - [DeploymentScaling](koyeb/api_async/docs/DeploymentScaling.md) + - [DeploymentScalingTarget](koyeb/api_async/docs/DeploymentScalingTarget.md) + - [DeploymentScalingTargetAverageCPU](koyeb/api_async/docs/DeploymentScalingTargetAverageCPU.md) + - [DeploymentScalingTargetAverageMem](koyeb/api_async/docs/DeploymentScalingTargetAverageMem.md) + - [DeploymentScalingTargetConcurrentRequests](koyeb/api_async/docs/DeploymentScalingTargetConcurrentRequests.md) + - [DeploymentScalingTargetRequestsPerSecond](koyeb/api_async/docs/DeploymentScalingTargetRequestsPerSecond.md) + - [DeploymentScalingTargetRequestsResponseTime](koyeb/api_async/docs/DeploymentScalingTargetRequestsResponseTime.md) + - [DeploymentScalingTargetSleepIdleDelay](koyeb/api_async/docs/DeploymentScalingTargetSleepIdleDelay.md) + - [DeploymentStatus](koyeb/api_async/docs/DeploymentStatus.md) + - [DeploymentStrategy](koyeb/api_async/docs/DeploymentStrategy.md) + - [DeploymentStrategyType](koyeb/api_async/docs/DeploymentStrategyType.md) + - [DeploymentVolume](koyeb/api_async/docs/DeploymentVolume.md) + - [DesiredDeployment](koyeb/api_async/docs/DesiredDeployment.md) + - [DesiredDeploymentGroup](koyeb/api_async/docs/DesiredDeploymentGroup.md) + - [DigitalOceanRegistryConfiguration](koyeb/api_async/docs/DigitalOceanRegistryConfiguration.md) + - [DiscourseAuthReply](koyeb/api_async/docs/DiscourseAuthReply.md) + - [DiscourseAuthRequest](koyeb/api_async/docs/DiscourseAuthRequest.md) + - [DockerBuilder](koyeb/api_async/docs/DockerBuilder.md) + - [DockerHubRegistryConfiguration](koyeb/api_async/docs/DockerHubRegistryConfiguration.md) + - [DockerSource](koyeb/api_async/docs/DockerSource.md) + - [Domain](koyeb/api_async/docs/Domain.md) + - [DomainLoadBalancerKoyeb](koyeb/api_async/docs/DomainLoadBalancerKoyeb.md) + - [DomainLoadBalancerQuotas](koyeb/api_async/docs/DomainLoadBalancerQuotas.md) + - [DomainStatus](koyeb/api_async/docs/DomainStatus.md) + - [DomainType](koyeb/api_async/docs/DomainType.md) + - [DomainsSummary](koyeb/api_async/docs/DomainsSummary.md) + - [Env](koyeb/api_async/docs/Env.md) + - [Error](koyeb/api_async/docs/Error.md) + - [ErrorField](koyeb/api_async/docs/ErrorField.md) + - [ErrorWithFields](koyeb/api_async/docs/ErrorWithFields.md) + - [ExecCommandIO](koyeb/api_async/docs/ExecCommandIO.md) + - [ExecCommandReply](koyeb/api_async/docs/ExecCommandReply.md) + - [ExecCommandRequestBody](koyeb/api_async/docs/ExecCommandRequestBody.md) + - [ExecCommandRequestIdType](koyeb/api_async/docs/ExecCommandRequestIdType.md) + - [ExecCommandRequestTerminalSize](koyeb/api_async/docs/ExecCommandRequestTerminalSize.md) + - [GCPContainerRegistryConfiguration](koyeb/api_async/docs/GCPContainerRegistryConfiguration.md) + - [GetAppReply](koyeb/api_async/docs/GetAppReply.md) + - [GetBudgetReply](koyeb/api_async/docs/GetBudgetReply.md) + - [GetCatalogInstanceReply](koyeb/api_async/docs/GetCatalogInstanceReply.md) + - [GetCredentialReply](koyeb/api_async/docs/GetCredentialReply.md) + - [GetDeploymentReply](koyeb/api_async/docs/GetDeploymentReply.md) + - [GetDeploymentScalingReply](koyeb/api_async/docs/GetDeploymentScalingReply.md) + - [GetDeploymentScalingReplyItem](koyeb/api_async/docs/GetDeploymentScalingReplyItem.md) + - [GetDomainReply](koyeb/api_async/docs/GetDomainReply.md) + - [GetGithubInstallationReply](koyeb/api_async/docs/GetGithubInstallationReply.md) + - [GetIdenfyTokenReply](koyeb/api_async/docs/GetIdenfyTokenReply.md) + - [GetInstanceReply](koyeb/api_async/docs/GetInstanceReply.md) + - [GetIntercomProfileReply](koyeb/api_async/docs/GetIntercomProfileReply.md) + - [GetMetricsReply](koyeb/api_async/docs/GetMetricsReply.md) + - [GetMetricsReplyMetric](koyeb/api_async/docs/GetMetricsReplyMetric.md) + - [GetOAuthOptionsReply](koyeb/api_async/docs/GetOAuthOptionsReply.md) + - [GetOrganizationInvitationReply](koyeb/api_async/docs/GetOrganizationInvitationReply.md) + - [GetOrganizationReply](koyeb/api_async/docs/GetOrganizationReply.md) + - [GetOrganizationSummaryReply](koyeb/api_async/docs/GetOrganizationSummaryReply.md) + - [GetOrganizationUsageDetailsReply](koyeb/api_async/docs/GetOrganizationUsageDetailsReply.md) + - [GetOrganizationUsageReply](koyeb/api_async/docs/GetOrganizationUsageReply.md) + - [GetPaymentMethodReply](koyeb/api_async/docs/GetPaymentMethodReply.md) + - [GetPersistentVolumeReply](koyeb/api_async/docs/GetPersistentVolumeReply.md) + - [GetProjectReply](koyeb/api_async/docs/GetProjectReply.md) + - [GetQuotasReply](koyeb/api_async/docs/GetQuotasReply.md) + - [GetRegionReply](koyeb/api_async/docs/GetRegionReply.md) + - [GetRegionalDeploymentReply](koyeb/api_async/docs/GetRegionalDeploymentReply.md) + - [GetSecretReply](koyeb/api_async/docs/GetSecretReply.md) + - [GetServiceReply](koyeb/api_async/docs/GetServiceReply.md) + - [GetServiceScalingReply](koyeb/api_async/docs/GetServiceScalingReply.md) + - [GetSnapshotReply](koyeb/api_async/docs/GetSnapshotReply.md) + - [GetSubscriptionReply](koyeb/api_async/docs/GetSubscriptionReply.md) + - [GetUserOrganizationInvitationReply](koyeb/api_async/docs/GetUserOrganizationInvitationReply.md) + - [GetUserSettingsReply](koyeb/api_async/docs/GetUserSettingsReply.md) + - [GitDeploymentMetadata](koyeb/api_async/docs/GitDeploymentMetadata.md) + - [GitEnvDeploymentMetadata](koyeb/api_async/docs/GitEnvDeploymentMetadata.md) + - [GitHubRegistryConfiguration](koyeb/api_async/docs/GitHubRegistryConfiguration.md) + - [GitLabRegistryConfiguration](koyeb/api_async/docs/GitLabRegistryConfiguration.md) + - [GitSource](koyeb/api_async/docs/GitSource.md) + - [GithubInstallationReply](koyeb/api_async/docs/GithubInstallationReply.md) + - [GithubInstallationRequest](koyeb/api_async/docs/GithubInstallationRequest.md) + - [GoogleProtobufAny](koyeb/api_async/docs/GoogleProtobufAny.md) + - [GoogleProtobufNullValue](koyeb/api_async/docs/GoogleProtobufNullValue.md) + - [GoogleRpcStatus](koyeb/api_async/docs/GoogleRpcStatus.md) + - [HTTPHeader](koyeb/api_async/docs/HTTPHeader.md) + - [HTTPHealthCheck](koyeb/api_async/docs/HTTPHealthCheck.md) + - [HasUnpaidInvoicesReply](koyeb/api_async/docs/HasUnpaidInvoicesReply.md) + - [Instance](koyeb/api_async/docs/Instance.md) + - [InstanceAvailability](koyeb/api_async/docs/InstanceAvailability.md) + - [InstanceEvent](koyeb/api_async/docs/InstanceEvent.md) + - [InstanceListItem](koyeb/api_async/docs/InstanceListItem.md) + - [InstanceStatus](koyeb/api_async/docs/InstanceStatus.md) + - [InstanceUsage](koyeb/api_async/docs/InstanceUsage.md) + - [InstancesSummary](koyeb/api_async/docs/InstancesSummary.md) + - [InviteUserRequest](koyeb/api_async/docs/InviteUserRequest.md) + - [KgitproxyBranch](koyeb/api_async/docs/KgitproxyBranch.md) + - [KgitproxyGitHubRepository](koyeb/api_async/docs/KgitproxyGitHubRepository.md) + - [KgitproxyGithubInstallationStatus](koyeb/api_async/docs/KgitproxyGithubInstallationStatus.md) + - [KgitproxyIndexingStatus](koyeb/api_async/docs/KgitproxyIndexingStatus.md) + - [KgitproxyListBranchesReply](koyeb/api_async/docs/KgitproxyListBranchesReply.md) + - [KgitproxyListRepositoriesReply](koyeb/api_async/docs/KgitproxyListRepositoriesReply.md) + - [KgitproxyRepository](koyeb/api_async/docs/KgitproxyRepository.md) + - [KgitproxyRepositoryProvider](koyeb/api_async/docs/KgitproxyRepositoryProvider.md) + - [KsearchApp](koyeb/api_async/docs/KsearchApp.md) + - [KsearchGlobalDeployment](koyeb/api_async/docs/KsearchGlobalDeployment.md) + - [KsearchInstance](koyeb/api_async/docs/KsearchInstance.md) + - [KsearchOrganization](koyeb/api_async/docs/KsearchOrganization.md) + - [KsearchRegionalDeployment](koyeb/api_async/docs/KsearchRegionalDeployment.md) + - [KsearchSearchReply](koyeb/api_async/docs/KsearchSearchReply.md) + - [KsearchService](koyeb/api_async/docs/KsearchService.md) + - [KsearchUser](koyeb/api_async/docs/KsearchUser.md) + - [KtestTestAuthReply](koyeb/api_async/docs/KtestTestAuthReply.md) + - [KtestTestAuthRequest](koyeb/api_async/docs/KtestTestAuthRequest.md) + - [LifecycleQuotas](koyeb/api_async/docs/LifecycleQuotas.md) + - [ListAppEventsReply](koyeb/api_async/docs/ListAppEventsReply.md) + - [ListAppsReply](koyeb/api_async/docs/ListAppsReply.md) + - [ListCatalogInstancesReply](koyeb/api_async/docs/ListCatalogInstancesReply.md) + - [ListCredentialsReply](koyeb/api_async/docs/ListCredentialsReply.md) + - [ListDatacentersReply](koyeb/api_async/docs/ListDatacentersReply.md) + - [ListDeploymentEventsReply](koyeb/api_async/docs/ListDeploymentEventsReply.md) + - [ListDeploymentsReply](koyeb/api_async/docs/ListDeploymentsReply.md) + - [ListDomainsReply](koyeb/api_async/docs/ListDomainsReply.md) + - [ListInstanceEventsReply](koyeb/api_async/docs/ListInstanceEventsReply.md) + - [ListInstancesReply](koyeb/api_async/docs/ListInstancesReply.md) + - [ListOrganizationInvitationsReply](koyeb/api_async/docs/ListOrganizationInvitationsReply.md) + - [ListOrganizationMembersReply](koyeb/api_async/docs/ListOrganizationMembersReply.md) + - [ListPaymentMethodsReply](koyeb/api_async/docs/ListPaymentMethodsReply.md) + - [ListPersistentVolumeEventsReply](koyeb/api_async/docs/ListPersistentVolumeEventsReply.md) + - [ListPersistentVolumesReply](koyeb/api_async/docs/ListPersistentVolumesReply.md) + - [ListProjectsReply](koyeb/api_async/docs/ListProjectsReply.md) + - [ListRegionalDeploymentEventsReply](koyeb/api_async/docs/ListRegionalDeploymentEventsReply.md) + - [ListRegionalDeploymentsReply](koyeb/api_async/docs/ListRegionalDeploymentsReply.md) + - [ListRegionsReply](koyeb/api_async/docs/ListRegionsReply.md) + - [ListSecretsReply](koyeb/api_async/docs/ListSecretsReply.md) + - [ListServiceEventsReply](koyeb/api_async/docs/ListServiceEventsReply.md) + - [ListServicesReply](koyeb/api_async/docs/ListServicesReply.md) + - [ListSnapshotsReply](koyeb/api_async/docs/ListSnapshotsReply.md) + - [ListUsageReply](koyeb/api_async/docs/ListUsageReply.md) + - [ListUserOrganizationInvitationsReply](koyeb/api_async/docs/ListUserOrganizationInvitationsReply.md) + - [ListUserOrganizationsReply](koyeb/api_async/docs/ListUserOrganizationsReply.md) + - [LogEntry](koyeb/api_async/docs/LogEntry.md) + - [LoginMethodReply](koyeb/api_async/docs/LoginMethodReply.md) + - [LoginMethodReplyMethod](koyeb/api_async/docs/LoginMethodReplyMethod.md) + - [LoginReply](koyeb/api_async/docs/LoginReply.md) + - [LoginRequest](koyeb/api_async/docs/LoginRequest.md) + - [ManageReply](koyeb/api_async/docs/ManageReply.md) + - [ManualServiceScaling](koyeb/api_async/docs/ManualServiceScaling.md) + - [MembersSummary](koyeb/api_async/docs/MembersSummary.md) + - [MetricName](koyeb/api_async/docs/MetricName.md) + - [NeonPostgresDatabase](koyeb/api_async/docs/NeonPostgresDatabase.md) + - [NeonPostgresDatabaseDeploymentMetadata](koyeb/api_async/docs/NeonPostgresDatabaseDeploymentMetadata.md) + - [NeonPostgresDatabaseNeonDatabase](koyeb/api_async/docs/NeonPostgresDatabaseNeonDatabase.md) + - [NeonPostgresDatabaseNeonRole](koyeb/api_async/docs/NeonPostgresDatabaseNeonRole.md) + - [NeonPostgresSummary](koyeb/api_async/docs/NeonPostgresSummary.md) + - [NextInvoiceReply](koyeb/api_async/docs/NextInvoiceReply.md) + - [NextInvoiceReplyDiscount](koyeb/api_async/docs/NextInvoiceReplyDiscount.md) + - [NextInvoiceReplyDiscountType](koyeb/api_async/docs/NextInvoiceReplyDiscountType.md) + - [NextInvoiceReplyLine](koyeb/api_async/docs/NextInvoiceReplyLine.md) + - [NextInvoiceReplyLinePeriod](koyeb/api_async/docs/NextInvoiceReplyLinePeriod.md) + - [NextInvoiceReplyLinePrice](koyeb/api_async/docs/NextInvoiceReplyLinePrice.md) + - [Notification](koyeb/api_async/docs/Notification.md) + - [NotificationList](koyeb/api_async/docs/NotificationList.md) + - [OAuthCallbackReply](koyeb/api_async/docs/OAuthCallbackReply.md) + - [OAuthCallbackRequest](koyeb/api_async/docs/OAuthCallbackRequest.md) + - [OAuthProvider](koyeb/api_async/docs/OAuthProvider.md) + - [Object](koyeb/api_async/docs/Object.md) + - [Organization](koyeb/api_async/docs/Organization.md) + - [OrganizationDeactivationReason](koyeb/api_async/docs/OrganizationDeactivationReason.md) + - [OrganizationDetailedStatus](koyeb/api_async/docs/OrganizationDetailedStatus.md) + - [OrganizationInvitation](koyeb/api_async/docs/OrganizationInvitation.md) + - [OrganizationInvitationStatus](koyeb/api_async/docs/OrganizationInvitationStatus.md) + - [OrganizationMember](koyeb/api_async/docs/OrganizationMember.md) + - [OrganizationMemberStatus](koyeb/api_async/docs/OrganizationMemberStatus.md) + - [OrganizationStatus](koyeb/api_async/docs/OrganizationStatus.md) + - [OrganizationSummary](koyeb/api_async/docs/OrganizationSummary.md) + - [PaymentMethod](koyeb/api_async/docs/PaymentMethod.md) + - [PaymentMethodStatus](koyeb/api_async/docs/PaymentMethodStatus.md) + - [PeriodUsage](koyeb/api_async/docs/PeriodUsage.md) + - [PersistentVolume](koyeb/api_async/docs/PersistentVolume.md) + - [PersistentVolumeBackingStore](koyeb/api_async/docs/PersistentVolumeBackingStore.md) + - [PersistentVolumeEvent](koyeb/api_async/docs/PersistentVolumeEvent.md) + - [PersistentVolumeQuotas](koyeb/api_async/docs/PersistentVolumeQuotas.md) + - [PersistentVolumeStatus](koyeb/api_async/docs/PersistentVolumeStatus.md) + - [Plan](koyeb/api_async/docs/Plan.md) + - [Port](koyeb/api_async/docs/Port.md) + - [PrivateRegistryConfiguration](koyeb/api_async/docs/PrivateRegistryConfiguration.md) + - [Project](koyeb/api_async/docs/Project.md) + - [ProxyPortProtocol](koyeb/api_async/docs/ProxyPortProtocol.md) + - [PublicOrganization](koyeb/api_async/docs/PublicOrganization.md) + - [PublicUser](koyeb/api_async/docs/PublicUser.md) + - [QueryLogsReply](koyeb/api_async/docs/QueryLogsReply.md) + - [QueryLogsReplyPagination](koyeb/api_async/docs/QueryLogsReplyPagination.md) + - [Quotas](koyeb/api_async/docs/Quotas.md) + - [ReactivateOrganizationReply](koyeb/api_async/docs/ReactivateOrganizationReply.md) + - [RedeemCouponRequest](koyeb/api_async/docs/RedeemCouponRequest.md) + - [RedeployReply](koyeb/api_async/docs/RedeployReply.md) + - [RedeployRequestInfo](koyeb/api_async/docs/RedeployRequestInfo.md) + - [Region](koyeb/api_async/docs/Region.md) + - [RegionAvailability](koyeb/api_async/docs/RegionAvailability.md) + - [RegionListItem](koyeb/api_async/docs/RegionListItem.md) + - [RegionUsage](koyeb/api_async/docs/RegionUsage.md) + - [RegionalDeployment](koyeb/api_async/docs/RegionalDeployment.md) + - [RegionalDeploymentDefinition](koyeb/api_async/docs/RegionalDeploymentDefinition.md) + - [RegionalDeploymentDefinitionType](koyeb/api_async/docs/RegionalDeploymentDefinitionType.md) + - [RegionalDeploymentEvent](koyeb/api_async/docs/RegionalDeploymentEvent.md) + - [RegionalDeploymentListItem](koyeb/api_async/docs/RegionalDeploymentListItem.md) + - [RegionalDeploymentMesh](koyeb/api_async/docs/RegionalDeploymentMesh.md) + - [RegionalDeploymentRole](koyeb/api_async/docs/RegionalDeploymentRole.md) + - [RegionalDeploymentStatus](koyeb/api_async/docs/RegionalDeploymentStatus.md) + - [RegionalDeploymentVolume](koyeb/api_async/docs/RegionalDeploymentVolume.md) + - [RemoveOrganizationMemberReply](koyeb/api_async/docs/RemoveOrganizationMemberReply.md) + - [ResendOrganizationInvitationReply](koyeb/api_async/docs/ResendOrganizationInvitationReply.md) + - [ResetPasswordRequest](koyeb/api_async/docs/ResetPasswordRequest.md) + - [RevealSecretReply](koyeb/api_async/docs/RevealSecretReply.md) + - [ReviewOrganizationCapacityReply](koyeb/api_async/docs/ReviewOrganizationCapacityReply.md) + - [ReviewOrganizationCapacityRequest](koyeb/api_async/docs/ReviewOrganizationCapacityRequest.md) + - [Route](koyeb/api_async/docs/Route.md) + - [Sample](koyeb/api_async/docs/Sample.md) + - [SandboxMetadata](koyeb/api_async/docs/SandboxMetadata.md) + - [ScaleToZeroQuotas](koyeb/api_async/docs/ScaleToZeroQuotas.md) + - [Scaling](koyeb/api_async/docs/Scaling.md) + - [Secret](koyeb/api_async/docs/Secret.md) + - [SecretType](koyeb/api_async/docs/SecretType.md) + - [SecretsSummary](koyeb/api_async/docs/SecretsSummary.md) + - [SecurityPolicies](koyeb/api_async/docs/SecurityPolicies.md) + - [Service](koyeb/api_async/docs/Service.md) + - [ServiceEvent](koyeb/api_async/docs/ServiceEvent.md) + - [ServiceLifeCycle](koyeb/api_async/docs/ServiceLifeCycle.md) + - [ServiceListItem](koyeb/api_async/docs/ServiceListItem.md) + - [ServiceState](koyeb/api_async/docs/ServiceState.md) + - [ServiceStatus](koyeb/api_async/docs/ServiceStatus.md) + - [ServiceSummary](koyeb/api_async/docs/ServiceSummary.md) + - [ServiceType](koyeb/api_async/docs/ServiceType.md) + - [ServiceUsage](koyeb/api_async/docs/ServiceUsage.md) + - [Snapshot](koyeb/api_async/docs/Snapshot.md) + - [SnapshotStatus](koyeb/api_async/docs/SnapshotStatus.md) + - [SnapshotType](koyeb/api_async/docs/SnapshotType.md) + - [StreamResultOfExecCommandReply](koyeb/api_async/docs/StreamResultOfExecCommandReply.md) + - [StreamResultOfLogEntry](koyeb/api_async/docs/StreamResultOfLogEntry.md) + - [Subscription](koyeb/api_async/docs/Subscription.md) + - [SubscriptionPaymentFailure](koyeb/api_async/docs/SubscriptionPaymentFailure.md) + - [SubscriptionPaymentFailureStripeSDK](koyeb/api_async/docs/SubscriptionPaymentFailureStripeSDK.md) + - [SubscriptionStatus](koyeb/api_async/docs/SubscriptionStatus.md) + - [TCPHealthCheck](koyeb/api_async/docs/TCPHealthCheck.md) + - [Token](koyeb/api_async/docs/Token.md) + - [TriggerDeploymentMetadata](koyeb/api_async/docs/TriggerDeploymentMetadata.md) + - [TriggerDeploymentMetadataActorType](koyeb/api_async/docs/TriggerDeploymentMetadataActorType.md) + - [TriggerDeploymentMetadataTriggerType](koyeb/api_async/docs/TriggerDeploymentMetadataTriggerType.md) + - [TriggerGitDeploymentMetadata](koyeb/api_async/docs/TriggerGitDeploymentMetadata.md) + - [TriggerGitDeploymentMetadataProvider](koyeb/api_async/docs/TriggerGitDeploymentMetadataProvider.md) + - [UpdateApp](koyeb/api_async/docs/UpdateApp.md) + - [UpdateAppReply](koyeb/api_async/docs/UpdateAppReply.md) + - [UpdateBudgetReply](koyeb/api_async/docs/UpdateBudgetReply.md) + - [UpdateBudgetRequest](koyeb/api_async/docs/UpdateBudgetRequest.md) + - [UpdateCredentialReply](koyeb/api_async/docs/UpdateCredentialReply.md) + - [UpdateDomain](koyeb/api_async/docs/UpdateDomain.md) + - [UpdateDomainReply](koyeb/api_async/docs/UpdateDomainReply.md) + - [UpdateOrganizationDefaultProjectReply](koyeb/api_async/docs/UpdateOrganizationDefaultProjectReply.md) + - [UpdateOrganizationDefaultProjectRequest](koyeb/api_async/docs/UpdateOrganizationDefaultProjectRequest.md) + - [UpdateOrganizationNameReply](koyeb/api_async/docs/UpdateOrganizationNameReply.md) + - [UpdateOrganizationNameRequest](koyeb/api_async/docs/UpdateOrganizationNameRequest.md) + - [UpdateOrganizationPlanReply](koyeb/api_async/docs/UpdateOrganizationPlanReply.md) + - [UpdateOrganizationPlanRequest](koyeb/api_async/docs/UpdateOrganizationPlanRequest.md) + - [UpdateOrganizationReply](koyeb/api_async/docs/UpdateOrganizationReply.md) + - [UpdatePasswordRequest](koyeb/api_async/docs/UpdatePasswordRequest.md) + - [UpdatePersistentVolumeReply](koyeb/api_async/docs/UpdatePersistentVolumeReply.md) + - [UpdatePersistentVolumeRequest](koyeb/api_async/docs/UpdatePersistentVolumeRequest.md) + - [UpdateProjectReply](koyeb/api_async/docs/UpdateProjectReply.md) + - [UpdateSecretReply](koyeb/api_async/docs/UpdateSecretReply.md) + - [UpdateService](koyeb/api_async/docs/UpdateService.md) + - [UpdateServiceReply](koyeb/api_async/docs/UpdateServiceReply.md) + - [UpdateServiceScalingRequest](koyeb/api_async/docs/UpdateServiceScalingRequest.md) + - [UpdateSnapshotReply](koyeb/api_async/docs/UpdateSnapshotReply.md) + - [UpdateSnapshotRequest](koyeb/api_async/docs/UpdateSnapshotRequest.md) + - [UpdateUserRequestUserUpdateBody](koyeb/api_async/docs/UpdateUserRequestUserUpdateBody.md) + - [UpdateUserSettingsReply](koyeb/api_async/docs/UpdateUserSettingsReply.md) + - [UpdateUserSettingsRequest](koyeb/api_async/docs/UpdateUserSettingsRequest.md) + - [UpsertSignupQualificationReply](koyeb/api_async/docs/UpsertSignupQualificationReply.md) + - [UpsertSignupQualificationRequest](koyeb/api_async/docs/UpsertSignupQualificationRequest.md) + - [Usage](koyeb/api_async/docs/Usage.md) + - [UsageDetails](koyeb/api_async/docs/UsageDetails.md) + - [User](koyeb/api_async/docs/User.md) + - [UserFlags](koyeb/api_async/docs/UserFlags.md) + - [UserReply](koyeb/api_async/docs/UserReply.md) + - [UserRoleRole](koyeb/api_async/docs/UserRoleRole.md) + - [UserSettings](koyeb/api_async/docs/UserSettings.md) + - [VerifyDockerImageReply](koyeb/api_async/docs/VerifyDockerImageReply.md) + - [VerifyDockerImageReplyErrCode](koyeb/api_async/docs/VerifyDockerImageReplyErrCode.md) + + + +## Documentation For Authorization + + +Authentication schemes defined for the API: + +### Bearer + +- **Type**: API key +- **API key parameter name**: Authorization +- **Location**: HTTP header + + +## Author + + + + diff --git a/koyeb/sandbox/exec.py b/koyeb/sandbox/exec.py index 17457c56..6328f5a9 100644 --- a/koyeb/sandbox/exec.py +++ b/koyeb/sandbox/exec.py @@ -7,14 +7,13 @@ from __future__ import annotations -import asyncio import time from dataclasses import dataclass from enum import Enum -from typing import TYPE_CHECKING, Any, AsyncIterator, Callable, Dict, List, Optional +from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional -from .executor_client import SandboxClient -from .utils import SandboxError, create_sandbox_client +from .executor_client import AsyncSandboxClient, SandboxClient +from .utils import SandboxError if TYPE_CHECKING: from .sandbox import Sandbox @@ -205,9 +204,14 @@ class AsyncSandboxExecutor(SandboxExecutor): Async command execution interface for Koyeb Sandbox instances. Bound to a specific sandbox instance. - Inherits from SandboxExecutor and provides async command execution. + Inherits from SandboxExecutor and provides async command execution + using native async I/O via AsyncSandboxClient. """ + def _get_async_client(self) -> AsyncSandboxClient: + """Get AsyncSandboxClient instance from the sandbox.""" + return self.sandbox._get_async_client() + async def __call__( self, command: str, @@ -248,63 +252,16 @@ async def __call__( # Use streaming if callbacks are provided if on_stdout or on_stderr: - stdout_buffer = [] - stderr_buffer = [] + stdout_buffer: List[str] = [] + stderr_buffer: List[str] = [] exit_code = 0 try: - client = self._get_client() + client = self._get_async_client() - # Create async generator for streaming events - async def stream_events() -> AsyncIterator[Dict[str, Any]]: - """Async generator that yields events as they arrive.""" - import queue - from threading import Thread - - event_queue: queue.Queue[Dict[str, Any] | None] = queue.Queue() - done = False - - def sync_stream(): - """Synchronous generator for streaming.""" - nonlocal done - try: - for event in client.run_streaming( - cmd=command, cwd=cwd, env=env, timeout=float(timeout) - ): - event_queue.put(event) - event_queue.put(None) # Sentinel - except Exception as e: - event_queue.put({"error": str(e)}) - event_queue.put(None) - finally: - done = True - - # Start streaming in a thread - thread = Thread(target=sync_stream, daemon=True) - thread.start() - - # Yield events as they arrive - while True: - try: - # Use get_nowait to avoid blocking in executor - event = event_queue.get_nowait() - if event is None: - # Sentinel received, streaming is complete - break - yield event - except queue.Empty: - # Check if thread is done and queue is empty - if done and event_queue.empty(): - break - # Wait a bit before checking again - await asyncio.sleep(0.01) - continue - - # Wait for thread to complete (should be done by now) - thread.join(timeout=1.0) - - # Process events as they arrive - async for event in stream_events(): + async for event in client.run_streaming( + cmd=command, cwd=cwd, env=env, timeout=float(timeout) + ): if "stream" in event: stream_type = event["stream"] data = event["data"] @@ -320,7 +277,6 @@ def sync_stream(): 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"], @@ -352,16 +308,11 @@ def sync_stream(): command=command, ) - # Run in executor to avoid blocking - loop = asyncio.get_running_loop() - + # Use native async for non-streaming execution try: - client = self._get_client() - response = await loop.run_in_executor( - None, - lambda: client.run( - cmd=command, cwd=cwd, env=env, timeout=float(timeout) - ), + client = self._get_async_client() + response = await client.run( + cmd=command, cwd=cwd, env=env, timeout=float(timeout) ) stdout = response.get("stdout", "") diff --git a/koyeb/sandbox/executor_client.py b/koyeb/sandbox/executor_client.py index 5525e39c..afa38c01 100644 --- a/koyeb/sandbox/executor_client.py +++ b/koyeb/sandbox/executor_client.py @@ -1,16 +1,17 @@ """ Sandbox Executor API Client -A simple Python client for interacting with the Sandbox Executor API. +Sync and async Python clients for interacting with the Sandbox Executor API. """ -from dataclasses import dataclass +import asyncio import json import logging import time -from typing import Any, Dict, Iterator, Optional +from dataclasses import dataclass +from typing import Any, AsyncIterator, Dict, Iterator, Optional -import requests +import httpx from .utils import DEFAULT_HTTP_TIMEOUT @@ -35,6 +36,28 @@ def validate(self) -> None: raise ValueError("Sandbox secret not available") +def _build_headers(conn_info: ConnectionInfo) -> Dict[str, str]: + """Build common headers for sandbox client.""" + headers = { + "Authorization": f"Bearer {conn_info.secret}", + "Content-Type": "application/json", + } + if conn_info.routing_key: + headers["X-Routing-Key"] = conn_info.routing_key + return headers + + +def _parse_sse_line(line: str) -> Optional[Dict[str, Any]]: + """Parse a Server-Sent Events line into an event dict.""" + if not line or not line.startswith("data:"): + return None + data = line[5:].strip() + try: + return json.loads(data) + except json.JSONDecodeError: + return {"error": f"Failed to parse event data: {data}"} + + class SandboxClient: """Client for the Sandbox Executor API.""" @@ -51,21 +74,14 @@ def __init__( self.base_url = conn_info.public_url.rstrip("/") self.secret = conn_info.secret self.timeout = timeout - self.headers = { - "Authorization": f"Bearer {conn_info.secret}", - "Content-Type": "application/json", - } - if conn_info.routing_key: - self.headers["X-Routing-Key"] = conn_info.routing_key - # Use session for connection pooling - self._session = requests.Session() - self._session.headers.update(self.headers) + self.headers = _build_headers(conn_info) + self._client = httpx.Client(headers=self.headers) self._closed = False def close(self) -> None: - """Close the HTTP session and release resources.""" - if not self._closed and hasattr(self, "_session"): - self._session.close() + """Close the HTTP client and release resources.""" + if not self._closed and hasattr(self, "_client"): + self._client.close() self._closed = True def __enter__(self): @@ -73,11 +89,11 @@ def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb) -> None: - """Context manager exit - automatically closes the session.""" + """Context manager exit - automatically closes the client.""" self.close() def __del__(self): - """Clean up session on deletion (fallback, not guaranteed to run).""" + """Clean up client on deletion (fallback, not guaranteed to run).""" if not self._closed: self.close() @@ -88,7 +104,7 @@ def _request_with_retry( max_retries: int = 3, initial_backoff: float = 1.0, **kwargs, - ) -> requests.Response: + ) -> httpx.Response: """ Make an HTTP request with retry logic for 503 errors. @@ -97,13 +113,13 @@ def _request_with_retry( url: The URL to request max_retries: Maximum number of retry attempts initial_backoff: Initial backoff time in seconds (doubles each retry) - **kwargs: Additional arguments to pass to requests + **kwargs: Additional arguments to pass to httpx Returns: Response object Raises: - requests.HTTPError: If the request fails after all retries + httpx.HTTPStatusError: If the request fails after all retries """ backoff = initial_backoff last_exception = None @@ -114,8 +130,7 @@ def _request_with_retry( for attempt in range(max_retries + 1): try: - # Use session for connection pooling - response = self._session.request(method, url, **kwargs) + response = self._client.request(method, url, **kwargs) # If we get a 503, retry with backoff if response.status_code == 503 and attempt < max_retries: @@ -129,10 +144,9 @@ def _request_with_retry( response.raise_for_status() return response - except requests.HTTPError as e: + except httpx.HTTPStatusError as e: if ( - e.response - and e.response.status_code == 503 + e.response.status_code == 503 and attempt < max_retries ): logger.debug( @@ -143,10 +157,10 @@ def _request_with_retry( last_exception = e continue raise - except requests.Timeout as e: + except httpx.TimeoutException as e: logger.warning(f"Request timeout after {self.timeout}s: {e}") raise - except requests.RequestException as e: + except httpx.RequestError as e: logger.warning(f"Request failed: {e}") raise @@ -165,10 +179,10 @@ def health(self) -> Dict[str, str]: Dict with status information Raises: - requests.HTTPError: If the health check fails - requests.Timeout: If the health check times out + httpx.HTTPStatusError: If the health check fails + httpx.TimeoutException: If the health check times out """ - response = self._session.get( + response = self._client.get( f"{self.base_url}/health", timeout=5 ) response.raise_for_status() @@ -193,7 +207,7 @@ def run( Returns: Dict containing stdout, stderr, error (if any), and exit code """ - payload = {"cmd": cmd} + payload: Dict[str, Any] = {"cmd": cmd} if cwd is not None: payload["cwd"] = cwd if env is not None: @@ -204,7 +218,6 @@ def run( "POST", f"{self.base_url}/run", json=payload, - headers=self.headers, timeout=request_timeout, ) return response.json() @@ -249,34 +262,23 @@ def run_streaming( ... elif "code" in event: ... print(f"Exit code: {event['code']}") """ - payload = {"cmd": cmd} + payload: Dict[str, Any] = {"cmd": cmd} if cwd is not None: payload["cwd"] = cwd if env is not None: payload["env"] = env - response = self._session.post( + with self._client.stream( + "POST", f"{self.base_url}/run_streaming", json=payload, - headers=self.headers, - stream=True, timeout=timeout if timeout is not None else self.timeout, - ) - response.raise_for_status() - - # Parse Server-Sent Events stream - for line in response.iter_lines(decode_unicode=True): - if not line: - continue - - if line.startswith("data:"): - data = line[5:].strip() - try: - event_data = json.loads(data) - yield event_data - except json.JSONDecodeError: - # If we can't parse the JSON, yield the raw data - yield {"error": f"Failed to parse event data: {data}"} + ) as response: + response.raise_for_status() + for line in response.iter_lines(): + event = _parse_sse_line(line) + if event is not None: + yield event def write_file(self, path: str, content: str) -> Dict[str, Any]: """ @@ -291,7 +293,7 @@ def write_file(self, path: str, content: str) -> Dict[str, Any]: """ payload = {"path": path, "content": content} response = self._request_with_retry( - "POST", f"{self.base_url}/write_file", json=payload, headers=self.headers + "POST", f"{self.base_url}/write_file", json=payload ) return response.json() @@ -307,7 +309,7 @@ def read_file(self, path: str) -> Dict[str, Any]: """ payload = {"path": path} response = self._request_with_retry( - "POST", f"{self.base_url}/read_file", json=payload, headers=self.headers + "POST", f"{self.base_url}/read_file", json=payload ) return response.json() @@ -323,7 +325,7 @@ def delete_file(self, path: str) -> Dict[str, Any]: """ payload = {"path": path} response = self._request_with_retry( - "POST", f"{self.base_url}/delete_file", json=payload, headers=self.headers + "POST", f"{self.base_url}/delete_file", json=payload ) return response.json() @@ -339,7 +341,7 @@ def make_dir(self, path: str) -> Dict[str, Any]: """ payload = {"path": path} response = self._request_with_retry( - "POST", f"{self.base_url}/make_dir", json=payload, headers=self.headers + "POST", f"{self.base_url}/make_dir", json=payload ) return response.json() @@ -355,7 +357,7 @@ def delete_dir(self, path: str) -> Dict[str, Any]: """ payload = {"path": path} response = self._request_with_retry( - "POST", f"{self.base_url}/delete_dir", json=payload, headers=self.headers + "POST", f"{self.base_url}/delete_dir", json=payload ) return response.json() @@ -371,7 +373,7 @@ def list_dir(self, path: str) -> Dict[str, Any]: """ payload = {"path": path} response = self._request_with_retry( - "POST", f"{self.base_url}/list_dir", json=payload, headers=self.headers + "POST", f"{self.base_url}/list_dir", json=payload ) return response.json() @@ -395,7 +397,7 @@ def bind_port(self, port: int) -> Dict[str, Any]: """ payload = {"port": str(port)} response = self._request_with_retry( - "POST", f"{self.base_url}/bind_port", json=payload, headers=self.headers + "POST", f"{self.base_url}/bind_port", json=payload ) return response.json() @@ -416,11 +418,11 @@ def unbind_port(self, port: Optional[int] = None) -> Dict[str, Any]: - If a port is specified and doesn't match the currently bound port, the request will fail - After unbinding, the TCP proxy will no longer forward traffic """ - payload = {} + payload: Dict[str, Any] = {} if port is not None: payload["port"] = str(port) response = self._request_with_retry( - "POST", f"{self.base_url}/unbind_port", json=payload, headers=self.headers + "POST", f"{self.base_url}/unbind_port", json=payload ) return response.json() @@ -449,14 +451,13 @@ def start_process( >>> process_id = result["id"] >>> print(f"Started process: {process_id}") """ - payload = {"cmd": cmd} + payload: Dict[str, Any] = {"cmd": cmd} if cwd is not None: payload["cwd"] = cwd if env is not None: payload["env"] = env - response = self._request_with_retry( - "POST", f"{self.base_url}/start_process", json=payload, headers=self.headers + "POST", f"{self.base_url}/start_process", json=payload ) return response.json() @@ -482,7 +483,7 @@ def kill_process(self, process_id: str) -> Dict[str, Any]: """ payload = {"id": process_id} response = self._request_with_retry( - "POST", f"{self.base_url}/kill_process", json=payload, headers=self.headers + "POST", f"{self.base_url}/kill_process", json=payload ) return response.json() @@ -512,6 +513,461 @@ def list_processes(self) -> Dict[str, Any]: ... print(f"{process['id']}: {process['command']} - {process['status']}") """ response = self._request_with_retry( - "GET", f"{self.base_url}/list_processes", headers=self.headers + "GET", f"{self.base_url}/list_processes" + ) + return response.json() + + +class AsyncSandboxClient: + """Async client for the Sandbox Executor API using httpx.""" + + def __init__( + self, conn_info: ConnectionInfo, timeout: float = DEFAULT_HTTP_TIMEOUT + ): + """ + Initialize the Async Sandbox Client. + + Args: + conn_info: The parameters needed to connect to the sandbox + timeout: Request timeout in seconds (default: 30) + """ + self.base_url = conn_info.public_url.rstrip("/") + self.secret = conn_info.secret + self.timeout = timeout + self.headers = _build_headers(conn_info) + self._client = httpx.AsyncClient(headers=self.headers) + self._closed = False + + async def close(self) -> None: + """Close the HTTP client and release resources.""" + if not self._closed and hasattr(self, "_client"): + await self._client.aclose() + self._closed = True + + async def __aenter__(self): + """Async context manager entry - returns self.""" + return self + + async def __aexit__(self, exc_type, exc_val, exc_tb) -> None: + """Async context manager exit - automatically closes the client.""" + await self.close() + + async def _request_with_retry( + self, + method: str, + url: str, + max_retries: int = 3, + initial_backoff: float = 1.0, + **kwargs, + ) -> httpx.Response: + """ + Make an async HTTP request with retry logic for 503 errors. + + Args: + method: HTTP method (e.g., 'GET', 'POST') + url: The URL to request + max_retries: Maximum number of retry attempts + initial_backoff: Initial backoff time in seconds (doubles each retry) + **kwargs: Additional arguments to pass to httpx + + Returns: + Response object + + Raises: + httpx.HTTPStatusError: If the request fails after all retries + """ + backoff = initial_backoff + last_exception = None + + # Set default timeout if not provided + if "timeout" not in kwargs: + kwargs["timeout"] = self.timeout + + for attempt in range(max_retries + 1): + try: + response = await self._client.request(method, url, **kwargs) + + # If we get a 503, retry with backoff + if response.status_code == 503 and attempt < max_retries: + logger.debug( + f"Received 503 error, retrying... (attempt {attempt + 1}/{max_retries + 1})" + ) + await asyncio.sleep(backoff) + backoff *= 2 # Exponential backoff + continue + + response.raise_for_status() + return response + + except httpx.HTTPStatusError as e: + if ( + e.response.status_code == 503 + and attempt < max_retries + ): + logger.debug( + f"Received 503 error, retrying... (attempt {attempt + 1}/{max_retries + 1})" + ) + await asyncio.sleep(backoff) + backoff *= 2 + last_exception = e + continue + raise + except httpx.TimeoutException as e: + logger.warning(f"Request timeout after {self.timeout}s: {e}") + raise + except httpx.RequestError as e: + logger.warning(f"Request failed: {e}") + raise + + # If we exhausted all retries, raise the last exception + if last_exception: + raise last_exception + + async def health(self) -> Dict[str, str]: + """ + Check the health status of the server. + + Uses a short timeout and no retries since callers (wait_ready) + already handle polling with backoff. + + Returns: + Dict with status information + + Raises: + httpx.HTTPStatusError: If the health check fails + httpx.TimeoutException: If the health check times out + """ + response = await self._client.get( + f"{self.base_url}/health", timeout=5 + ) + response.raise_for_status() + return response.json() + + async def run( + self, + cmd: str, + cwd: Optional[str] = None, + env: Optional[Dict[str, str]] = None, + timeout: Optional[float] = None, + ) -> Dict[str, Any]: + """ + Execute a shell command in the sandbox. + + Args: + cmd: The shell command to execute + cwd: Optional working directory for command execution + env: Optional environment variables to set/override + timeout: Optional timeout in seconds for the request + + Returns: + Dict containing stdout, stderr, error (if any), and exit code + """ + payload: Dict[str, Any] = {"cmd": cmd} + if cwd is not None: + payload["cwd"] = cwd + if env is not None: + payload["env"] = env + + request_timeout = timeout if timeout is not None else self.timeout + response = await self._request_with_retry( + "POST", + f"{self.base_url}/run", + json=payload, + timeout=request_timeout, + ) + return response.json() + + async def run_streaming( + self, + cmd: str, + cwd: Optional[str] = None, + env: Optional[Dict[str, str]] = None, + timeout: Optional[float] = None, + ) -> AsyncIterator[Dict[str, Any]]: + """ + Execute a shell command in the sandbox and stream the output in real-time. + + This method uses Server-Sent Events (SSE) to stream command output line-by-line + as it's produced. Use this for long-running commands where you want real-time + output. For simple commands where buffered output is acceptable, use run() instead. + + Args: + cmd: The shell command to execute + cwd: Optional working directory for command execution + env: Optional environment variables to set/override + timeout: Optional timeout in seconds for the streaming request + + Yields: + Dict events with the following types: + + - output events (as command produces output): + {"stream": "stdout"|"stderr", "data": "line of output"} + + - complete event (when command finishes): + {"code": , "error": false} + + - error event (if command fails to start): + {"error": "error message"} + + Example: + >>> client = AsyncSandboxClient("http://localhost:8080", "secret") + >>> async for event in client.run_streaming("echo 'Hello'; sleep 1; echo 'World'"): + ... if "stream" in event: + ... print(f"{event['stream']}: {event['data']}") + ... elif "code" in event: + ... print(f"Exit code: {event['code']}") + """ + payload: Dict[str, Any] = {"cmd": cmd} + if cwd is not None: + payload["cwd"] = cwd + if env is not None: + payload["env"] = env + + async with self._client.stream( + "POST", + f"{self.base_url}/run_streaming", + json=payload, + timeout=timeout if timeout is not None else self.timeout, + ) as response: + response.raise_for_status() + async for line in response.aiter_lines(): + event = _parse_sse_line(line) + if event is not None: + yield event + + async def write_file(self, path: str, content: str) -> Dict[str, Any]: + """ + Write content to a file. + + Args: + path: The file path to write to + content: The content to write + + Returns: + Dict with success status and error if any + """ + payload = {"path": path, "content": content} + response = await self._request_with_retry( + "POST", f"{self.base_url}/write_file", json=payload + ) + return response.json() + + async def read_file(self, path: str) -> Dict[str, Any]: + """ + Read content from a file. + + Args: + path: The file path to read from + + Returns: + Dict with file content and error if any + """ + payload = {"path": path} + response = await self._request_with_retry( + "POST", f"{self.base_url}/read_file", json=payload + ) + return response.json() + + async def delete_file(self, path: str) -> Dict[str, Any]: + """ + Delete a file. + + Args: + path: The file path to delete + + Returns: + Dict with success status and error if any + """ + payload = {"path": path} + response = await self._request_with_retry( + "POST", f"{self.base_url}/delete_file", json=payload + ) + return response.json() + + async def make_dir(self, path: str) -> Dict[str, Any]: + """ + Create a directory (including parent directories). + + Args: + path: The directory path to create + + Returns: + Dict with success status and error if any + """ + payload = {"path": path} + response = await self._request_with_retry( + "POST", f"{self.base_url}/make_dir", json=payload + ) + return response.json() + + async def delete_dir(self, path: str) -> Dict[str, Any]: + """ + Recursively delete a directory and all its contents. + + Args: + path: The directory path to delete + + Returns: + Dict with success status and error if any + """ + payload = {"path": path} + response = await self._request_with_retry( + "POST", f"{self.base_url}/delete_dir", json=payload + ) + return response.json() + + async def list_dir(self, path: str) -> Dict[str, Any]: + """ + List the contents of a directory. + + Args: + path: The directory path to list + + Returns: + Dict with entries list and error if any + """ + payload = {"path": path} + response = await self._request_with_retry( + "POST", f"{self.base_url}/list_dir", json=payload + ) + return response.json() + + async def bind_port(self, port: int) -> Dict[str, Any]: + """ + Bind a port to the TCP proxy for external access. + + Configures the TCP proxy to forward traffic to the specified port inside the sandbox. + This allows you to expose services running inside the sandbox to external connections. + + Args: + port: The port number to bind to (must be a valid port number) + + Returns: + Dict with success status, message, and port information + + Notes: + - Only one port can be bound at a time + - Binding a new port will override the previous binding + - The port must be available and accessible within the sandbox environment + """ + payload = {"port": str(port)} + response = await self._request_with_retry( + "POST", f"{self.base_url}/bind_port", json=payload + ) + return response.json() + + async def unbind_port(self, port: Optional[int] = None) -> Dict[str, Any]: + """ + Unbind a port from the TCP proxy. + + Removes the TCP proxy port binding, stopping traffic forwarding to the previously bound port. + + Args: + port: Optional port number to unbind. If provided, it must match the currently bound port. + If not provided, any existing binding will be removed. + + Returns: + Dict with success status and message + + Notes: + - If a port is specified and doesn't match the currently bound port, the request will fail + - After unbinding, the TCP proxy will no longer forward traffic + """ + payload: Dict[str, Any] = {} + if port is not None: + payload["port"] = str(port) + response = await self._request_with_retry( + "POST", f"{self.base_url}/unbind_port", json=payload + ) + return response.json() + + async def start_process( + self, cmd: str, cwd: Optional[str] = None, env: Optional[Dict[str, str]] = None + ) -> Dict[str, Any]: + """ + Start a background process in the sandbox. + + Starts a long-running background process that continues executing even after + the API call completes. Use this for servers, workers, or other long-running tasks. + + Args: + cmd: The shell command to execute as a background process + cwd: Optional working directory for the process + env: Optional environment variables to set/override for the process + + Returns: + Dict with process id and success status: + - id: The unique process ID (UUID string) + - success: True if the process was started successfully + + Example: + >>> client = AsyncSandboxClient("http://localhost:8080", "secret") + >>> result = await client.start_process("python -u server.py") + >>> process_id = result["id"] + >>> print(f"Started process: {process_id}") + """ + payload: Dict[str, Any] = {"cmd": cmd} + if cwd is not None: + payload["cwd"] = cwd + if env is not None: + payload["env"] = env + response = await self._request_with_retry( + "POST", f"{self.base_url}/start_process", json=payload + ) + return response.json() + + async def kill_process(self, process_id: str) -> Dict[str, Any]: + """ + Kill a background process by its ID. + + Terminates a running background process. This sends a SIGTERM signal to the process, + allowing it to clean up gracefully. If the process doesn't terminate within a timeout, + it will be forcefully killed with SIGKILL. + + Args: + process_id: The unique process ID (UUID string) to kill + + Returns: + Dict with success status and error message if any + + Example: + >>> client = AsyncSandboxClient("http://localhost:8080", "secret") + >>> result = await client.kill_process("550e8400-e29b-41d4-a716-446655440000") + >>> if result.get("success"): + ... print("Process killed successfully") + """ + payload = {"id": process_id} + response = await self._request_with_retry( + "POST", f"{self.base_url}/kill_process", json=payload + ) + return response.json() + + async def list_processes(self) -> Dict[str, Any]: + """ + List all background processes. + + Returns information about all currently running and recently completed background + processes. This includes both active processes and processes that have completed + (which remain in memory until server restart). + + Returns: + Dict with a list of processes: + - processes: List of process objects, each containing: + - id: Process ID (UUID string) + - command: The command that was executed + - status: Process status (e.g., "running", "completed") + - pid: OS process ID (if running) + - exit_code: Exit code (if completed) + - started_at: ISO 8601 timestamp when process started + - completed_at: ISO 8601 timestamp when process completed (if applicable) + + Example: + >>> client = AsyncSandboxClient("http://localhost:8080", "secret") + >>> result = await client.list_processes() + >>> for process in result.get("processes", []): + ... print(f"{process['id']}: {process['command']} - {process['status']}") + """ + response = await self._request_with_retry( + "GET", f"{self.base_url}/list_processes" ) return response.json() diff --git a/koyeb/sandbox/filesystem.py b/koyeb/sandbox/filesystem.py index 1029789e..63eaf66f 100644 --- a/koyeb/sandbox/filesystem.py +++ b/koyeb/sandbox/filesystem.py @@ -11,18 +11,15 @@ from dataclasses import dataclass from typing import TYPE_CHECKING, Dict, List, Union -from .executor_client import SandboxClient +from .executor_client import AsyncSandboxClient, SandboxClient from .utils import ( SandboxError, - async_wrapper, check_error_message, - create_sandbox_client, escape_shell_arg, - run_sync_in_executor, ) if TYPE_CHECKING: - from .exec import SandboxExecutor + from .exec import AsyncSandboxExecutor, SandboxExecutor from .sandbox import Sandbox @@ -427,24 +424,21 @@ def open( class AsyncSandboxFilesystem(SandboxFilesystem): """ Async filesystem operations for Koyeb Sandbox instances. - Inherits from SandboxFilesystem and provides async methods. + Uses native async I/O via AsyncSandboxClient. """ - async def _run_sync(self, method, *args, **kwargs): - """ - Helper method to run a synchronous method in an executor. + def _get_async_client(self) -> AsyncSandboxClient: + """Get AsyncSandboxClient instance from the sandbox.""" + return self.sandbox._get_async_client() - Args: - method: The sync method to run (from super()) - *args: Positional arguments for the method - **kwargs: Keyword arguments for the method + def _get_async_executor(self) -> "AsyncSandboxExecutor": + """Get or create AsyncSandboxExecutor instance.""" + if self._executor is None: + from .exec import AsyncSandboxExecutor - Returns: - Result of the synchronous method call - """ - return await run_sync_in_executor(method, *args, **kwargs) + self._executor = AsyncSandboxExecutor(self.sandbox) + return self._executor - @async_wrapper("write_file") async def write_file( self, path: str, content: Union[str, bytes], encoding: str = "utf-8" ) -> None: @@ -456,9 +450,28 @@ async def write_file( content: Content to write (string or bytes) encoding: File encoding (default: "utf-8"). Use "base64" for binary data. """ - pass + import base64 + + client = self._get_async_client() + + if isinstance(content, bytes): + if encoding == "base64": + content_str = base64.b64encode(content).decode("ascii") + else: + content_str = content.decode(encoding) + else: + content_str = content + + try: + response = await client.write_file(path, content_str) + if response.get("error"): + error_msg = response.get("error", "Unknown error") + raise SandboxFilesystemError(f"Failed to write file: {error_msg}") + except Exception as e: + if isinstance(e, SandboxFilesystemError): + raise + raise SandboxFilesystemError(f"Failed to write file: {str(e)}") from e - @async_wrapper("read_file") async def read_file(self, path: str, encoding: str = "utf-8") -> FileInfo: """ Read a file from the sandbox asynchronously. @@ -471,9 +484,31 @@ async def read_file(self, path: str, encoding: str = "utf-8") -> FileInfo: Returns: FileInfo: Object with content (str or bytes if base64) and encoding """ - pass + import base64 as base64_module + + client = self._get_async_client() + + try: + response = await client.read_file(path) + if response.get("error"): + error_msg = response.get("error", "Unknown error") + if check_error_message(error_msg, "NO_SUCH_FILE"): + raise SandboxFileNotFoundError(f"File not found: {path}") + raise SandboxFilesystemError(f"Failed to read file: {error_msg}") + content_str = response.get("content", "") + if encoding == "base64": + content: Union[str, bytes] = base64_module.b64decode(content_str) + else: + content = content_str + return FileInfo(content=content, encoding=encoding) + except (SandboxFileNotFoundError, SandboxFilesystemError): + raise + except Exception as e: + error_msg = str(e) + if check_error_message(error_msg, "NO_SUCH_FILE"): + raise SandboxFileNotFoundError(f"File not found: {path}") from e + raise SandboxFilesystemError(f"Failed to read file: {error_msg}") from e - @async_wrapper("mkdir") async def mkdir(self, path: str) -> None: """ Create a directory asynchronously. @@ -483,9 +518,25 @@ async def mkdir(self, path: str) -> None: Args: path: Absolute path to the directory """ - pass + client = self._get_async_client() + + try: + response = await client.make_dir(path) + if response.get("error"): + error_msg = response.get("error", "Unknown error") + if check_error_message(error_msg, "FILE_EXISTS"): + raise SandboxFileExistsError(f"Directory already exists: {path}") + raise SandboxFilesystemError(f"Failed to create directory: {error_msg}") + except (SandboxFileExistsError, SandboxFilesystemError): + raise + except Exception as e: + error_msg = str(e) + if check_error_message(error_msg, "FILE_EXISTS"): + raise SandboxFileExistsError(f"Directory already exists: {path}") from e + raise SandboxFilesystemError( + f"Failed to create directory: {error_msg}" + ) from e - @async_wrapper("list_dir") async def list_dir(self, path: str = ".") -> List[str]: """ List contents of a directory asynchronously. @@ -496,9 +547,27 @@ async def list_dir(self, path: str = ".") -> List[str]: Returns: List[str]: Names of files and directories within the specified path. """ - pass + client = self._get_async_client() + + try: + response = await client.list_dir(path) + if response.get("error"): + error_msg = response.get("error", "Unknown error") + if check_error_message(error_msg, "NO_SUCH_FILE"): + raise SandboxFileNotFoundError(f"Directory not found: {path}") + raise SandboxFilesystemError(f"Failed to list directory: {error_msg}") + entries = response.get("entries", []) + return entries + except (SandboxFileNotFoundError, SandboxFilesystemError): + raise + except Exception as e: + error_msg = str(e) + if check_error_message(error_msg, "NO_SUCH_FILE"): + raise SandboxFileNotFoundError(f"Directory not found: {path}") from e + raise SandboxFilesystemError( + f"Failed to list directory: {error_msg}" + ) from e - @async_wrapper("delete_file") async def delete_file(self, path: str) -> None: """ Delete a file asynchronously. @@ -506,9 +575,23 @@ async def delete_file(self, path: str) -> None: Args: path: Absolute path to the file """ - pass + client = self._get_async_client() + + try: + response = await client.delete_file(path) + if response.get("error"): + error_msg = response.get("error", "Unknown error") + if check_error_message(error_msg, "NO_SUCH_FILE"): + raise SandboxFileNotFoundError(f"File not found: {path}") + raise SandboxFilesystemError(f"Failed to delete file: {error_msg}") + except (SandboxFileNotFoundError, SandboxFilesystemError): + raise + except Exception as e: + error_msg = str(e) + if check_error_message(error_msg, "NO_SUCH_FILE"): + raise SandboxFileNotFoundError(f"File not found: {path}") from e + raise SandboxFilesystemError(f"Failed to delete file: {error_msg}") from e - @async_wrapper("delete_dir") async def delete_dir(self, path: str) -> None: """ Delete a directory asynchronously. @@ -516,9 +599,29 @@ async def delete_dir(self, path: str) -> None: Args: path: Absolute path to the directory """ - pass + client = self._get_async_client() + + try: + response = await client.delete_dir(path) + if response.get("error"): + error_msg = response.get("error", "Unknown error") + if check_error_message(error_msg, "NO_SUCH_FILE"): + raise SandboxFileNotFoundError(f"Directory not found: {path}") + if check_error_message(error_msg, "DIR_NOT_EMPTY"): + raise SandboxFilesystemError(f"Directory not empty: {path}") + raise SandboxFilesystemError(f"Failed to delete directory: {error_msg}") + except (SandboxFileNotFoundError, SandboxFilesystemError): + raise + except Exception as e: + error_msg = str(e) + if check_error_message(error_msg, "NO_SUCH_FILE"): + raise SandboxFileNotFoundError(f"Directory not found: {path}") from e + if check_error_message(error_msg, "DIR_NOT_EMPTY"): + raise SandboxFilesystemError(f"Directory not empty: {path}") from e + raise SandboxFilesystemError( + f"Failed to delete directory: {error_msg}" + ) from e - @async_wrapper("rename_file") async def rename_file(self, old_path: str, new_path: str) -> None: """ Rename a file asynchronously. @@ -527,9 +630,16 @@ async def rename_file(self, old_path: str, new_path: str) -> None: old_path: Current file path new_path: New file path """ - pass + executor = self._get_async_executor() + old_path_escaped = escape_shell_arg(old_path) + new_path_escaped = escape_shell_arg(new_path) + result = await executor(f"mv {old_path_escaped} {new_path_escaped}") + + if not result.success: + if check_error_message(result.stderr, "NO_SUCH_FILE"): + raise SandboxFileNotFoundError(f"File not found: {old_path}") + raise SandboxFilesystemError(f"Failed to rename file: {result.stderr}") - @async_wrapper("move_file") async def move_file(self, source_path: str, destination_path: str) -> None: """ Move a file to a different directory asynchronously. @@ -538,7 +648,15 @@ async def move_file(self, source_path: str, destination_path: str) -> None: source_path: Current file path destination_path: Destination path """ - pass + executor = self._get_async_executor() + source_path_escaped = escape_shell_arg(source_path) + destination_path_escaped = escape_shell_arg(destination_path) + result = await executor(f"mv {source_path_escaped} {destination_path_escaped}") + + if not result.success: + if check_error_message(result.stderr, "NO_SUCH_FILE"): + raise SandboxFileNotFoundError(f"File not found: {source_path}") + raise SandboxFilesystemError(f"Failed to move file: {result.stderr}") async def write_files(self, files: List[Dict[str, str]]) -> None: """ @@ -553,22 +671,27 @@ async def write_files(self, files: List[Dict[str, str]]) -> None: encoding = file_info.get("encoding", "utf-8") await self.write_file(path, content, encoding) - @async_wrapper("exists") async def exists(self, path: str) -> bool: """Check if file/directory exists asynchronously""" - pass + executor = self._get_async_executor() + path_escaped = escape_shell_arg(path) + result = await executor(f"test -e {path_escaped}") + return result.success - @async_wrapper("is_file") async def is_file(self, path: str) -> bool: """Check if path is a file asynchronously""" - pass + executor = self._get_async_executor() + path_escaped = escape_shell_arg(path) + result = await executor(f"test -f {path_escaped}") + return result.success - @async_wrapper("is_dir") async def is_dir(self, path: str) -> bool: """Check if path is a directory asynchronously""" - pass + executor = self._get_async_executor() + path_escaped = escape_shell_arg(path) + result = await executor(f"test -d {path_escaped}") + return result.success - @async_wrapper("upload_file") async def upload_file( self, local_path: str, remote_path: str, encoding: str = "utf-8" ) -> None: @@ -579,10 +702,19 @@ async def upload_file( local_path: Path to the local file remote_path: Destination path in the sandbox encoding: File encoding (default: "utf-8"). Use "base64" for binary files. + + Raises: + SandboxFileNotFoundError: If local file doesn't exist + UnicodeDecodeError: If file cannot be decoded with specified encoding """ - pass + if not os.path.exists(local_path): + raise SandboxFileNotFoundError(f"Local file not found: {local_path}") + + with open(local_path, "rb") as f: + content_bytes = f.read() + + await self.write_file(remote_path, content_bytes, encoding=encoding) - @async_wrapper("download_file") async def download_file( self, remote_path: str, local_path: str, encoding: str = "utf-8" ) -> None: @@ -593,8 +725,19 @@ async def download_file( remote_path: Path to the file in the sandbox local_path: Destination path on the local filesystem encoding: File encoding (default: "utf-8"). Use "base64" for binary files. + + Raises: + SandboxFileNotFoundError: If remote file doesn't exist """ - pass + file_info = await self.read_file(remote_path, encoding=encoding) + + if isinstance(file_info.content, bytes): + content_bytes = file_info.content + else: + content_bytes = file_info.content.encode(encoding) + + with open(local_path, "wb") as f: + f.write(content_bytes) async def ls(self, path: str = ".") -> List[str]: """ @@ -608,7 +751,6 @@ async def ls(self, path: str = ".") -> List[str]: """ return await self.list_dir(path) - @async_wrapper("rm") async def rm(self, path: str, recursive: bool = False) -> None: """ Remove file or directory asynchronously. @@ -617,7 +759,18 @@ async def rm(self, path: str, recursive: bool = False) -> None: path: Path to remove recursive: Remove recursively """ - pass + executor = self._get_async_executor() + path_escaped = escape_shell_arg(path) + + if recursive: + result = await executor(f"rm -rf {path_escaped}") + else: + result = await executor(f"rm {path_escaped}") + + if not result.success: + if check_error_message(result.stderr, "NO_SUCH_FILE"): + raise SandboxFileNotFoundError(f"File not found: {path}") + raise SandboxFilesystemError(f"Failed to remove: {result.stderr}") def open( self, path: str, mode: str = "r", encoding: str = "utf-8" diff --git a/koyeb/sandbox/sandbox.py b/koyeb/sandbox/sandbox.py index 851c8885..7c67bbbd 100644 --- a/koyeb/sandbox/sandbox.py +++ b/koyeb/sandbox/sandbox.py @@ -27,7 +27,6 @@ SandboxDeploymentError, SandboxError, SandboxTimeoutError, - async_wrapper, build_config_files, build_env_vars, create_deployment_definition, @@ -36,13 +35,12 @@ create_sandbox_client, get_api_clients, logger, - run_sync_in_executor, validate_port, ) if TYPE_CHECKING: from .exec import AsyncSandboxExecutor, SandboxExecutor - from .executor_client import SandboxClient + from .executor_client import AsyncSandboxClient, SandboxClient from .filesystem import AsyncSandboxFilesystem, SandboxFilesystem @@ -170,9 +168,9 @@ def create( pulling private images. Create the secret via Koyeb dashboard or CLI first. _experimental_enable_light_sleep: If True, uses idle_timeout for light_sleep and sets deep_sleep=3900. If False, uses idle_timeout for deep_sleep (default: False) - delete_after_create: If >0, automatically delete the sandbox if there was no activity + delete_after_delay: If >0, automatically delete the sandbox if there was no activity after this many seconds since creation. - delete_after_sleep: If >0, automatically delete the sandbox if service sleeps due to inactivity + delete_after_inactivity_delay: If >0, automatically delete the sandbox if service sleeps due to inactivity after this many seconds. app_id: If provided, create the sandbox service in an existing app instead of creating a new one. enable_mesh: Enable or disable mesh for this sandbox. Disabled by default @@ -1102,7 +1100,7 @@ def update_lifecycle( except Exception as e: if isinstance(e, SandboxError): raise - raise SandboxError(f"Failed to update life cycle: {str(e)}") + raise SandboxError(f"Failed to update life cycle: {str(e)}") from e def __enter__(self) -> "Sandbox": """Context manager entry - returns self.""" @@ -1122,22 +1120,22 @@ def __exit__(self, exc_type, exc_val, exc_tb) -> None: class AsyncSandbox(Sandbox): """ Async sandbox for running code on Koyeb infrastructure. - Inherits from Sandbox and provides async wrappers for all operations. + Inherits from Sandbox and provides native async implementations. """ - async def _run_sync(self, method, *args, **kwargs): - """ - Helper method to run a synchronous method in an executor. + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._async_client = None - Args: - method: The sync method to run (from super()) - *args: Positional arguments for the method - **kwargs: Keyword arguments for the method + def _get_async_client(self) -> "AsyncSandboxClient": + """Get or create AsyncSandboxClient instance.""" + if self._async_client is None: + from .utils import create_async_sandbox_client - Returns: - Result of the synchronous method call - """ - return await run_sync_in_executor(method, *args, **kwargs) + sandbox_url, routing_key = self._get_sandbox_url() + conn_info = ConnectionInfo(sandbox_url, routing_key, self.sandbox_secret) + self._async_client = create_async_sandbox_client(conn_info) + return self._async_client @classmethod async def get_from_id( @@ -1161,23 +1159,83 @@ async def get_from_id( ValueError: If API token is not provided or id is invalid SandboxError: If sandbox is not found or retrieval fails """ - sync_sandbox = await run_sync_in_executor( - Sandbox.get_from_id, id=id, api_token=api_token, host=host - ) + if api_token is None: + api_token = os.getenv("KOYEB_API_TOKEN") + if not api_token: + raise ValueError( + "API token is required. Set KOYEB_API_TOKEN environment variable or pass api_token parameter" + ) + + if not id: + raise ValueError("id is required") + + from .utils import get_async_api_clients + from koyeb.api_async.exceptions import ApiException as AsyncApiException + from koyeb.api_async.exceptions import NotFoundException as AsyncNotFoundException + + clients = get_async_api_clients(api_token, host) + + try: + service_response = await clients.services.get_service(id=id) + service = service_response.service + except AsyncNotFoundException as e: + raise SandboxError(f"Sandbox not found with id: {id}") from e + except AsyncApiException as e: + raise SandboxError(f"Failed to retrieve sandbox with id: {id}: {e}") from e + + if service is None: + raise SandboxError(f"Sandbox not found with id: {id}") + + sandbox_name = service.name + + deployment_id = service.active_deployment_id or service.latest_deployment_id + sandbox_secret = None + sandbox_metadata = None + + if deployment_id: + try: + deployment_response = await clients.deployments.get_deployment(id=deployment_id) + deployment = deployment_response.deployment + if deployment and deployment.definition and deployment.definition.env: + for env_var in deployment.definition.env: + if env_var.key == "SANDBOX_SECRET": + sandbox_secret = env_var.value + break + if deployment and deployment.metadata: + sandbox_metadata = deployment.metadata + except Exception as e: + logger.debug(f"Could not get deployment {deployment_id}: {e}") - # Convert Sandbox instance to AsyncSandbox instance - async_sandbox = cls( - sandbox_id=sync_sandbox.sandbox_id, - app_id=sync_sandbox.app_id, - service_id=sync_sandbox.service_id, - name=sync_sandbox.name, - api_token=sync_sandbox.api_token, - sandbox_secret=sync_sandbox.sandbox_secret, - host=sync_sandbox.host, + sandbox = cls( + sandbox_id=service.id, + app_id=service.app_id, + service_id=service.id, + name=sandbox_name, + api_token=api_token, + sandbox_secret=sandbox_secret, + host=host, ) - async_sandbox._created_at = sync_sandbox._created_at + if deployment_id: + sandbox._deployment_id = deployment_id + + if sandbox_metadata and sandbox_metadata.sandbox: + sandbox._sandbox_url = ( + f"{sandbox_metadata.sandbox.public_url}/koyeb-sandbox", + sandbox_metadata.sandbox.routing_key, + ) + else: + try: + app_response = await clients.apps.get_app(service.app_id) + app = app_response.app + if hasattr(app, "domains") and app.domains: + sandbox._sandbox_url = ( + f"https://{app.domains[0].name}/koyeb-sandbox", + None, + ) + except Exception: + pass - return async_sandbox + return sandbox @classmethod async def create( @@ -1265,49 +1323,82 @@ async def create( "API token is required. Set KOYEB_API_TOKEN environment variable or pass api_token parameter" ) - loop = asyncio.get_running_loop() - sync_result = await loop.run_in_executor( - None, - lambda: Sandbox._create_sync( - name=name, - image=image, - instance_type=instance_type, - exposed_port_protocol=exposed_port_protocol, - env=env, - config_files=config_files, - region=region, - api_token=api_token, - timeout=timeout, - idle_timeout=idle_timeout, - enable_tcp_proxy=enable_tcp_proxy, - privileged=privileged, - registry_secret=registry_secret, - _experimental_enable_light_sleep=_experimental_enable_light_sleep, - _experimental_deep_sleep_value=_experimental_deep_sleep_value, - delete_after_delay=delete_after_delay, - delete_after_inactivity_delay=delete_after_inactivity_delay, - app_id=app_id, - enable_mesh=enable_mesh, - poll_interval=poll_interval, - entrypoint=entrypoint, - command=command, - args=args, - host=host, - ), + from .utils import get_async_api_clients + from koyeb.api_async.models.create_app import CreateApp as AsyncCreateApp + from koyeb.api_async.models.create_app import AppLifeCycle as AsyncAppLifeCycle + from koyeb.api_async.models.create_service import CreateService as AsyncCreateService + from koyeb.api_async.models.create_service import ServiceLifeCycle as AsyncServiceLifeCycle + + clients = get_async_api_clients(api_token, host) + + # Always create routes + routes = create_koyeb_sandbox_routes() + + # Generate secure sandbox secret + sandbox_secret = secrets.token_urlsafe(32) + + # Add SANDBOX_SECRET to environment variables + if env is None: + env = {} + env["SANDBOX_SECRET"] = sandbox_secret + + # Use provided app_id or create a new app + if app_id is None: + app_name = f"sandbox-app-{name}-{int(time.time())}" + app_response = await clients.apps.create_app( + app=AsyncCreateApp( + name=app_name, life_cycle=AsyncAppLifeCycle(delete_when_empty=True) + ) + ) + app_id = app_response.app.id + + env_vars = build_env_vars(env) + config_file_objects = build_config_files(config_files) + docker_source = create_docker_source( + image, privileged=privileged, image_registry_secret=registry_secret, + entrypoint=entrypoint, command=command, args=args, ) - # Convert Sandbox instance to AsyncSandbox instance + deployment_definition = create_deployment_definition( + name=name, + docker_source=docker_source, + env_vars=env_vars, + instance_type=instance_type, + exposed_port_protocol=exposed_port_protocol, + region=region, + routes=routes, + idle_timeout=idle_timeout, + enable_tcp_proxy=enable_tcp_proxy, + _experimental_enable_light_sleep=_experimental_enable_light_sleep, + _experimental_deep_sleep_value=_experimental_deep_sleep_value, + enable_mesh=enable_mesh, + config_files=config_file_objects if config_file_objects else None, + ) + + service_life_cycle = AsyncServiceLifeCycle( + delete_after_create=delete_after_delay, + delete_after_sleep=delete_after_inactivity_delay, + ) + # Convert sync DeploymentDefinition to dict so the async Pydantic model + # (which expects koyeb.api_async.models.DeploymentDefinition) can coerce it. + create_service = AsyncCreateService( + app_id=app_id, + definition=deployment_definition.to_dict(), + life_cycle=service_life_cycle, + ) + service_response = await clients.services.create_service(service=create_service) + service_id = service_response.service.id + sandbox = cls( - sandbox_id=sync_result.sandbox_id, - app_id=sync_result.app_id, - service_id=sync_result.service_id, - name=sync_result.name, - api_token=sync_result.api_token, - sandbox_secret=sync_result.sandbox_secret, + sandbox_id=name, + app_id=app_id, + service_id=service_id, + name=name, + api_token=api_token, + sandbox_secret=sandbox_secret, poll_interval=poll_interval, - host=sync_result.host, + host=host, ) - sandbox._created_at = sync_result._created_at if wait_ready: is_ready = await sandbox.wait_ready(timeout=timeout) @@ -1320,6 +1411,59 @@ async def create( return sandbox + async def _async_is_deployment_healthy(self) -> bool: + """Check deployment health via async API.""" + try: + from .utils import get_async_api_clients + + deployment_id = self._deployment_id + if not deployment_id: + # Resolve deployment ID via async API + clients = get_async_api_clients(self.api_token, self.host) + service_response = await clients.services.get_service(self.service_id) + service = service_response.service + deployment_id = service.active_deployment_id or service.latest_deployment_id + if deployment_id: + self._deployment_id = deployment_id + else: + return False + + clients = get_async_api_clients(self.api_token, self.host) + deployment_response = await clients.deployments.get_deployment(deployment_id) + deployment = deployment_response.deployment + status = deployment.status + if status in self._DEPLOYMENT_ERROR_STATUSES: + raise SandboxDeploymentError( + f"Sandbox '{self.name}' deployment reached status {status.value}. " + f"The sandbox will not become ready." + ) + is_healthy = status == DeploymentStatus.HEALTHY + if is_healthy and self._sandbox_url is None: + metadata = deployment.metadata + if metadata and metadata.sandbox: + self._sandbox_url = ( + f"{metadata.sandbox.public_url}/koyeb-sandbox", + metadata.sandbox.routing_key, + ) + return is_healthy + except SandboxDeploymentError: + raise + except Exception as e: + logger.debug(f"Could not get deployment for service {self.service_id}: {e}") + return False + + async def _async_check_executor_health(self) -> bool: + """Check executor health via async client.""" + try: + client = self._get_async_client() + health_response = await client.health() + if isinstance(health_response, dict): + status = health_response.get("status", "").lower() + return status in ["ok", "healthy", "ready"] + return True + except Exception: + return False + async def wait_ready( self, timeout: int = DEFAULT_INSTANCE_WAIT_TIMEOUT, @@ -1347,22 +1491,14 @@ async def wait_ready( current_interval = 0.1 while time.time() - start_time < timeout: - loop = asyncio.get_running_loop() - - # First, wait for the deployment to be healthy before sending traffic if not deployment_healthy: - deployment_healthy = await loop.run_in_executor( - None, super()._is_deployment_healthy - ) + deployment_healthy = await self._async_is_deployment_healthy() if not deployment_healthy: await asyncio.sleep(current_interval) current_interval = min(current_interval * 2, poll_interval) continue - # Deployment is already confirmed healthy above, skip redundant - # _is_deployment_healthy() check and go straight to executor health - is_healthy = await loop.run_in_executor(None, super()._check_executor_health) - + is_healthy = await self._async_check_executor_health() if is_healthy: return True @@ -1395,27 +1531,47 @@ async def wait_tcp_proxy_ready( current_interval = 0.1 while time.time() - start_time < timeout: - loop = asyncio.get_running_loop() - tcp_proxy_info = await loop.run_in_executor( - None, super().get_tcp_proxy_info - ) - if tcp_proxy_info is not None: - return True + from .utils import get_async_api_clients + from koyeb.api_async.api.deployments_api import DeploymentsApi as AsyncDeploymentsApi + + try: + clients = get_async_api_clients(self.api_token, self.host) + service_response = await clients.services.get_service(self.service_id) + service = service_response.service + + if service.active_deployment_id: + deployment_response = await clients.deployments.get_deployment( + service.active_deployment_id + ) + deployment = deployment_response.deployment + + if deployment.metadata and deployment.metadata.proxy_ports: + for proxy_port in deployment.metadata.proxy_ports: + if ( + proxy_port.port == 3031 + and proxy_port.host + and proxy_port.public_port + ): + return True + except Exception: + pass await asyncio.sleep(current_interval) current_interval = min(current_interval * 2, poll_interval) return False - @async_wrapper("delete") async def delete(self) -> None: """Delete the sandbox instance asynchronously.""" - pass + from .utils import get_async_api_clients + clients = get_async_api_clients(self.api_token, self.host) + await clients.apps.delete_app(self.app_id) - @async_wrapper("is_healthy") async def is_healthy(self) -> bool: - """Check if sandbox is healthy and ready for operations asynchronously""" - pass + """Check if sandbox is healthy and ready for operations asynchronously.""" + if not await self._async_is_deployment_healthy(): + return False + return await self._async_check_executor_health() @property def exec(self) -> "AsyncSandboxExecutor": @@ -1435,32 +1591,80 @@ def filesystem(self) -> "AsyncSandboxFilesystem": self._filesystem = AsyncSandboxFilesystem(self) return self._filesystem - @async_wrapper("expose_port") async def expose_port(self, port: int) -> ExposedPort: """Expose a port to external connections via TCP proxy asynchronously.""" - pass + validate_port(port) + client = self._get_async_client() + try: + try: + await client.unbind_port() + except Exception as e: + logger.debug(f"Error unbinding existing port (this is okay): {e}") + + response = await client.bind_port(port) + self._check_response_error(response, f"expose port {port}") + + url = self._get_url() + if not url: + raise SandboxError("URL not available for exposed port") + + exposed_port = int(response.get("port", port)) + return ExposedPort(port=exposed_port, exposed_at=url) + except Exception as e: + if isinstance(e, SandboxError): + raise + raise SandboxError(f"Failed to expose port {port}: {str(e)}") from e - @async_wrapper("unexpose_port") async def unexpose_port(self) -> None: """Unexpose a port from external connections asynchronously.""" - pass + client = self._get_async_client() + try: + response = await client.unbind_port() + self._check_response_error(response, "unexpose port") + except Exception as e: + if isinstance(e, SandboxError): + raise + raise SandboxError(f"Failed to unexpose port: {str(e)}") from e - @async_wrapper("launch_process") async def launch_process( self, cmd: str, cwd: Optional[str] = None, env: Optional[Dict[str, str]] = None ) -> str: """Launch a background process in the sandbox asynchronously.""" - pass + client = self._get_async_client() + try: + response = await client.start_process(cmd, cwd, env) + process_id = response.get("id") + if process_id: + return process_id + error_msg = response.get("error", response.get("message", "Unknown error")) + raise SandboxError(f"Failed to launch process: {error_msg}") + except Exception as e: + if isinstance(e, SandboxError): + raise + raise SandboxError(f"Failed to launch process: {str(e)}") from e - @async_wrapper("kill_process") async def kill_process(self, process_id: str) -> None: """Kill a background process by its ID asynchronously.""" - pass + client = self._get_async_client() + try: + response = await client.kill_process(process_id) + self._check_response_error(response, f"kill process {process_id}") + except Exception as e: + if isinstance(e, SandboxError): + raise + raise SandboxError(f"Failed to kill process {process_id}: {str(e)}") from e - @async_wrapper("list_processes") async def list_processes(self) -> List[ProcessInfo]: """List all background processes asynchronously.""" - pass + client = self._get_async_client() + try: + response = await client.list_processes() + processes_data = response.get("processes", []) + return [ProcessInfo(**process) for process in processes_data] + except Exception as e: + if isinstance(e, SandboxError): + raise + raise SandboxError(f"Failed to list processes: {str(e)}") from e async def kill_all_processes(self) -> int: """Kill all running background processes asynchronously.""" @@ -1479,14 +1683,46 @@ async def kill_all_processes(self) -> int: pass return killed_count - @async_wrapper("update_lifecycle") async def update_lifecycle( self, delete_after_delay: Optional[int] = None, delete_after_inactivity: Optional[int] = None, ) -> None: """Update the sandbox's life cycle settings asynchronously.""" - pass + try: + from .utils import get_async_api_clients + from koyeb.api_async.models.create_service import ServiceLifeCycle as AsyncServiceLifeCycle + from koyeb.api_async.models.update_service import UpdateService as AsyncUpdateService + + clients = get_async_api_clients(self.api_token, self.host) + service_response = await clients.services.get_service(self.service_id) + service = service_response.service + + if not service: + raise SandboxError("Sandbox service not found") + + deployment_response = await clients.deployments.get_deployment( + service.latest_deployment_id + ) + deployment = deployment_response.deployment + + life_cycle = service.life_cycle or AsyncServiceLifeCycle() + if delete_after_delay is not None: + life_cycle.delete_after_create = delete_after_delay + if delete_after_inactivity is not None: + life_cycle.delete_after_sleep = delete_after_inactivity + + await clients.services.update_service( + id=self.service_id, + service=AsyncUpdateService( + definition=deployment.definition, + life_cycle=life_cycle, + ), + ) + except Exception as e: + if isinstance(e, SandboxError): + raise + raise SandboxError(f"Failed to update life cycle: {str(e)}") from e async def __aenter__(self) -> "AsyncSandbox": """Async context manager entry - returns self.""" @@ -1495,7 +1731,9 @@ async def __aenter__(self) -> "AsyncSandbox": async def __aexit__(self, exc_type, exc_val, exc_tb) -> None: """Async context manager exit - automatically deletes the sandbox.""" try: - # Clean up client if it exists + # Clean up clients if they exist + if self._async_client is not None: + await self._async_client.close() if self._client is not None: self._client.close() await self.delete() diff --git a/koyeb/sandbox/utils.py b/koyeb/sandbox/utils.py index ff87bf06..2956616c 100644 --- a/koyeb/sandbox/utils.py +++ b/koyeb/sandbox/utils.py @@ -4,12 +4,11 @@ Utility functions for Koyeb Sandbox """ -import asyncio import logging import os import shlex from dataclasses import dataclass -from typing import Any, Callable, Dict, List, Optional, Tuple +from typing import Any, Dict, List, Optional, Tuple from koyeb.api import ApiClient, Configuration from koyeb.api.api import ( @@ -156,6 +155,87 @@ def get_api_clients( return clients +# --- Async API clients --- + +from koyeb.api_async import ApiClient as AsyncApiClient +from koyeb.api_async import Configuration as AsyncConfiguration +from koyeb.api_async.api import ( + AppsApi as AsyncAppsApi, + CatalogInstancesApi as AsyncCatalogInstancesApi, + DeploymentsApi as AsyncDeploymentsApi, + InstancesApi as AsyncInstancesApi, + SecretsApi as AsyncSecretsApi, + ServicesApi as AsyncServicesApi, +) + + +@dataclass(frozen=True) +class AsyncApiClients: + """Bundle of async Koyeb API clients sharing a single underlying AsyncApiClient.""" + + apps: AsyncAppsApi + services: AsyncServicesApi + instances: AsyncInstancesApi + catalog_instances: AsyncCatalogInstancesApi + deployments: AsyncDeploymentsApi + secrets: AsyncSecretsApi + + +_async_api_clients_cache: Dict[Tuple[str, str], AsyncApiClients] = {} + + +def get_async_api_clients( + api_token: Optional[str] = None, host: Optional[str] = None +) -> AsyncApiClients: + """ + Get configured async API clients for Koyeb operations. + + Caches clients by (token, host) to reuse the underlying HTTP connection pool. + + Args: + api_token: Koyeb API token. If not provided, will try to get from KOYEB_API_TOKEN env var + host: Koyeb API host URL. If not provided, will try to get from KOYEB_API_HOST env var + + Returns: + AsyncApiClients with async API client instances + + Raises: + ValueError: If API token is not provided + """ + token = api_token or os.getenv("KOYEB_API_TOKEN") + if not token: + raise ValueError( + "API token is required. Set KOYEB_API_TOKEN environment variable or pass api_token parameter" + ) + + api_host = os.getenv("KOYEB_API_HOST", host) + if not api_host: + api_host = "https://app.koyeb.com" + cache_key = (token, api_host) + + if cache_key in _async_api_clients_cache: + return _async_api_clients_cache[cache_key] + + configuration = AsyncConfiguration(host=api_host) + configuration.api_key["Bearer"] = token + configuration.api_key_prefix["Bearer"] = "Bearer" + + api_client = AsyncApiClient(configuration) + clients = AsyncApiClients( + apps=AsyncAppsApi(api_client), + services=AsyncServicesApi(api_client), + instances=AsyncInstancesApi(api_client), + catalog_instances=AsyncCatalogInstancesApi(api_client), + deployments=AsyncDeploymentsApi(api_client), + secrets=AsyncSecretsApi(api_client), + ) + _async_api_clients_cache[cache_key] = clients + return clients + + +# --- Model building helpers (shared by sync and async) --- + + def build_env_vars(env: Optional[Dict[str, Any]]) -> List[DeploymentEnv]: """ Build environment variables list from dictionary. @@ -472,81 +552,55 @@ def check_error_message(error_msg: str, error_type: str) -> bool: return any(pattern.lower() in error_msg_lower for pattern in patterns) -async def run_sync_in_executor( - method: Callable[..., Any], *args: Any, **kwargs: Any +def create_sandbox_client( + conn_info: Optional['ConnectionInfo'], + existing_client: Optional[Any] = None, ) -> Any: """ - Run a synchronous method in an async executor. + Create or return existing SandboxClient instance with validation. - Helper function to wrap synchronous methods for async execution. - Used by AsyncSandbox and AsyncSandboxFilesystem to wrap sync parent methods. + Helper function to create SandboxClient instances with consistent validation. + Used by Sandbox, SandboxExecutor, and SandboxFilesystem to avoid duplication. Args: - method: The synchronous method to run - *args: Positional arguments for the method - **kwargs: Keyword arguments for the method + conn_info: The information needed to connect to the sandbox executor API + existing_client: Existing client instance to return if not None Returns: - Result of the synchronous method call - """ - loop = asyncio.get_running_loop() - return await loop.run_in_executor(None, lambda: method(*args, **kwargs)) - - -def async_wrapper(method_name: str): - """ - Decorator to automatically create async wrapper for sync methods. - - This decorator creates an async method that wraps a sync method from the parent class. - The sync method is called via super() and executed in an executor. - - Args: - method_name: Name of the sync method to wrap (from parent class) + SandboxClient: Configured client instance - Usage: - @async_wrapper("delete") - async def delete(self) -> None: - \"\"\"Delete the sandbox instance asynchronously.\"\"\" - pass # Implementation is handled by decorator + Raises: + SandboxError: If sandbox URL or secret is not available """ + if existing_client is not None: + return existing_client - def decorator(func): - async def wrapper(self, *args, **kwargs): - # Get the parent class from MRO (Method Resolution Order) - # __mro__[0] is the current class, __mro__[1] is the parent - parent_class = self.__class__.__mro__[1] - # Get the unbound method from parent class - sync_method = getattr(parent_class, method_name) - # Bind it to self (equivalent to super().method_name) - bound_method = sync_method.__get__(self, parent_class) - return await self._run_sync(bound_method, *args, **kwargs) + try: + conn_info.validate() + except ValueError as e: + raise SandboxError(str(e)) - # Preserve function metadata - wrapper.__name__ = func.__name__ - wrapper.__qualname__ = func.__qualname__ - wrapper.__doc__ = func.__doc__ or f"{method_name} (async version)" - wrapper.__annotations__ = func.__annotations__ - return wrapper + from .executor_client import SandboxClient - return decorator + return SandboxClient(conn_info) -def create_sandbox_client( +def create_async_sandbox_client( conn_info: Optional['ConnectionInfo'], existing_client: Optional[Any] = None, ) -> Any: """ - Create or return existing SandboxClient instance with validation. + Create or return existing AsyncSandboxClient instance with validation. - Helper function to create SandboxClient instances with consistent validation. - Used by Sandbox, SandboxExecutor, and SandboxFilesystem to avoid duplication. + Helper function to create AsyncSandboxClient instances with consistent validation. + Used by AsyncSandbox to avoid duplication. Args: conn_info: The information needed to connect to the sandbox executor API existing_client: Existing client instance to return if not None Returns: - SandboxClient: Configured client instance + AsyncSandboxClient: Configured async client instance Raises: SandboxError: If sandbox URL or secret is not available @@ -559,9 +613,9 @@ def create_sandbox_client( except ValueError as e: raise SandboxError(str(e)) - from .executor_client import SandboxClient + from .executor_client import AsyncSandboxClient - return SandboxClient(conn_info) + return AsyncSandboxClient(conn_info) class SandboxError(Exception): diff --git a/pyproject.toml b/pyproject.toml index dc125fd6..aeeee885 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ dependencies = [ "pydantic (>=2)", "typing-extensions (>=4.7.1)", "websockets>=15.0.1", - "requests>=2.32.5", + "httpx>=0.28.1", ] [project.urls] diff --git a/scripts/generate_docs.sh b/scripts/generate_docs.sh index edf1a23b..fae6c059 100755 --- a/scripts/generate_docs.sh +++ b/scripts/generate_docs.sh @@ -1,2 +1,3 @@ uv run pydoc-markdown -p koyeb/api >docs/api.md +uv run pydoc-markdown -p koyeb/api_async >docs/api_async.md uv run pydoc-markdown -p koyeb/sandbox >docs/sandbox.md diff --git a/spec/openapi.json b/spec/openapi.json index 2b64c18e..ddbfa5e9 100644 --- a/spec/openapi.json +++ b/spec/openapi.json @@ -68,135 +68,15 @@ } ], "paths": { - "/v1/activities": { - "get": { - "summary": "List Activities", - "operationId": "ListActivities", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ActivityList" - } - }, - "400": { - "description": "Validation error", - "schema": { - "$ref": "#/definitions/ErrorWithFields" - } - }, - "401": { - "description": "Returned when the token is not valid.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "500": { - "description": "Returned in case of server error.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "503": { - "description": "Service is unavailable.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/google.rpc.Status" - } - } - }, - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on object type", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - } - ], - "tags": [ - "activity" - ] - } - }, - "/v1/notifications": { + "/v1/catalog/datacenters": { "get": { - "summary": "List Notifications", - "operationId": "ListNotifications", + "summary": "List datacenters", + "operationId": "ListDatacenters", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/NotificationList" - } - }, - "400": { - "description": "Validation error", - "schema": { - "$ref": "#/definitions/ErrorWithFields" - } - }, - "401": { - "description": "Returned when the token is not valid.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "500": { - "description": "Returned in case of server error.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "503": { - "description": "Service is unavailable.", - "schema": { - "$ref": "#/definitions/Error" + "$ref": "#/definitions/ListDatacentersReply" } }, "default": { @@ -206,46 +86,8 @@ } } }, - "parameters": [ - { - "name": "limit", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "mark_read", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "mark_seen", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "unread", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "unseen", - "in": "query", - "required": false, - "type": "string" - } - ], "tags": [ - "activity" + "CatalogDatacenters" ] } }, @@ -435,48 +277,15 @@ ] } }, - "/v1/catalog/datacenters": { + "/v1/organization_members": { "get": { - "summary": "List datacenters", - "operationId": "ListDatacenters", + "summary": "List organization members", + "operationId": "ListOrganizationMembers", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListDatacentersReply" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/google.rpc.Status" - } - } - }, - "tags": [ - "CatalogDatacenters" - ] - } - }, - "/v1/streams/instances/exec": { - "get": { - "summary": "Exec Command", - "description": "This endpoint opens a websocket. Once open, all frames going through the websocket should be formatted in JSON. Input frames should match the format specified below. Output frames will match the response schema.", - "operationId": "ExecCommand", - "responses": { - "200": { - "description": "A successful response.(streaming responses)", - "schema": { - "type": "object", - "properties": { - "result": { - "$ref": "#/definitions/ExecCommandReply" - }, - "error": { - "$ref": "#/definitions/google.rpc.Status" - } - }, - "title": "Stream result of ExecCommandReply" + "$ref": "#/definitions/ListOrganizationMembersReply" } }, "400": { @@ -524,87 +333,68 @@ }, "parameters": [ { - "name": "id", - "description": "ID of the resource to exec on.", + "name": "limit", + "description": "(Optional) The number of items to return", "in": "query", "required": false, "type": "string" }, { - "name": "body.command", - "description": "Command to exec. Mandatory in the first frame sent", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "body.tty_size.height", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "body.tty_size.width", + "name": "offset", + "description": "(Optional) The offset in the list of item to return", "in": "query", "required": false, - "type": "integer", - "format": "int32" + "type": "string" }, { - "name": "body.stdin.data", - "description": "Data is base64 encoded", + "name": "organization_id", + "description": "(Optional) Filter for an organization", "in": "query", "required": false, - "type": "string", - "format": "byte" + "type": "string" }, { - "name": "body.stdin.close", - "description": "Indicate last data frame", + "name": "user_id", + "description": "(Optional) Filter for an user", "in": "query", "required": false, - "type": "boolean" + "type": "string" }, { - "name": "body.disableTty", - "description": "Disable TTY. It's enough to specify it in the first frame", + "name": "organization_statuses", + "description": "(Optional) Filter for organization statuses", "in": "query", "required": false, - "type": "boolean" - }, - { - "name": "id_type", - "description": "When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "INVALID", - "INSTANCE_ID", - "SERVICE_ID" - ], - "default": "INVALID" + "type": "array", + "items": { + "type": "string", + "enum": [ + "WARNING", + "LOCKED", + "ACTIVE", + "DEACTIVATING", + "DEACTIVATED", + "DELETING", + "DELETED" + ] + }, + "collectionFormat": "multi" } ], "tags": [ - "Instances" + "OrganizationMembers" ] } }, - "/v1/streams/logs/query": { - "get": { - "summary": "Query logs", - "operationId": "QueryLogs", + "/v1/organization_members/{id}": { + "delete": { + "summary": "Remove an organization member", + "operationId": "RemoveOrganizationMember", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/QueryLogsReply" + "$ref": "#/definitions/RemoveOrganizationMemberReply" } }, "400": { @@ -652,156 +442,119 @@ }, "parameters": [ { - "name": "type", - "description": "Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\".", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "app_id", - "description": "(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "service_id", - "description": "(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "deployment_id", - "description": "(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "regional_deployment_id", - "description": "(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "instance_id", - "description": "Deprecated, prefer using instance_ids instead.", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" + } + ], + "tags": [ + "OrganizationMembers" + ] + } + }, + "/v1/payment_methods": { + "get": { + "summary": "List payment methods", + "operationId": "ListPaymentMethods", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/ListPaymentMethodsReply" + } }, - { - "name": "instance_ids", - "description": "(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" + "400": { + "description": "Validation error", + "schema": { + "$ref": "#/definitions/ErrorWithFields" + } }, - { - "name": "stream", - "description": "Deprecated, prefer using streams instead.", - "in": "query", - "required": false, - "type": "string" + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } }, - { - "name": "streams", - "description": "(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs).", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } }, - { - "name": "start", - "description": "(Optional) Must always be before `end`. Defaults to 15 minutes ago.", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } }, - { - "name": "end", - "description": "(Optional) Must always be after `start`. Defaults to now.", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } }, - { - "name": "order", - "description": "(Optional) `asc` or `desc`. Defaults to `desc`.", - "in": "query", - "required": false, - "type": "string" + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } + } + }, + "parameters": [ { "name": "limit", - "description": "(Optional) Defaults to 100. Maximum of 1000.", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - }, - { - "name": "regex", - "description": "(Optional) Apply a regex to filter logs. Can't be used with `text`.", + "description": "(Optional) The number of items to return", "in": "query", "required": false, "type": "string" }, { - "name": "text", - "description": "(Optional) Looks for this string in logs. Can't be used with `regex`.", + "name": "offset", + "description": "(Optional) The offset in the list of item to return", "in": "query", "required": false, "type": "string" }, { - "name": "regions", - "description": "(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]).", + "name": "statuses", + "description": "(Optional) Filter on payment method statuses", "in": "query", "required": false, "type": "array", "items": { - "type": "string" + "type": "string", + "enum": [ + "INVALID", + "CREATED", + "AUTHORIZED", + "DECLINED", + "CANCELED", + "EXPIRED", + "UNCHECKED" + ] }, "collectionFormat": "multi" } ], "tags": [ - "Logs" + "PaymentMethods" ] - } - }, - "/v1/streams/logs/tail": { - "get": { - "summary": "Tails logs", - "operationId": "TailLogs", + }, + "post": { + "summary": "Create payment authorization", + "operationId": "CreatePaymentAuthorization", "responses": { "200": { - "description": "A successful response.(streaming responses)", + "description": "A successful response.", "schema": { - "type": "object", - "properties": { - "result": { - "$ref": "#/definitions/LogEntry" - }, - "error": { - "$ref": "#/definitions/google.rpc.Status" - } - }, - "title": "Stream result of LogEntry" + "$ref": "#/definitions/CreatePaymentAuthorizationReply" } }, "400": { @@ -849,132 +602,28 @@ }, "parameters": [ { - "name": "type", - "description": "Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\".", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "app_id", - "description": "(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "service_id", - "description": "(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "deployment_id", - "description": "(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "regional_deployment_id", - "description": "(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "instance_id", - "description": "Deprecated, prefer using instance_ids instead.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "instance_ids", - "description": "(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "stream", - "description": "Deprecated, prefer using streams instead.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "streams", - "description": "(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs).", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "start", - "description": "(Optional) Defaults to 24 hours ago.", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "limit", - "description": "(Optional) Defaults to 1000. Maximum of 1000.", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - }, - { - "name": "regex", - "description": "(Optional) Apply a regex to filter logs. Can't be used with `text`.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "text", - "description": "(Optional) Looks for this string in logs. Can't be used with `regex`.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "regions", - "description": "(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]).", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreatePaymentAuthorizationRequest" + } } ], "tags": [ - "Logs" + "PaymentMethods" ] } }, - "/v1/streams/metrics": { + "/v1/payment_methods/{id}": { "get": { - "summary": "Get Metrics", - "operationId": "GetMetrics", + "summary": "Get payment method", + "operationId": "GetPaymentMethod", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetMetricsReply" + "$ref": "#/definitions/GetPaymentMethodReply" } }, "400": { @@ -1022,77 +671,24 @@ }, "parameters": [ { - "name": "service_id", - "description": "ID of the service to query instances metrics for. Ignored if instance_id is set.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "instance_id", - "description": "ID of the instance to query metrics for.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "name", - "description": "Metric to query.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "UNKNOWN", - "CPU_TOTAL_PERCENT", - "MEM_RSS", - "HTTP_THROUGHPUT", - "HTTP_RESPONSE_TIME_50P", - "HTTP_RESPONSE_TIME_90P", - "HTTP_RESPONSE_TIME_99P", - "HTTP_RESPONSE_TIME_MAX", - "PUBLIC_DATA_TRANSFER_IN", - "PUBLIC_DATA_TRANSFER_OUT" - ], - "default": "UNKNOWN" - }, - { - "name": "start", - "description": "(Optional) Defaults to an hour prior to end.", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "end", - "description": "(Optional) Defaults to now.", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "step", - "description": "(Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m.", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" } ], "tags": [ - "Metrics" + "PaymentMethods" ] - } - }, - "/v1/instance_events": { - "get": { - "summary": "List Instance events", - "operationId": "ListInstanceEvents", + }, + "delete": { + "summary": "Delete payment method", + "operationId": "DeletePaymentMethod", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListInstanceEventsReply" + "$ref": "#/definitions/DeletePaymentMethodReply" } }, "400": { @@ -1140,63 +736,26 @@ }, "parameters": [ { - "name": "instance_ids", - "description": "(Optional) Filter on list of instance id", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "types", - "description": "(Optional) Filter on instance event types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" } ], "tags": [ - "Instances" + "PaymentMethods" ] } }, - "/v1/instances": { - "get": { - "summary": "List Instances", - "operationId": "ListInstances", + "/v1/payment_methods/{id}/confirm": { + "post": { + "summary": "Confirm payment authorization", + "operationId": "ConfirmPaymentAuthorization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListInstancesReply" + "$ref": "#/definitions/ConfirmPaymentAuthorizationReply" } }, "400": { @@ -1244,120 +803,34 @@ }, "parameters": [ { - "name": "app_id", - "description": "(Optional) Filter on application id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "service_id", - "description": "(Optional) Filter on service id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "deployment_id", - "description": "(Optional) Filter on deployment id", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" }, { - "name": "regional_deployment_id", - "description": "(Optional) Filter on regional deployment id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "allocation_id", - "description": "(Optional) Filter on allocation id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "replica_index", - "description": "(Optional) Filter on replica index", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "statuses", - "description": "(Optional) Filter on instance statuses", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "ALLOCATING", - "STARTING", - "HEALTHY", - "UNHEALTHY", - "STOPPING", - "STOPPED", - "ERROR", - "SLEEPING" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "starting_time", - "description": "(Optional) The starting time of the period of running instance", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "ending_time", - "description": "(Optional) The ending time of the period of running instance", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } } ], "tags": [ - "Instances" + "PaymentMethods" ] } }, - "/v1/instances/{id}": { - "get": { - "summary": "Get Instance", - "operationId": "GetInstance", + "/v1/users/{id}": { + "delete": { + "summary": "Delete user", + "operationId": "DeleteUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetInstanceReply" + "$ref": "#/definitions/DeleteUserReply" } }, "400": { @@ -1406,27 +879,26 @@ "parameters": [ { "name": "id", - "description": "The id of the instance", + "description": "The id of the user", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Instances" + "Users" ] } }, - "/v1/docker-helper/verify": { - "get": { - "summary": "Verify Docker Image", - "description": "Verify if a docker image is reachable", - "operationId": "VerifyDockerImage", + "/v2/users/{id}": { + "delete": { + "summary": "V2 Delete user", + "operationId": "DeleteUserV2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/VerifyDockerImageReply" + "$ref": "#/definitions/DeleteUserReply" } }, "400": { @@ -1474,34 +946,27 @@ }, "parameters": [ { - "name": "image", - "description": "The full image uri to be verified", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "secret_id", - "description": "(Optional) the id of the secret to use to authenticate to the registry", - "in": "query", - "required": false, + "name": "id", + "description": "The id of the user", + "in": "path", + "required": true, "type": "string" } ], "tags": [ - "DockerHelper" + "Users" ] } }, - "/v1/regional_deployment_events": { + "/v1/intercom/profile": { "get": { - "summary": "List Regional Deployment events", - "operationId": "ListRegionalDeploymentEvents", + "summary": "Get intercom profile", + "operationId": "GetIntercomProfile", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListRegionalDeploymentEventsReply" + "$ref": "#/definitions/GetIntercomProfileReply" } }, "400": { @@ -1547,62 +1012,20 @@ } } }, - "parameters": [ - { - "name": "regional_deployment_id", - "description": "(Optional) Filter on regional deployment id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on regional deployment event types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, - "type": "string" - } - ], "tags": [ - "RegionalDeployments" + "Intercom" ] } }, - "/v1/regional_deployments": { + "/v1/subscriptions/{id}": { "get": { - "summary": "List Regional Deployments", - "description": "Experimental: use at your own risk", - "operationId": "ListRegionalDeployments", + "summary": "Get Subscription", + "operationId": "GetSubscription", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListRegionalDeploymentsReply" + "$ref": "#/definitions/GetSubscriptionReply" } }, "400": { @@ -1650,42 +1073,26 @@ }, "parameters": [ { - "name": "deployment_id", - "description": "(Optional) Filter on deployment id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, + "name": "id", + "description": "The id of the instance", + "in": "path", + "required": true, "type": "string" } ], "tags": [ - "RegionalDeployments" + "Subscriptions" ] } }, - "/v1/regional_deployments/{id}": { + "/v1/account/activities": { "get": { - "summary": "Get Regional Deployment", - "description": "Experimental: use at your own risk", - "operationId": "GetRegionalDeployment", + "operationId": "GetAccountActivities", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetRegionalDeploymentReply" + "$ref": "#/definitions/ActivityList" } }, "400": { @@ -1733,27 +1140,32 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the regional deployment", - "in": "path", - "required": true, + "name": "limit", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "RegionalDeployments" + "activity" ] } }, - "/v1/volume_events": { + "/v1/account/idenfy": { "get": { - "summary": "List Persistent Volume events", - "operationId": "ListPersistentVolumeEvents", + "summary": "Begin a session with iDenfy, emit an authToken", + "operationId": "GetIdenfyToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListPersistentVolumeEventsReply" + "$ref": "#/definitions/GetIdenfyTokenReply" } }, "400": { @@ -1799,61 +1211,18 @@ } } }, - "parameters": [ - { - "name": "persistent_volume_id", - "description": "(Optional) Filter on persistent volume id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on persistent volume event types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, - "type": "string" - } - ], "tags": [ - "PersistentVolumes" + "Profile" ] - } - }, - "/v1/volumes": { - "get": { - "summary": "List all PersistentVolumes", - "operationId": "ListPersistentVolumes", + }, + "post": { + "summary": "ClearIdenfyVerificationResult marks the current result for idenfy as\nsuperseded", + "operationId": "ClearIdenfyVerificationResult", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListPersistentVolumesReply" + "$ref": "#/definitions/ClearIdenfyVerificationResultReply" } }, "400": { @@ -1901,60 +1270,28 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "service_id", - "description": "(Optional) A filter for the service id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "region", - "description": "(Optional) A filter for the region", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "name", - "description": "(Optional) A filter for the name", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "project_id", - "description": "(Optional) A filter for the project ID", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClearIdenfyVerificationResultRequest" + } } ], "tags": [ - "PersistentVolumes" + "Profile" ] - }, + } + }, + "/v1/account/invite": { "post": { - "summary": "Create a PersistentVolume", - "operationId": "CreatePersistentVolume", + "summary": "DEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "CreateInvite", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreatePersistentVolumeReply" + "$ref": "#/definitions/Empty" } }, "400": { @@ -2006,24 +1343,24 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreatePersistentVolumeRequest" + "$ref": "#/definitions/InviteUserRequest" } } ], "tags": [ - "PersistentVolumes" + "invite" ] } }, - "/v1/volumes/{id}": { + "/v1/account/login_method": { "get": { - "summary": "Get a PersistentVolume", - "operationId": "GetPersistentVolume", + "summary": "Get the login method for an email address\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "LoginMethod", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetPersistentVolumeReply" + "$ref": "#/definitions/LoginMethodReply" } }, "400": { @@ -2071,24 +1408,26 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "email", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "PersistentVolumes" + "Profile" ] - }, - "delete": { - "summary": "Delete a PersistentVolume", - "operationId": "DeletePersistentVolume", + } + }, + "/v1/account/oauth": { + "get": { + "summary": "Get OAuth Providers", + "operationId": "GetOAuthOptions", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeletePersistentVolumeReply" + "$ref": "#/definitions/GetOAuthOptionsReply" } }, "400": { @@ -2136,24 +1475,38 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "action", + "description": "Which authentication flow is being initiated", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "signin", + "signup", + "register" + ], + "default": "signin" + }, + { + "name": "metadata", + "description": "A small (limited to 400 characters) string of arbitrary metadata which will\nbe encoded in the state", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "PersistentVolumes" + "Profile" ] }, "post": { - "summary": "Update a PersistentVolume", - "operationId": "UpdatePersistentVolume", + "summary": "Authenticate using OAuth", + "operationId": "OAuthCallback", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdatePersistentVolumeReply" + "$ref": "#/definitions/OAuthCallbackReply" } }, "400": { @@ -2200,46 +1553,36 @@ } }, "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "(Optional) change the name of the volume" - }, - "max_size": { - "type": "integer", - "format": "int64", - "title": "(Optional) increase the volume size (in Gigabyte / GB)" - } - } + "$ref": "#/definitions/OAuthCallbackRequest" } + }, + { + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", + "required": false, + "type": "string" } ], "tags": [ - "PersistentVolumes" + "Profile" ] } }, - "/v1/quotas/capacity": { - "post": { - "summary": "DEPRECATED: Review Organization Capacity", - "operationId": "ReviewOrganizationCapacity", + "/v1/account/organization": { + "get": { + "summary": "Get Current Organization", + "operationId": "GetCurrentOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ReviewOrganizationCapacityReply" + "$ref": "#/definitions/GetOrganizationReply" } }, "400": { @@ -2285,30 +1628,20 @@ } } }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReviewOrganizationCapacityRequest" - } - } - ], "tags": [ - "Quotas" + "Profile" ] } }, - "/v1/domains": { + "/v1/account/organization_invitations": { "get": { - "summary": "List Domains", - "operationId": "ListDomains", + "summary": "List User Organization Invitations\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "ListUserOrganizationInvitations", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListDomainsReply" + "$ref": "#/definitions/ListUserOrganizationInvitationsReply" } }, "400": { @@ -2369,78 +1702,40 @@ "required": false, "type": "string" }, - { - "name": "types", - "description": "(Optional) A filter for types\n\n - AUTOASSIGNED: Domain like -.koyeb.app", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "AUTOASSIGNED", - "CUSTOM" - ] - }, - "collectionFormat": "multi" - }, { "name": "statuses", - "description": "(Optional) A filter for statuses", + "description": "(Optional) Filter on organization invitation statuses", "in": "query", "required": false, "type": "array", "items": { "type": "string", "enum": [ + "INVALID", "PENDING", - "ACTIVE", - "ERROR", - "DELETING", - "DELETED" + "ACCEPTED", + "REFUSED", + "EXPIRED" ] }, "collectionFormat": "multi" - }, - { - "name": "app_ids", - "description": "(Optional) A filter for apps", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "name", - "description": "(Optional) A filter for name", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "project_id", - "description": "(Optional) A filter for the project ID", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "Domains" - ] - }, - "post": { - "summary": "Create Domain", - "operationId": "CreateDomain", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/CreateDomainReply" - } + } + ], + "tags": [ + "Profile" + ] + } + }, + "/v1/account/organization_invitations/{id}": { + "get": { + "summary": "Get User Organization Invitation\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "GetUserOrganizationInvitation", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/GetUserOrganizationInvitationReply" + } }, "400": { "description": "Validation error", @@ -2487,28 +1782,27 @@ }, "parameters": [ { - "name": "domain", - "in": "body", + "name": "id", + "description": "The id of the organization invitation to get", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/CreateDomain" - } + "type": "string" } ], "tags": [ - "Domains" + "Profile" ] } }, - "/v1/domains/{id}": { - "get": { - "summary": "Get Domain", - "operationId": "GetDomain", + "/v1/account/organization_invitations/{id}/accept": { + "post": { + "summary": "Accept Organization Invitation\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "AcceptOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetDomainReply" + "$ref": "#/definitions/AcceptOrganizationInvitationReply" } }, "400": { @@ -2557,23 +1851,34 @@ "parameters": [ { "name": "id", + "description": "The id of the organization invitation to accept", "in": "path", "required": true, "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } } ], "tags": [ - "Domains" + "Profile" ] - }, - "delete": { - "summary": "Delete Domain", - "operationId": "DeleteDomain", + } + }, + "/v1/account/organization_invitations/{id}/decline": { + "post": { + "summary": "Decline Organization Invitation\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "DeclineOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteDomainReply" + "$ref": "#/definitions/DeclineOrganizationInvitationReply" } }, "400": { @@ -2622,23 +1927,35 @@ "parameters": [ { "name": "id", + "description": "The id of the organization invitation to decline", "in": "path", "required": true, "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } } ], "tags": [ - "Domains" + "Profile" ] - }, - "patch": { - "summary": "Update Domain", - "operationId": "UpdateDomain", + } + }, + "/v1/account/organizations": { + "get": { + "summary": "List User Organizations", + "description": "List all organizations that the current user is a member of.", + "operationId": "ListUserOrganizations", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateDomainReply" + "$ref": "#/definitions/ListUserOrganizationsReply" } }, "400": { @@ -2686,47 +2003,68 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "limit", + "description": "(Optional) Define pagination limit", + "in": "query", + "required": false, "type": "string" }, { - "name": "domain", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateDomain" - } + "name": "offset", + "description": "(Optional) Define pagination offset", + "in": "query", + "required": false, + "type": "string" }, { - "name": "update_mask", + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", "in": "query", "required": false, "type": "string" }, { - "name": "dry_run", - "description": "If set, run validation and check that the domain is available.", + "name": "search", + "description": "(Optional) Fuzzy case-insensitive search based on organization name or\norganization id", "in": "query", "required": false, - "type": "boolean" + "type": "string" + }, + { + "name": "statuses", + "description": "(Optional) Only return organizations which status match one in the list", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "WARNING", + "LOCKED", + "ACTIVE", + "DEACTIVATING", + "DEACTIVATED", + "DELETING", + "DELETED" + ] + }, + "collectionFormat": "multi" } ], "tags": [ - "Domains" + "Profile" ] } }, - "/v1/domains/{id}/refresh": { - "post": { - "summary": "Refresh Domain Status", - "operationId": "RefreshDomainStatus", + "/v1/account/profile": { + "get": { + "summary": "Get Current User", + "operationId": "GetCurrentUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/RefreshDomainStatusReply" + "$ref": "#/definitions/UserReply" } }, "400": { @@ -2774,26 +2112,25 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", + "required": false, "type": "string" } ], "tags": [ - "Domains" + "Profile" ] - } - }, - "/v1/app_events": { - "get": { - "summary": "List App events", - "operationId": "ListAppEvents", + }, + "put": { + "summary": "Update User", + "operationId": "UpdateUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListAppEventsReply" + "$ref": "#/definitions/UserReply" } }, "400": { @@ -2841,59 +2178,32 @@ }, "parameters": [ { - "name": "app_id", - "description": "(Optional) Filter on app id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on app event types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" + "name": "user", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" + } }, { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", + "name": "update_mask", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Apps" + "Profile" ] - } - }, - "/v1/apps": { - "get": { - "summary": "List App", - "operationId": "ListApps", + }, + "patch": { + "summary": "Update User", + "operationId": "UpdateUser2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListAppsReply" + "$ref": "#/definitions/UserReply" } }, "400": { @@ -2941,46 +2251,34 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" + "name": "user", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" + } }, { - "name": "name", - "description": "(Optional) A filter for name", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "project_id", - "description": "(Optional) A filter for the project ID", + "name": "update_mask", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Apps" + "Profile" ] - }, + } + }, + "/v1/account/resend_validation": { "post": { - "summary": "Create App", - "operationId": "CreateApp", + "summary": "Resend Email Verification\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "ResendEmailValidation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateAppReply" + "$ref": "#/definitions/ResendEmailValidationReply" } }, "400": { @@ -3028,28 +2326,28 @@ }, "parameters": [ { - "name": "app", + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateApp" + "$ref": "#/definitions/ResendEmailValidationRequest" } } ], "tags": [ - "Apps" + "Profile" ] } }, - "/v1/apps/{id}": { - "get": { - "summary": "Get App", - "operationId": "GetApp", + "/v1/account/reset_password": { + "post": { + "summary": "Reset Password\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "ResetPassword", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetAppReply" + "$ref": "#/definitions/ResetPasswordReply" } }, "400": { @@ -3097,26 +2395,27 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the App", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ResetPasswordRequest" + } } ], "tags": [ - "Apps" + "Profile" ] - }, - "delete": { - "summary": "Delete App", - "description": "App deletion is allowed for all status.", - "operationId": "DeleteApp", + } + }, + "/v1/account/settings": { + "get": { + "operationId": "GetUserSettings", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteAppReply" + "$ref": "#/definitions/GetUserSettingsReply" } }, "400": { @@ -3162,27 +2461,17 @@ } } }, - "parameters": [ - { - "name": "id", - "description": "The id of the App to delete", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "Apps" + "Profile" ] }, - "put": { - "summary": "Update App", - "operationId": "UpdateApp", + "patch": { + "operationId": "UpdateUserSettings", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateAppReply" + "$ref": "#/definitions/UpdateUserSettingsReply" } }, "400": { @@ -3230,39 +2519,28 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the app to update.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "app", + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UpdateApp" + "$ref": "#/definitions/UpdateUserSettingsRequest" } - }, - { - "name": "update_mask", - "in": "query", - "required": false, - "type": "string" } ], "tags": [ - "Apps" + "Profile" ] - }, - "patch": { - "summary": "Update App", - "operationId": "UpdateApp2", + } + }, + "/v1/account/signup": { + "post": { + "summary": "Signup\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "Signup", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateAppReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -3310,42 +2588,36 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the app to update.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "app", + "name": "body", + "description": "Create new account", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UpdateApp" + "$ref": "#/definitions/CreateAccountRequest" } }, { - "name": "update_mask", - "in": "query", + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", "required": false, "type": "string" } ], "tags": [ - "Apps" + "Profile" ] } }, - "/v1/apps/{id}/pause": { + "/v1/account/update_password": { "post": { - "summary": "Pause App", - "description": "App pause action is allowed for the following status:\n - starting\n - healthy\n - degraded\n - unhealthy\n - resuming", - "operationId": "PauseApp", + "summary": "Update Password\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "UpdatePassword", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/PauseAppReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -3393,28 +2665,35 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the app to pause.", - "in": "path", + "name": "body", + "in": "body", "required": true, + "schema": { + "$ref": "#/definitions/UpdatePasswordRequest" + } + }, + { + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", + "required": false, "type": "string" } ], "tags": [ - "Apps" + "Profile" ] } }, - "/v1/apps/{id}/resume": { + "/v1/account/validate/{id}": { "post": { - "summary": "Resume App", - "description": "App resume action is allowed for the following status:\n - paused", - "operationId": "ResumeApp", + "summary": "Validate\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "Validate", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ResumeAppReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -3463,26 +2742,33 @@ "parameters": [ { "name": "id", - "description": "The id of the app to resume.", "in": "path", "required": true, "type": "string" + }, + { + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", + "required": false, + "type": "string" } ], "tags": [ - "Apps" + "Profile" ] } }, - "/v1/snapshots": { + "/v1/billing/has_unpaid_invoices": { "get": { - "summary": "List all Snapshots", - "operationId": "ListSnapshots", + "summary": "Experimental: Has unpaid invoices", + "description": "WARNING: Please don't use the following method.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve\nthe right to completely drop it without notice. USE AT YOUR OWN RISK.", + "operationId": "HasUnpaidInvoices", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListSnapshotsReply" + "$ref": "#/definitions/HasUnpaidInvoicesReply" } }, "400": { @@ -3528,67 +2814,19 @@ } } }, - "parameters": [ - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "organization_id", - "description": "(Optional) Filter by organization_id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "statuses", - "description": "(Optional) Filter by status\n\n - SNAPSHOT_STATUS_INVALID: zero value, invalid\n - SNAPSHOT_STATUS_CREATING: the snapshot is being created\n - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available\n - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated\n - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted\n - SNAPSHOT_STATUS_DELETED: the snapshot is deleted", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "SNAPSHOT_STATUS_INVALID", - "SNAPSHOT_STATUS_CREATING", - "SNAPSHOT_STATUS_AVAILABLE", - "SNAPSHOT_STATUS_MIGRATING", - "SNAPSHOT_STATUS_DELETING", - "SNAPSHOT_STATUS_DELETED" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "region", - "description": "(Optional) A filter for the region", - "in": "query", - "required": false, - "type": "string" - } - ], "tags": [ - "Snapshots" + "billing" ] - }, - "post": { - "summary": "Create a Snapshot", - "operationId": "CreateSnapshot", + } + }, + "/v1/billing/manage": { + "get": { + "operationId": "Manage", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateSnapshotReply" + "$ref": "#/definitions/ManageReply" } }, "400": { @@ -3634,30 +2872,21 @@ } } }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CreateSnapshotRequest" - } - } - ], "tags": [ - "Snapshots" + "billing" ] } }, - "/v1/snapshots/{id}": { + "/v1/billing/next_invoice": { "get": { - "summary": "Get a Snapshot", - "operationId": "GetSnapshot", + "summary": "Experimental: Fetch next invoice", + "description": "WARNING: Please don't use the following method.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve\nthe right to completely drop it without notice. USE AT YOUR OWN RISK.", + "operationId": "NextInvoice", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetSnapshotReply" + "$ref": "#/definitions/NextInvoiceReply" } }, "400": { @@ -3703,26 +2932,20 @@ } } }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "Snapshots" + "billing" ] - }, - "delete": { - "summary": "Delete a Snapshot", - "operationId": "DeleteSnapshot", + } + }, + "/v1/github/installation": { + "get": { + "summary": "Fetch Github Installation configuration", + "operationId": "GetGithubInstallation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteSnapshotReply" + "$ref": "#/definitions/GetGithubInstallationReply" } }, "400": { @@ -3768,26 +2991,18 @@ } } }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "Snapshots" + "organization" ] }, "post": { - "summary": "Update a Snapshot", - "operationId": "UpdateSnapshot", + "summary": "Start Github Installation", + "operationId": "GithubInstallation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateSnapshotReply" + "$ref": "#/definitions/GithubInstallationReply" } }, "400": { @@ -3834,42 +3049,29 @@ } }, "parameters": [ - { - "name": "id", - "description": "The id of the snapshot", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "Change the name of the snapshot" - } - } + "$ref": "#/definitions/GithubInstallationRequest" } } ], "tags": [ - "Snapshots" + "organization" ] } }, - "/v1/secrets": { - "get": { - "summary": "List Secrets", - "operationId": "ListSecrets", + "/v1/organizations": { + "post": { + "summary": "Create Organization", + "operationId": "CreateOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListSecretsReply" + "$ref": "#/definitions/CreateOrganizationReply" } }, "400": { @@ -3917,59 +3119,28 @@ }, "parameters": [ { - "name": "name", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "limit", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "Filter by secret types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "SIMPLE", - "REGISTRY", - "MANAGED" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "project_id", - "description": "(Optional) A filter for the project ID", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateOrganizationRequest" + } } ], "tags": [ - "Secrets" + "organization" ] - }, - "post": { - "summary": "Create Secret", - "operationId": "CreateSecret", + } + }, + "/v1/organizations/{id}": { + "get": { + "summary": "Get Organization", + "operationId": "GetOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateSecretReply" + "$ref": "#/definitions/GetOrganizationReply" } }, "400": { @@ -4017,28 +3188,24 @@ }, "parameters": [ { - "name": "secret", - "in": "body", + "name": "id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/CreateSecret" - } + "type": "string" } ], "tags": [ - "Secrets" + "organization" ] - } - }, - "/v1/secrets/{id}": { - "get": { - "summary": "Get Secret", - "operationId": "GetSecret", + }, + "delete": { + "summary": "Delete an Organization", + "operationId": "DeleteOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetSecretReply" + "$ref": "#/definitions/DeleteOrganizationReply" } }, "400": { @@ -4093,17 +3260,17 @@ } ], "tags": [ - "Secrets" + "organization" ] }, - "delete": { - "summary": "Delete Secret", - "operationId": "DeleteSecret", + "put": { + "summary": "Update Organization", + "operationId": "UpdateOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteSecretReply" + "$ref": "#/definitions/UpdateOrganizationReply" } }, "400": { @@ -4155,20 +3322,34 @@ "in": "path", "required": true, "type": "string" + }, + { + "name": "organization", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Organization" + } + }, + { + "name": "update_mask", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "Secrets" + "organization" ] }, - "put": { - "summary": "Update Secret", - "operationId": "UpdateSecret", + "patch": { + "summary": "Update Organization", + "operationId": "UpdateOrganization2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateSecretReply" + "$ref": "#/definitions/UpdateOrganizationReply" } }, "400": { @@ -4222,11 +3403,11 @@ "type": "string" }, { - "name": "secret", + "name": "organization", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Secret" + "$ref": "#/definitions/Organization" } }, { @@ -4237,17 +3418,20 @@ } ], "tags": [ - "Secrets" + "organization" ] - }, - "patch": { - "summary": "Update Secret", - "operationId": "UpdateSecret2", + } + }, + "/v1/organizations/{id}/access_token": { + "post": { + "summary": "CreateAccessToken", + "description": "CreateAccessToken creates a short-lived access token in the scope of the\nspecified organization, provided the user making the request is part of\nsaid organization.\n\nIt's possible to specify a validity for the token, which defaults to 1h\nand must be no more than 24h. The format is `s`, where ``\nis a floating point in seconds (so `123.456789012s` means 123 seconds and\n456789012 nanoseconds). See:\nhttps://protobuf.dev/reference/php/api-docs/Google/Protobuf/Duration.html.", + "operationId": "CreateAccessToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateSecretReply" + "$ref": "#/definitions/CreateAccessTokenReply" } }, "400": { @@ -4296,39 +3480,40 @@ "parameters": [ { "name": "id", + "description": "Organization id for ephemeral credential", "in": "path", "required": true, "type": "string" }, { - "name": "secret", + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Secret" + "type": "object", + "properties": { + "validity": { + "type": "string", + "title": "Validity of the credential" + } + } } - }, - { - "name": "update_mask", - "in": "query", - "required": false, - "type": "string" } ], "tags": [ - "Secrets" + "organization" ] } }, - "/v1/secrets/{id}/reveal": { + "/v1/organizations/{id}/deactivate": { "post": { - "summary": "Reveal Secret", - "operationId": "RevealSecret", + "summary": "Deactivate an Organization", + "operationId": "DeactivateOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/RevealSecretReply" + "$ref": "#/definitions/DeactivateOrganizationReply" } }, "400": { @@ -4386,65 +3571,66 @@ "in": "body", "required": true, "schema": { - "type": "object" + "type": "object", + "properties": { + "skip_confirmation": { + "type": "boolean", + "description": "if set to true, skip_confirmation will directly start the deactivation\nprocess, without sending a confirmation email beforehand." + } + } } } ], "tags": [ - "Secrets" + "organization" ] } }, - "/v1/usages": { - "get": { - "summary": "Get organization usage", - "operationId": "GetOrganizationUsage", + "/v1/organizations/{id}/default_project": { + "put": { + "summary": "Update Organization's default project", + "operationId": "UpdateOrganizationDefaultProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOrganizationUsageReply" + "$ref": "#/definitions/UpdateOrganizationDefaultProjectReply" } }, - "default": { - "description": "An unexpected error response.", + "400": { + "description": "Validation error", "schema": { - "$ref": "#/definitions/google.rpc.Status" + "$ref": "#/definitions/ErrorWithFields" } - } - }, - "parameters": [ - { - "name": "starting_time", - "description": "The starting time of the period to get data from", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" }, - { - "name": "ending_time", - "description": "The ending time of the period to get data from", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - } - ], - "tags": [ - "Usages" - ] - } - }, - "/v1/usages/details": { - "get": { - "summary": "Get organization usage details", - "operationId": "GetOrganizationUsageDetails", - "responses": { - "200": { - "description": "A successful response.", + "401": { + "description": "Returned when the token is not valid.", "schema": { - "$ref": "#/definitions/GetOrganizationUsageDetailsReply" + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" } }, "default": { @@ -4456,64 +3642,39 @@ }, "parameters": [ { - "name": "starting_time", - "description": "The starting time of the period to get data from", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "ending_time", - "description": "The ending time of the period to get data from", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" }, { - "name": "Accept", - "description": "If defined with the value 'text/csv', a csv file is returned", - "in": "header", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "default_project_id": { + "type": "string" + } + } + } } ], "tags": [ - "Usages" + "organization" ] } }, - "/v1/deployment/{id}/scaling": { - "get": { - "summary": "Get Deployment Scaling", - "operationId": "GetDeploymentScaling", + "/v1/organizations/{id}/name": { + "put": { + "summary": "Update Organization Name", + "operationId": "UpdateOrganizationName", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetDeploymentScalingReply" + "$ref": "#/definitions/UpdateOrganizationNameReply" } }, "400": { @@ -4567,35 +3728,33 @@ "type": "string" }, { - "name": "region", - "description": "(Optional) Filter on region", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "replica_index", - "description": "(Optional) Filter on replica_index", - "in": "query", - "required": false, - "type": "integer", - "format": "int64" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } } ], "tags": [ - "Deployments" + "organization" ] } }, - "/v1/deployment_events": { - "get": { - "summary": "List Deployment events", - "operationId": "ListDeploymentEvents", + "/v1/organizations/{id}/plan": { + "post": { + "summary": "Update Organization plan", + "operationId": "UpdateOrganizationPlan", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListDeploymentEventsReply" + "$ref": "#/definitions/UpdateOrganizationPlanReply" } }, "400": { @@ -4643,59 +3802,42 @@ }, "parameters": [ { - "name": "deployment_id", - "description": "(Optional) Filter on deployment id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on deployment event types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" }, { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "plan": { + "$ref": "#/definitions/Plan" + }, + "coupon_code": { + "type": "string" + } + } + } } ], "tags": [ - "Deployments" + "organization" ] } }, - "/v1/deployments": { - "get": { - "summary": "List Deployments", - "operationId": "ListDeployments", + "/v1/organizations/{id}/reactivate": { + "post": { + "summary": "Reactivate an Organization", + "operationId": "ReactivateOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListDeploymentsReply" + "$ref": "#/definitions/ReactivateOrganizationReply" } }, "400": { @@ -4743,77 +3885,114 @@ }, "parameters": [ { - "name": "app_id", - "description": "(Optional) Filter on application id", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" }, { - "name": "service_id", - "description": "(Optional) Filter on service id", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } + } + ], + "tags": [ + "organization" + ] + } + }, + "/v1/organizations/{id}/signup_qualification": { + "post": { + "summary": "Upsert Organization's signup qualification", + "operationId": "UpsertSignupQualification", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/UpsertSignupQualificationReply" + } }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" + "400": { + "description": "Validation error", + "schema": { + "$ref": "#/definitions/ErrorWithFields" + } + }, + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } + } + }, + "parameters": [ { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" }, { - "name": "statuses", - "description": "(Optional) Filter on statuses", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "PENDING", - "PROVISIONING", - "SCHEDULED", - "CANCELING", - "CANCELED", - "ALLOCATING", - "STARTING", - "HEALTHY", - "DEGRADED", - "UNHEALTHY", - "STOPPING", - "STOPPED", - "ERRORING", - "ERROR", - "STASHED", - "SLEEPING" - ] - }, - "collectionFormat": "multi" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "signup_qualification": { + "type": "object" + } + } + } } ], "tags": [ - "Deployments" + "organization" ] } }, - "/v1/deployments/{id}": { - "get": { - "summary": "Get Deployment", - "operationId": "GetDeployment", + "/v1/organizations/{id}/switch": { + "post": { + "summary": "Switch Organization context\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "SwitchOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetDeploymentReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -4862,27 +4041,40 @@ "parameters": [ { "name": "id", - "description": "The id of the deployment", "in": "path", "required": true, "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } + }, + { + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", + "required": false, + "type": "string" } ], "tags": [ - "Deployments" + "organization" ] } }, - "/v1/deployments/{id}/cancel": { - "post": { - "summary": "Cancel Deployment", - "description": "Deployment cancellation is allowed for the following status:\n - pending\n - provisioning\n - scheduled", - "operationId": "CancelDeployment", + "/v1/organizations/{organization_id}/budget": { + "get": { + "summary": "Get Budget", + "operationId": "GetBudget", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CancelDeploymentReply" + "$ref": "#/definitions/GetBudgetReply" } }, "400": { @@ -4930,27 +4122,24 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the deployment to cancel.", + "name": "organization_id", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Deployments" + "organization" ] - } - }, - "/v1/compose": { - "post": { - "summary": "Create resources from compose.", - "operationId": "Compose", + }, + "delete": { + "summary": "Delete Budget", + "operationId": "DeleteBudget", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ComposeReply" + "$ref": "#/definitions/DeleteBudgetReply" } }, "400": { @@ -4998,28 +4187,24 @@ }, "parameters": [ { - "name": "compose", - "in": "body", + "name": "organization_id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/CreateCompose" - } + "type": "string" } ], "tags": [ - "Compose" + "organization" ] - } - }, - "/v1/service_events": { - "get": { - "summary": "List Service events", - "operationId": "ListServiceEvents", + }, + "post": { + "summary": "Create Budget", + "operationId": "CreateBudget", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListServiceEventsReply" + "$ref": "#/definitions/CreateBudgetReply" } }, "400": { @@ -5067,59 +4252,39 @@ }, "parameters": [ { - "name": "service_id", - "description": "(Optional) Filter on service id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on service event types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, + "name": "organization_id", + "in": "path", + "required": true, "type": "string" }, { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "format": "int64", + "description": "In cents." + } + } + } } ], "tags": [ - "Services" + "organization" ] - } - }, - "/v1/services": { - "get": { - "summary": "List Services", - "operationId": "ListServices", + }, + "put": { + "summary": "Update Budget", + "operationId": "UpdateBudget", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListServicesReply" + "$ref": "#/definitions/UpdateBudgetReply" } }, "400": { @@ -5167,104 +4332,40 @@ }, "parameters": [ { - "name": "app_id", - "description": "(Optional) The id of the app", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, + "name": "organization_id", + "in": "path", + "required": true, "type": "string" }, { - "name": "name", - "description": "(Optional) A filter for name", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on service types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "INVALID_TYPE", - "WEB", - "WORKER", - "DATABASE", - "SANDBOX" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "statuses", - "description": "(Optional) Filter on service statuses", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "STARTING", - "HEALTHY", - "DEGRADED", - "UNHEALTHY", - "DELETING", - "DELETED", - "PAUSING", - "PAUSED", - "RESUMING" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "regions", - "description": "(Optional) Filter on regions", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "project_id", - "description": "(Optional) A filter for the project ID", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "format": "int64", + "description": "In cents." + } + } + } } ], "tags": [ - "Services" + "organization" ] - }, + } + }, + "/v1/sso/canny": { "post": { - "summary": "Create Service", - "operationId": "CreateService", + "operationId": "CannyAuth", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateServiceReply" + "$ref": "#/definitions/CannyAuthReply" } }, "400": { @@ -5312,36 +4413,27 @@ }, "parameters": [ { - "name": "service", + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateService" + "$ref": "#/definitions/CannyAuthRequest" } - }, - { - "name": "dry_run", - "description": "If set only run validation", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ - "Services" + "sso" ] } }, - "/v1/services-autocomplete": { + "/v1/sso/discourse": { "post": { - "summary": "Autocomplete definition", - "description": "Generate autocomplete definition for a service", - "operationId": "Autocomplete", + "operationId": "DiscourseAuth", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/AutocompleteReply" + "$ref": "#/definitions/DiscourseAuthReply" } }, "400": { @@ -5393,24 +4485,25 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/AutocompleteRequest" + "$ref": "#/definitions/DiscourseAuthRequest" } } ], "tags": [ - "Services" + "sso" ] } }, - "/v1/services/{id}": { - "get": { - "summary": "Get Service", - "operationId": "GetService", + "/v1/unscope_organization_token": { + "post": { + "summary": "Unscope Organization Token", + "description": "UnscopeOrganizationToken removes the organization scope from a token. This\nendpoint is useful when a user wants to remove an organization: by\nunscoping the token first, the user can then delete the organization\nwithout invalidating his token.", + "operationId": "UnscopeOrganizationToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetServiceReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -5458,26 +4551,35 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the Service", - "in": "path", + "name": "body", + "in": "body", "required": true, + "schema": { + "$ref": "#/definitions/UnscopeOrganizationTokenRequest" + } + }, + { + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", + "required": false, "type": "string" } ], "tags": [ - "Services" + "organization" ] - }, - "delete": { - "summary": "Delete Service", - "description": "Service deletion is allowed for all status.", - "operationId": "DeleteService", + } + }, + "/v2/account/profile": { + "put": { + "summary": "Update User V2", + "operationId": "UpdateUserV2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteServiceReply" + "$ref": "#/definitions/UserReply" } }, "400": { @@ -5525,25 +4627,32 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the entity to delete", - "in": "path", + "name": "user", + "in": "body", "required": true, + "schema": { + "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" + } + }, + { + "name": "update_mask", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "Services" + "Profile" ] }, - "put": { - "summary": "Update Service", - "operationId": "UpdateService", + "patch": { + "summary": "Update User V2", + "operationId": "UpdateUserV22", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateServiceReply" + "$ref": "#/definitions/UserReply" } }, "400": { @@ -5591,18 +4700,11 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the entity to update", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "service", + "name": "user", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UpdateService" + "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" } }, { @@ -5610,27 +4712,23 @@ "in": "query", "required": false, "type": "string" - }, - { - "name": "dry_run", - "description": "If set, run validation and check that the service exists", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ - "Services" + "Profile" ] - }, - "patch": { - "summary": "Update Service", - "operationId": "UpdateService2", + } + }, + "/v1/coupons": { + "post": { + "summary": "Redeem Coupon", + "description": "This API allows to redeem a coupon. Pass the code you received in the body.", + "operationId": "RedeemCoupon", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateServiceReply" + "$ref": "#/definitions/RedeemCouponReply" } }, "400": { @@ -5678,49 +4776,29 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the entity to update", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "service", + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UpdateService" + "$ref": "#/definitions/RedeemCouponRequest" } - }, - { - "name": "update_mask", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "dry_run", - "description": "If set, run validation and check that the service exists", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ - "Services" + "Coupons" ] } }, - "/v1/services/{id}/pause": { - "post": { - "summary": "Pause Service", - "description": "Service pause action is allowed for the following status:\n - starting\n - healthy\n - degraded\n - unhealthy\n - resuming", - "operationId": "PauseService", + "/v1/coupons/{code}": { + "get": { + "summary": "Check Coupon", + "description": "This API allows to check if a given coupon is valid. It is heavily rate-limited.", + "operationId": "CheckCoupon", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/PauseServiceReply" + "$ref": "#/definitions/CheckCouponReply" } }, "400": { @@ -5768,27 +4846,26 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the service to pause.", + "name": "code", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Services" + "Coupons" ] } }, - "/v1/services/{id}/redeploy": { - "post": { - "summary": "ReDeploy Service", - "operationId": "ReDeploy", - "responses": { + "/v1/organization_invitations": { + "get": { + "summary": "List Organization Invitations", + "operationId": "ListOrganizationInvitations", + "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/RedeployReply" + "$ref": "#/definitions/ListOrganizationInvitationsReply" } }, "400": { @@ -5836,35 +4913,57 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, "type": "string" }, { - "name": "info", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RedeployRequest.Info" - } + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "statuses", + "description": "(Optional) Filter on organization invitation statuses", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "INVALID", + "PENDING", + "ACCEPTED", + "REFUSED", + "EXPIRED" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "user_id", + "description": "(Optional) Filter on invitee ID. Will match both invitations sent to\nthat user_id and invitations sent to the email of that user_id.\nThe only valid value is the requester's user_id", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "Services" + "OrganizationInvitations" ] - } - }, - "/v1/services/{id}/resume": { + }, "post": { - "summary": "Resume Service", - "description": "Service resume action is allowed for the following status:\n - paused", - "operationId": "ResumeService", + "summary": "Create Organization Invitation", + "operationId": "CreateOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ResumeServiceReply" + "$ref": "#/definitions/CreateOrganizationInvitationReply" } }, "400": { @@ -5912,41 +5011,28 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the service to pause.", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "skip_build", - "description": "If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead.\nThe call fails if no previous successful builds happened.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "use_cache", - "in": "query", - "required": false, - "type": "boolean" + "schema": { + "$ref": "#/definitions/CreateOrganizationInvitationRequest" + } } ], "tags": [ - "Services" + "OrganizationInvitations" ] } }, - "/v1/services/{id}/scale": { + "/v1/organization_invitations/{id}": { "get": { - "summary": "Get Service Scaling", - "description": "Returns the current scaling configuration for a service", - "operationId": "GetServiceScaling", + "summary": "Get Organization Invitation", + "operationId": "GetOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetServiceScalingReply" + "$ref": "#/definitions/GetOrganizationInvitationReply" } }, "400": { @@ -5995,25 +5081,24 @@ "parameters": [ { "name": "id", - "description": "The id of the service", + "description": "The id of the invitation to get", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Services" + "OrganizationInvitations" ] }, "delete": { - "summary": "Delete Service Scaling", - "description": "Deletes the manual scaling configuration for a service, reverting to \nthe scaling defined in the deployment definition.", - "operationId": "DeleteServiceScaling", + "summary": "Delete Organization Invitation", + "operationId": "DeleteOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteServiceScalingReply" + "$ref": "#/definitions/DeleteOrganizationInvitationReply" } }, "400": { @@ -6062,25 +5147,26 @@ "parameters": [ { "name": "id", - "description": "The id of the service", + "description": "The id of the organization invitation to delete", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Services" + "OrganizationInvitations" ] - }, - "put": { - "summary": "Update Service Scaling", - "description": "Stores or updates the scaling configuration for a service to use manual scaling", - "operationId": "UpdateServiceScaling", + } + }, + "/v1/organization_invitations/{id}/resend": { + "post": { + "summary": "Resend Organization Invitation", + "operationId": "ResendOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateServiceScalingReply" + "$ref": "#/definitions/ResendOrganizationInvitationReply" } }, "400": { @@ -6129,7 +5215,7 @@ "parameters": [ { "name": "id", - "description": "The id of the service to scale", + "description": "The id of the organization invitation to resend", "in": "path", "required": true, "type": "string" @@ -6139,33 +5225,24 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "scalings": { - "type": "array", - "items": { - "$ref": "#/definitions/ManualServiceScaling" - }, - "title": "The new scaling configuration" - } - } + "type": "object" } } ], "tags": [ - "Services" + "OrganizationInvitations" ] } }, - "/v1/provisioning/{deployment_id}/status/{stage}/{attempt}": { + "/v1/organization_confirmations/{id}": { "post": { - "summary": "Create an attempt for a stage", - "operationId": "CreateStageAttempt", + "summary": "Confirm organization action", + "operationId": "ConfirmOrganizationAction", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateStageAttemptReply" + "$ref": "#/definitions/ConfirmOrganizationActionReply" } }, "400": { @@ -6213,68 +5290,26 @@ }, "parameters": [ { - "name": "deployment_id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "stage", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "attempt", + "name": "id", "in": "path", "required": true, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "secret": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "steps": { - "type": "array", - "items": { - "type": "string" - } - } - } - } } ], "tags": [ - "Provisioning" + "OrganizationConfirmations" ] - }, - "patch": { - "summary": "Declare stage progress", - "operationId": "DeclareStageProgress", + } + }, + "/v1/credentials": { + "get": { + "summary": "List credentials", + "operationId": "ListCredentials", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeclareStageProgressReply" + "$ref": "#/definitions/ListCredentialsReply" } }, "400": { @@ -6322,73 +5357,66 @@ }, "parameters": [ { - "name": "deployment_id", - "in": "path", - "required": true, + "name": "type", + "description": "(Optional) A filter for type", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "INVALID", + "USER", + "ORGANIZATION" + ], + "default": "INVALID" + }, + { + "name": "name", + "description": "(Optional) A filter for name", + "in": "query", + "required": false, "type": "string" }, { - "name": "stage", - "in": "path", - "required": true, + "name": "organization_id", + "description": "(Optional) Filter for an organization", + "in": "query", + "required": false, "type": "string" }, { - "name": "attempt", - "in": "path", - "required": true, + "name": "user_id", + "description": "(Optional) Filter for an user", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "secret": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" - }, - "finished_at": { - "type": "string", - "format": "date-time" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "image_pushed": { - "type": "boolean" - }, - "internal_failure": { - "type": "boolean" - }, - "retryable_failure": { - "type": "boolean" - } - } - } + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "Provisioning" + "Credentials" ] - } - }, - "/v1/provisioning/{deployment_id}/status/{stage}/{attempt}/{step}": { - "patch": { - "summary": "Declare step progress", - "operationId": "DeclareStepProgress", + }, + "post": { + "summary": "Create credential", + "operationId": "CreateCredential", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeclareStepProgressReply" + "$ref": "#/definitions/CreateCredentialReply" } }, "400": { @@ -6436,75 +5464,28 @@ }, "parameters": [ { - "name": "deployment_id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "stage", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "attempt", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "step", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", + "name": "credential", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "secret": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "finished_at": { - "type": "string", - "format": "date-time" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - } - } + "$ref": "#/definitions/CreateCredential" } } ], "tags": [ - "Provisioning" + "Credentials" ] } }, - "/v1/archives": { - "post": { - "summary": "Create Archive", - "description": "Create a signed URL to upload an archive.", - "operationId": "CreateArchive", + "/v1/credentials/{id}": { + "get": { + "summary": "Get credential", + "operationId": "GetCredential", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateArchiveReply" + "$ref": "#/definitions/GetCredentialReply" } }, "400": { @@ -6552,28 +5533,24 @@ }, "parameters": [ { - "name": "archive", - "in": "body", + "name": "id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/CreateArchive" - } + "type": "string" } ], "tags": [ - "Archives" + "Credentials" ] - } - }, - "/v1/intercom/profile": { - "get": { - "summary": "Get intercom profile", - "operationId": "GetIntercomProfile", + }, + "delete": { + "summary": "Delete credential", + "operationId": "DeleteCredential", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetIntercomProfileReply" + "$ref": "#/definitions/DeleteCredentialReply" } }, "400": { @@ -6619,20 +5596,26 @@ } } }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ - "Intercom" + "Credentials" ] - } - }, - "/v1/subscriptions/{id}": { - "get": { - "summary": "Get Subscription", - "operationId": "GetSubscription", + }, + "put": { + "summary": "Update credential", + "operationId": "UpdateCredential", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetSubscriptionReply" + "$ref": "#/definitions/UpdateCredentialReply" } }, "400": { @@ -6681,26 +5664,37 @@ "parameters": [ { "name": "id", - "description": "The id of the instance", "in": "path", "required": true, "type": "string" + }, + { + "name": "credential", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Credential" + } + }, + { + "name": "update_mask", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "Subscriptions" + "Credentials" ] - } - }, - "/v1/organization_members": { - "get": { - "summary": "List organization members", - "operationId": "ListOrganizationMembers", + }, + "patch": { + "summary": "Update credential", + "operationId": "UpdateCredential2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListOrganizationMembersReply" + "$ref": "#/definitions/UpdateCredentialReply" } }, "400": { @@ -6748,68 +5742,40 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" }, { - "name": "organization_id", - "description": "(Optional) Filter for an organization", - "in": "query", - "required": false, - "type": "string" + "name": "credential", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Credential" + } }, { - "name": "user_id", - "description": "(Optional) Filter for an user", + "name": "update_mask", "in": "query", "required": false, "type": "string" - }, - { - "name": "organization_statuses", - "description": "(Optional) Filter for organization statuses", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "WARNING", - "LOCKED", - "ACTIVE", - "DEACTIVATING", - "DEACTIVATED", - "DELETING", - "DELETED" - ] - }, - "collectionFormat": "multi" } ], "tags": [ - "OrganizationMembers" + "Credentials" ] } }, - "/v1/organization_members/{id}": { - "delete": { - "summary": "Remove an organization member", - "operationId": "RemoveOrganizationMember", + "/v1/projects": { + "get": { + "summary": "List projects", + "operationId": "ListProjects", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/RemoveOrganizationMemberReply" + "$ref": "#/definitions/ListProjectsReply" } }, "400": { @@ -6857,27 +5823,39 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, "type": "string" - } - ], - "tags": [ - "OrganizationMembers" - ] - } - }, - "/v1/coupons": { - "post": { - "summary": "Redeem Coupon", - "description": "This API allows to redeem a coupon. Pass the code you received in the body.", - "operationId": "RedeemCoupon", + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name", + "description": "(Optional) Filter by project name", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Projects" + ] + }, + "post": { + "summary": "Create project", + "operationId": "CreateProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/RedeemCouponReply" + "$ref": "#/definitions/CreateProjectReply" } }, "400": { @@ -6925,29 +5903,28 @@ }, "parameters": [ { - "name": "body", + "name": "project", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/RedeemCouponRequest" + "$ref": "#/definitions/CreateProject" } } ], "tags": [ - "Coupons" + "Projects" ] } }, - "/v1/coupons/{code}": { + "/v1/projects/{id}": { "get": { - "summary": "Check Coupon", - "description": "This API allows to check if a given coupon is valid. It is heavily rate-limited.", - "operationId": "CheckCoupon", + "summary": "Get project", + "operationId": "GetProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CheckCouponReply" + "$ref": "#/definitions/GetProjectReply" } }, "400": { @@ -6995,26 +5972,24 @@ }, "parameters": [ { - "name": "code", + "name": "id", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Coupons" + "Projects" ] - } - }, - "/v1/organization_invitations": { - "get": { - "summary": "List Organization Invitations", - "operationId": "ListOrganizationInvitations", + }, + "delete": { + "summary": "Delete project", + "operationId": "DeleteProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListOrganizationInvitationsReply" + "$ref": "#/definitions/DeleteProjectReply" } }, "400": { @@ -7062,57 +6037,24 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "statuses", - "description": "(Optional) Filter on organization invitation statuses", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "INVALID", - "PENDING", - "ACCEPTED", - "REFUSED", - "EXPIRED" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "user_id", - "description": "(Optional) Filter on invitee ID. Will match both invitations sent to\nthat user_id and invitations sent to the email of that user_id.\nThe only valid value is the requester's user_id", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" } ], "tags": [ - "OrganizationInvitations" + "Projects" ] }, - "post": { - "summary": "Create Organization Invitation", - "operationId": "CreateOrganizationInvitation", + "put": { + "summary": "Update project", + "operationId": "UpdateProject", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateOrganizationInvitationReply" + "$ref": "#/definitions/UpdateProjectReply" } }, "400": { @@ -7160,28 +6102,38 @@ }, "parameters": [ { - "name": "body", + "name": "id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "project", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateOrganizationInvitationRequest" + "$ref": "#/definitions/Project" } + }, + { + "name": "update_mask", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "OrganizationInvitations" + "Projects" ] - } - }, - "/v1/organization_invitations/{id}": { - "get": { - "summary": "Get Organization Invitation", - "operationId": "GetOrganizationInvitation", + }, + "patch": { + "summary": "Update project", + "operationId": "UpdateProject2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOrganizationInvitationReply" + "$ref": "#/definitions/UpdateProjectReply" } }, "400": { @@ -7230,24 +6182,39 @@ "parameters": [ { "name": "id", - "description": "The id of the invitation to get", "in": "path", "required": true, "type": "string" + }, + { + "name": "project", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Project" + } + }, + { + "name": "update_mask", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "OrganizationInvitations" + "Projects" ] - }, - "delete": { - "summary": "Delete Organization Invitation", - "operationId": "DeleteOrganizationInvitation", + } + }, + "/v1/organizations/{organization_id}/summary": { + "get": { + "summary": "Get organization usage summary", + "operationId": "GetOrganizationSummary", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteOrganizationInvitationReply" + "$ref": "#/definitions/GetOrganizationSummaryReply" } }, "400": { @@ -7295,27 +6262,27 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the organization invitation to delete", + "name": "organization_id", + "description": "Organization ID", "in": "path", "required": true, "type": "string" } ], "tags": [ - "OrganizationInvitations" + "Summary" ] } }, - "/v1/organization_invitations/{id}/resend": { + "/v1/account/login": { "post": { - "summary": "Resend Organization Invitation", - "operationId": "ResendOrganizationInvitation", + "summary": "Login user\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "Login", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ResendOrganizationInvitationReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -7362,35 +6329,36 @@ } }, "parameters": [ - { - "name": "id", - "description": "The id of the organization invitation to resend", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object" + "$ref": "#/definitions/LoginRequest" } + }, + { + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", + "required": false, + "type": "string" } ], "tags": [ - "OrganizationInvitations" + "Sessions" ] } }, - "/v1/organizations/{organization_id}/quotas": { - "get": { - "operationId": "GetQuotas", + "/v1/account/logout": { + "delete": { + "summary": "Logout user\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "Logout", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetQuotasReply" + "$ref": "#/definitions/LogoutReply" } }, "400": { @@ -7436,28 +6404,20 @@ } } }, - "parameters": [ - { - "name": "organization_id", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "OrganizationQuotas" + "Sessions" ] } }, - "/v1/users/{id}": { - "delete": { - "summary": "Delete user", - "operationId": "DeleteUser", + "/v1/account/refresh": { + "put": { + "summary": "Refresh token\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "RefreshToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteUserReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -7503,29 +6463,21 @@ } } }, - "parameters": [ - { - "name": "id", - "description": "The id of the user", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "Users" + "Sessions" ] } }, - "/v2/users/{id}": { - "delete": { - "summary": "V2 Delete user", - "operationId": "DeleteUserV2", + "/v1/account/session": { + "post": { + "summary": "New session", + "description": "Creates a new session without an organization for current user.\nNOTE: If you want a session linked to another organization, please use \"Switch organization\".\nDEPRECATED: this has been replaced by WorkOS and will be dropped soon.", + "operationId": "NewSession", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteUserReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -7571,29 +6523,19 @@ } } }, - "parameters": [ - { - "name": "id", - "description": "The id of the user", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "Users" + "Sessions" ] } }, - "/v1/account/login": { - "post": { - "summary": "Login user", - "operationId": "Login", + "/v1/organizations/{organization_id}/quotas": { + "get": { + "operationId": "GetQuotas", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/GetQuotasReply" } }, "400": { @@ -7641,35 +6583,26 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "organization_id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/LoginRequest" - } - }, - { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", - "required": false, "type": "string" } ], "tags": [ - "Sessions" + "OrganizationQuotas" ] } }, - "/v1/account/logout": { - "delete": { - "summary": "Logout user", - "operationId": "Logout", + "/v1/provisioning/{deployment_id}/status/{stage}/{attempt}": { + "post": { + "summary": "Create an attempt for a stage", + "operationId": "CreateStageAttempt", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LogoutReply" + "$ref": "#/definitions/CreateStageAttemptReply" } }, "400": { @@ -7715,20 +6648,70 @@ } } }, + "parameters": [ + { + "name": "deployment_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "stage", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "attempt", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "secret": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "steps": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + ], "tags": [ - "Sessions" + "Provisioning" ] - } - }, - "/v1/account/refresh": { - "put": { - "summary": "Refresh token", - "operationId": "RefreshToken", + }, + "patch": { + "summary": "Declare stage progress", + "operationId": "DeclareStageProgress", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/DeclareStageProgressReply" } }, "400": { @@ -7774,21 +6757,75 @@ } } }, + "parameters": [ + { + "name": "deployment_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "stage", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "attempt", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "secret": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + }, + "finished_at": { + "type": "string", + "format": "date-time" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "image_pushed": { + "type": "boolean" + }, + "internal_failure": { + "type": "boolean" + }, + "retryable_failure": { + "type": "boolean" + } + } + } + } + ], "tags": [ - "Sessions" + "Provisioning" ] } }, - "/v1/account/session": { - "post": { - "summary": "New session", - "description": "Creates a new session without an organization for current user.\nNOTE: If you want a session linked to another organization, please use \"Switch organization\".", - "operationId": "NewSession", + "/v1/provisioning/{deployment_id}/status/{stage}/{attempt}/{step}": { + "patch": { + "summary": "Declare step progress", + "operationId": "DeclareStepProgress", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/DeclareStepProgressReply" } }, "400": { @@ -7834,20 +6871,76 @@ } } }, + "parameters": [ + { + "name": "deployment_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "stage", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "attempt", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "step", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "secret": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "finished_at": { + "type": "string", + "format": "date-time" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + ], "tags": [ - "Sessions" + "Provisioning" ] } }, - "/v1/organization_confirmations/{id}": { + "/v1/compose": { "post": { - "summary": "Confirm organization action", - "operationId": "ConfirmOrganizationAction", + "summary": "Create resources from compose.", + "operationId": "Compose", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ConfirmOrganizationActionReply" + "$ref": "#/definitions/ComposeReply" } }, "400": { @@ -7895,26 +6988,28 @@ }, "parameters": [ { - "name": "id", - "in": "path", + "name": "compose", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/CreateCompose" + } } ], "tags": [ - "OrganizationConfirmations" + "Compose" ] } }, - "/v1/credentials": { + "/v1/domains": { "get": { - "summary": "List credentials", - "operationId": "ListCredentials", + "summary": "List Domains", + "operationId": "ListDomains", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListCredentialsReply" + "$ref": "#/definitions/ListDomainsReply" } }, "400": { @@ -7962,66 +7057,90 @@ }, "parameters": [ { - "name": "type", - "description": "(Optional) A filter for type", + "name": "limit", + "description": "(Optional) The number of items to return", "in": "query", "required": false, - "type": "string", - "enum": [ - "INVALID", - "USER", - "ORGANIZATION" - ], - "default": "INVALID" + "type": "string" }, { - "name": "name", - "description": "(Optional) A filter for name", + "name": "offset", + "description": "(Optional) The offset in the list of item to return", "in": "query", "required": false, "type": "string" }, { - "name": "organization_id", - "description": "(Optional) Filter for an organization", + "name": "types", + "description": "(Optional) A filter for types\n\n - AUTOASSIGNED: Domain like -.koyeb.app", "in": "query", "required": false, - "type": "string" + "type": "array", + "items": { + "type": "string", + "enum": [ + "AUTOASSIGNED", + "CUSTOM" + ] + }, + "collectionFormat": "multi" }, { - "name": "user_id", - "description": "(Optional) Filter for an user", + "name": "statuses", + "description": "(Optional) A filter for statuses", "in": "query", "required": false, - "type": "string" + "type": "array", + "items": { + "type": "string", + "enum": [ + "PENDING", + "ACTIVE", + "ERROR", + "DELETING", + "DELETED" + ] + }, + "collectionFormat": "multi" }, { - "name": "limit", - "description": "(Optional) The number of items to return", + "name": "app_ids", + "description": "(Optional) A filter for apps", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "name", + "description": "(Optional) A filter for name", "in": "query", "required": false, "type": "string" }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", + "name": "project_id", + "description": "(Optional) A filter for the project ID", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Credentials" + "Domains" ] }, "post": { - "summary": "Create credential", - "operationId": "CreateCredential", + "summary": "Create Domain", + "operationId": "CreateDomain", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateCredentialReply" + "$ref": "#/definitions/CreateDomainReply" } }, "400": { @@ -8069,28 +7188,28 @@ }, "parameters": [ { - "name": "credential", + "name": "domain", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateCredential" + "$ref": "#/definitions/CreateDomain" } } ], "tags": [ - "Credentials" + "Domains" ] } }, - "/v1/credentials/{id}": { + "/v1/domains/{id}": { "get": { - "summary": "Get credential", - "operationId": "GetCredential", + "summary": "Get Domain", + "operationId": "GetDomain", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetCredentialReply" + "$ref": "#/definitions/GetDomainReply" } }, "400": { @@ -8145,17 +7264,17 @@ } ], "tags": [ - "Credentials" + "Domains" ] }, "delete": { - "summary": "Delete credential", - "operationId": "DeleteCredential", + "summary": "Delete Domain", + "operationId": "DeleteDomain", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteCredentialReply" + "$ref": "#/definitions/DeleteDomainReply" } }, "400": { @@ -8210,17 +7329,17 @@ } ], "tags": [ - "Credentials" + "Domains" ] }, - "put": { - "summary": "Update credential", - "operationId": "UpdateCredential", + "patch": { + "summary": "Update Domain", + "operationId": "UpdateDomain", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateCredentialReply" + "$ref": "#/definitions/UpdateDomainReply" } }, "400": { @@ -8274,11 +7393,11 @@ "type": "string" }, { - "name": "credential", + "name": "domain", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Credential" + "$ref": "#/definitions/UpdateDomain" } }, { @@ -8286,20 +7405,29 @@ "in": "query", "required": false, "type": "string" + }, + { + "name": "dry_run", + "description": "If set, run validation and check that the domain is available.", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ - "Credentials" + "Domains" ] - }, - "patch": { - "summary": "Update credential", - "operationId": "UpdateCredential2", + } + }, + "/v1/domains/{id}/refresh": { + "post": { + "summary": "Refresh Domain Status", + "operationId": "RefreshDomainStatus", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateCredentialReply" + "$ref": "#/definitions/RefreshDomainStatusReply" } }, "400": { @@ -8351,36 +7479,22 @@ "in": "path", "required": true, "type": "string" - }, - { - "name": "credential", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Credential" - } - }, - { - "name": "update_mask", - "in": "query", - "required": false, - "type": "string" } ], "tags": [ - "Credentials" + "Domains" ] } }, - "/v1/projects": { + "/v1/app_events": { "get": { - "summary": "List projects", - "operationId": "ListProjects", + "summary": "List App events", + "operationId": "ListAppEvents", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListProjectsReply" + "$ref": "#/definitions/ListAppEventsReply" } }, "400": { @@ -8427,6 +7541,24 @@ } }, "parameters": [ + { + "name": "app_id", + "description": "(Optional) Filter on app id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "types", + "description": "(Optional) Filter on app event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, { "name": "limit", "description": "(Optional) The number of items to return", @@ -8442,25 +7574,27 @@ "type": "string" }, { - "name": "name", - "description": "(Optional) Filter by project name", + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Projects" + "Apps" ] - }, - "post": { - "summary": "Create project", - "operationId": "CreateProject", + } + }, + "/v1/apps": { + "get": { + "summary": "List App", + "operationId": "ListApps", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateProjectReply" + "$ref": "#/definitions/ListAppsReply" } }, "400": { @@ -8508,28 +7642,46 @@ }, "parameters": [ { - "name": "project", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CreateProject" - } + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name", + "description": "(Optional) A filter for name", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "project_id", + "description": "(Optional) A filter for the project ID", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "Projects" + "Apps" ] - } - }, - "/v1/projects/{id}": { - "get": { - "summary": "Get project", - "operationId": "GetProject", + }, + "post": { + "summary": "Create App", + "operationId": "CreateApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetProjectReply" + "$ref": "#/definitions/CreateAppReply" } }, "400": { @@ -8577,24 +7729,28 @@ }, "parameters": [ { - "name": "id", - "in": "path", + "name": "app", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/CreateApp" + } } ], "tags": [ - "Projects" + "Apps" ] - }, - "delete": { - "summary": "Delete project", - "operationId": "DeleteProject", + } + }, + "/v1/apps/{id}": { + "get": { + "summary": "Get App", + "operationId": "GetApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteProjectReply" + "$ref": "#/definitions/GetAppReply" } }, "400": { @@ -8643,23 +7799,25 @@ "parameters": [ { "name": "id", + "description": "The id of the App", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Projects" + "Apps" ] }, - "put": { - "summary": "Update project", - "operationId": "UpdateProject", + "delete": { + "summary": "Delete App", + "description": "App deletion is allowed for all status.", + "operationId": "DeleteApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateProjectReply" + "$ref": "#/definitions/DeleteAppReply" } }, "400": { @@ -8708,37 +7866,24 @@ "parameters": [ { "name": "id", + "description": "The id of the App to delete", "in": "path", "required": true, "type": "string" - }, - { - "name": "project", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Project" - } - }, - { - "name": "update_mask", - "in": "query", - "required": false, - "type": "string" } ], "tags": [ - "Projects" + "Apps" ] }, - "patch": { - "summary": "Update project", - "operationId": "UpdateProject2", + "put": { + "summary": "Update App", + "operationId": "UpdateApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateProjectReply" + "$ref": "#/definitions/UpdateAppReply" } }, "400": { @@ -8787,16 +7932,17 @@ "parameters": [ { "name": "id", + "description": "The id of the app to update.", "in": "path", "required": true, "type": "string" }, { - "name": "project", + "name": "app", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Project" + "$ref": "#/definitions/UpdateApp" } }, { @@ -8807,19 +7953,17 @@ } ], "tags": [ - "Projects" + "Apps" ] - } - }, - "/v1/organizations/{organization_id}/summary": { - "get": { - "summary": "Get organization usage summary", - "operationId": "GetOrganizationSummary", + }, + "patch": { + "summary": "Update App", + "operationId": "UpdateApp2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOrganizationSummaryReply" + "$ref": "#/definitions/UpdateAppReply" } }, "400": { @@ -8867,120 +8011,42 @@ }, "parameters": [ { - "name": "organization_id", - "description": "Organization ID", + "name": "id", + "description": "The id of the app to update.", "in": "path", "required": true, "type": "string" - } - ], - "tags": [ - "Summary" - ] - } - }, - "/v1/payment_methods": { - "get": { - "summary": "List payment methods", - "operationId": "ListPaymentMethods", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ListPaymentMethodsReply" - } - }, - "400": { - "description": "Validation error", - "schema": { - "$ref": "#/definitions/ErrorWithFields" - } - }, - "401": { - "description": "Returned when the token is not valid.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "500": { - "description": "Returned in case of server error.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "503": { - "description": "Service is unavailable.", - "schema": { - "$ref": "#/definitions/Error" - } }, - "default": { - "description": "An unexpected error response.", + { + "name": "app", + "in": "body", + "required": true, "schema": { - "$ref": "#/definitions/google.rpc.Status" + "$ref": "#/definitions/UpdateApp" } - } - }, - "parameters": [ - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", + "name": "update_mask", "in": "query", "required": false, "type": "string" - }, - { - "name": "statuses", - "description": "(Optional) Filter on payment method statuses", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "INVALID", - "CREATED", - "AUTHORIZED", - "DECLINED", - "CANCELED", - "EXPIRED", - "UNCHECKED" - ] - }, - "collectionFormat": "multi" } ], "tags": [ - "PaymentMethods" + "Apps" ] - }, + } + }, + "/v1/apps/{id}/pause": { "post": { - "summary": "Create payment authorization", - "operationId": "CreatePaymentAuthorization", + "summary": "Pause App", + "description": "App pause action is allowed for the following status:\n - starting\n - healthy\n - degraded\n - unhealthy\n - resuming", + "operationId": "PauseApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreatePaymentAuthorizationReply" + "$ref": "#/definitions/PauseAppReply" } }, "400": { @@ -9028,28 +8094,28 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "description": "The id of the app to pause.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/CreatePaymentAuthorizationRequest" - } + "type": "string" } ], "tags": [ - "PaymentMethods" + "Apps" ] } }, - "/v1/payment_methods/{id}": { - "get": { - "summary": "Get payment method", - "operationId": "GetPaymentMethod", + "/v1/apps/{id}/resume": { + "post": { + "summary": "Resume App", + "description": "App resume action is allowed for the following status:\n - paused", + "operationId": "ResumeApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetPaymentMethodReply" + "$ref": "#/definitions/ResumeAppReply" } }, "400": { @@ -9098,23 +8164,26 @@ "parameters": [ { "name": "id", + "description": "The id of the app to resume.", "in": "path", "required": true, "type": "string" } ], "tags": [ - "PaymentMethods" + "Apps" ] - }, - "delete": { - "summary": "Delete payment method", - "operationId": "DeletePaymentMethod", + } + }, + "/v1/service_events": { + "get": { + "summary": "List Service events", + "operationId": "ListServiceEvents", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeletePaymentMethodReply" + "$ref": "#/definitions/ListServiceEventsReply" } }, "400": { @@ -9162,26 +8231,59 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "service_id", + "description": "(Optional) Filter on service id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "types", + "description": "(Optional) Filter on service event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "PaymentMethods" + "Services" ] } }, - "/v1/payment_methods/{id}/confirm": { - "post": { - "summary": "Confirm payment authorization", - "operationId": "ConfirmPaymentAuthorization", + "/v1/services": { + "get": { + "summary": "List Services", + "operationId": "ListServices", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ConfirmPaymentAuthorizationReply" + "$ref": "#/definitions/ListServicesReply" } }, "400": { @@ -9229,33 +8331,104 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } + "name": "app_id", + "description": "(Optional) The id of the app", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name", + "description": "(Optional) A filter for name", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "types", + "description": "(Optional) Filter on service types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "INVALID_TYPE", + "WEB", + "WORKER", + "DATABASE", + "SANDBOX" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "statuses", + "description": "(Optional) Filter on service statuses", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "STARTING", + "HEALTHY", + "DEGRADED", + "UNHEALTHY", + "DELETING", + "DELETED", + "PAUSING", + "PAUSED", + "RESUMING" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "regions", + "description": "(Optional) Filter on regions", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "project_id", + "description": "(Optional) A filter for the project ID", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "PaymentMethods" + "Services" ] - } - }, - "/v1/account/activities": { - "get": { - "operationId": "GetAccountActivities", + }, + "post": { + "summary": "Create Service", + "operationId": "CreateService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ActivityList" + "$ref": "#/definitions/CreateServiceReply" } }, "400": { @@ -9303,32 +8476,36 @@ }, "parameters": [ { - "name": "limit", - "in": "query", - "required": false, - "type": "string" + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateService" + } }, { - "name": "offset", + "name": "dry_run", + "description": "If set only run validation", "in": "query", "required": false, - "type": "string" + "type": "boolean" } ], "tags": [ - "activity" + "Services" ] } }, - "/v1/account/idenfy": { - "get": { - "summary": "Begin a session with iDenfy, emit an authToken", - "operationId": "GetIdenfyToken", + "/v1/services-autocomplete": { + "post": { + "summary": "Autocomplete definition", + "description": "Generate autocomplete definition for a service", + "operationId": "Autocomplete", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetIdenfyTokenReply" + "$ref": "#/definitions/AutocompleteReply" } }, "400": { @@ -9374,18 +8551,30 @@ } } }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AutocompleteRequest" + } + } + ], "tags": [ - "Profile" + "Services" ] - }, - "post": { - "summary": "ClearIdenfyVerificationResult marks the current result for idenfy as\nsuperseded", - "operationId": "ClearIdenfyVerificationResult", + } + }, + "/v1/services/{id}": { + "get": { + "summary": "Get Service", + "operationId": "GetService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ClearIdenfyVerificationResultReply" + "$ref": "#/definitions/GetServiceReply" } }, "400": { @@ -9433,27 +8622,26 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "description": "The id of the Service", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/ClearIdenfyVerificationResultRequest" - } + "type": "string" } ], "tags": [ - "Profile" + "Services" ] - } - }, - "/v1/account/invite": { - "post": { - "operationId": "CreateInvite", + }, + "delete": { + "summary": "Delete Service", + "description": "Service deletion is allowed for all status.", + "operationId": "DeleteService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/Empty" + "$ref": "#/definitions/DeleteServiceReply" } }, "400": { @@ -9501,28 +8689,25 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "description": "The id of the entity to delete", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/InviteUserRequest" - } + "type": "string" } ], "tags": [ - "invite" + "Services" ] - } - }, - "/v1/account/login_method": { - "get": { - "summary": "Get the login method for an email address", - "operationId": "LoginMethod", + }, + "put": { + "summary": "Update Service", + "operationId": "UpdateService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginMethodReply" + "$ref": "#/definitions/UpdateServiceReply" } }, "400": { @@ -9570,26 +8755,46 @@ }, "parameters": [ { - "name": "email", + "name": "id", + "description": "The id of the entity to update", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateService" + } + }, + { + "name": "update_mask", "in": "query", "required": false, "type": "string" + }, + { + "name": "dry_run", + "description": "If set, run validation and check that the service exists", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ - "Profile" + "Services" ] - } - }, - "/v1/account/oauth": { - "get": { - "summary": "Get OAuth Providers", - "operationId": "GetOAuthOptions", + }, + "patch": { + "summary": "Update Service", + "operationId": "UpdateService2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOAuthOptionsReply" + "$ref": "#/definitions/UpdateServiceReply" } }, "400": { @@ -9637,38 +8842,49 @@ }, "parameters": [ { - "name": "action", - "description": "Which authentication flow is being initiated", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "signin", - "signup", - "register" - ], - "default": "signin" + "name": "id", + "description": "The id of the entity to update", + "in": "path", + "required": true, + "type": "string" }, { - "name": "metadata", - "description": "A small (limited to 400 characters) string of arbitrary metadata which will\nbe encoded in the state", + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateService" + } + }, + { + "name": "update_mask", "in": "query", "required": false, "type": "string" + }, + { + "name": "dry_run", + "description": "If set, run validation and check that the service exists", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ - "Profile" + "Services" ] - }, + } + }, + "/v1/services/{id}/pause": { "post": { - "summary": "Authenticate using OAuth", - "operationId": "OAuthCallback", + "summary": "Pause Service", + "description": "Service pause action is allowed for the following status:\n - starting\n - healthy\n - degraded\n - unhealthy\n - resuming", + "operationId": "PauseService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/OAuthCallbackReply" + "$ref": "#/definitions/PauseServiceReply" } }, "400": { @@ -9716,35 +8932,27 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "description": "The id of the service to pause.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/OAuthCallbackRequest" - } - }, - { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", - "required": false, "type": "string" } ], "tags": [ - "Profile" + "Services" ] } }, - "/v1/account/organization": { - "get": { - "summary": "Get Current Organization", - "operationId": "GetCurrentOrganization", + "/v1/services/{id}/redeploy": { + "post": { + "summary": "ReDeploy Service", + "operationId": "ReDeploy", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOrganizationReply" + "$ref": "#/definitions/RedeployReply" } }, "400": { @@ -9790,20 +8998,37 @@ } } }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "info", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedeployRequest.Info" + } + } + ], "tags": [ - "Profile" + "Services" ] } }, - "/v1/account/organization_invitations": { - "get": { - "summary": "List User Organization Invitations", - "operationId": "ListUserOrganizationInvitations", + "/v1/services/{id}/resume": { + "post": { + "summary": "Resume Service", + "description": "Service resume action is allowed for the following status:\n - paused", + "operationId": "ResumeService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListUserOrganizationInvitationsReply" + "$ref": "#/definitions/ResumeServiceReply" } }, "400": { @@ -9851,52 +9076,41 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, + "name": "id", + "description": "The id of the service to pause.", + "in": "path", + "required": true, "type": "string" }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", + "name": "skip_build", + "description": "If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead.\nThe call fails if no previous successful builds happened.", "in": "query", "required": false, - "type": "string" + "type": "boolean" }, { - "name": "statuses", - "description": "(Optional) Filter on organization invitation statuses", + "name": "use_cache", "in": "query", "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "INVALID", - "PENDING", - "ACCEPTED", - "REFUSED", - "EXPIRED" - ] - }, - "collectionFormat": "multi" + "type": "boolean" } ], "tags": [ - "Profile" + "Services" ] } }, - "/v1/account/organization_invitations/{id}": { + "/v1/services/{id}/scale": { "get": { - "summary": "Get User Organization Invitation", - "operationId": "GetUserOrganizationInvitation", + "summary": "Get Service Scaling", + "description": "Returns the current scaling configuration for a service", + "operationId": "GetServiceScaling", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetUserOrganizationInvitationReply" + "$ref": "#/definitions/GetServiceScalingReply" } }, "400": { @@ -9945,26 +9159,25 @@ "parameters": [ { "name": "id", - "description": "The id of the organization invitation to get", + "description": "The id of the service", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Profile" + "Services" ] - } - }, - "/v1/account/organization_invitations/{id}/accept": { - "post": { - "summary": "Accept Organization Invitation", - "operationId": "AcceptOrganizationInvitation", + }, + "delete": { + "summary": "Delete Service Scaling", + "description": "Deletes the manual scaling configuration for a service, reverting to \nthe scaling defined in the deployment definition.", + "operationId": "DeleteServiceScaling", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/AcceptOrganizationInvitationReply" + "$ref": "#/definitions/DeleteServiceScalingReply" } }, "400": { @@ -10013,34 +9226,25 @@ "parameters": [ { "name": "id", - "description": "The id of the organization invitation to accept", + "description": "The id of the service", "in": "path", "required": true, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } } ], "tags": [ - "Profile" + "Services" ] - } - }, - "/v1/account/organization_invitations/{id}/decline": { - "post": { - "summary": "Decline Organization Invitation", - "operationId": "DeclineOrganizationInvitation", + }, + "put": { + "summary": "Update Service Scaling", + "description": "Stores or updates the scaling configuration for a service to use manual scaling", + "operationId": "UpdateServiceScaling", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeclineOrganizationInvitationReply" + "$ref": "#/definitions/UpdateServiceScalingReply" } }, "400": { @@ -10089,7 +9293,7 @@ "parameters": [ { "name": "id", - "description": "The id of the organization invitation to decline", + "description": "The id of the service to scale", "in": "path", "required": true, "type": "string" @@ -10099,25 +9303,33 @@ "in": "body", "required": true, "schema": { - "type": "object" + "type": "object", + "properties": { + "scalings": { + "type": "array", + "items": { + "$ref": "#/definitions/ManualServiceScaling" + }, + "title": "The new scaling configuration" + } + } } } ], "tags": [ - "Profile" + "Services" ] } }, - "/v1/account/organizations": { + "/v1/deployment/{id}/scaling": { "get": { - "summary": "List User Organizations", - "description": "List all organizations that the current user is a member of.", - "operationId": "ListUserOrganizations", + "summary": "Get Deployment Scaling", + "operationId": "GetDeploymentScaling", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListUserOrganizationsReply" + "$ref": "#/definitions/GetDeploymentScalingReply" } }, "400": { @@ -10165,68 +9377,41 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) Define pagination limit", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) Define pagination offset", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" }, { - "name": "search", - "description": "(Optional) Fuzzy case-insensitive search based on organization name or\norganization id", + "name": "region", + "description": "(Optional) Filter on region", "in": "query", "required": false, "type": "string" }, { - "name": "statuses", - "description": "(Optional) Only return organizations which status match one in the list", + "name": "replica_index", + "description": "(Optional) Filter on replica_index", "in": "query", "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "WARNING", - "LOCKED", - "ACTIVE", - "DEACTIVATING", - "DEACTIVATED", - "DELETING", - "DELETED" - ] - }, - "collectionFormat": "multi" + "type": "integer", + "format": "int64" } ], "tags": [ - "Profile" + "Deployments" ] } }, - "/v1/account/profile": { + "/v1/deployment_events": { "get": { - "summary": "Get Current User", - "operationId": "GetCurrentUser", + "summary": "List Deployment events", + "operationId": "ListDeploymentEvents", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UserReply" + "$ref": "#/definitions/ListDeploymentEventsReply" } }, "400": { @@ -10274,25 +9459,59 @@ }, "parameters": [ { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", + "name": "deployment_id", + "description": "(Optional) Filter on deployment id", + "in": "query", "required": false, "type": "string" - } - ], - "tags": [ - "Profile" - ] - }, - "put": { - "summary": "Update User", - "operationId": "UpdateUser", + }, + { + "name": "types", + "description": "(Optional) Filter on deployment event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Deployments" + ] + } + }, + "/v1/deployments": { + "get": { + "summary": "List Deployments", + "operationId": "ListDeployments", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UserReply" + "$ref": "#/definitions/ListDeploymentsReply" } }, "400": { @@ -10340,32 +9559,77 @@ }, "parameters": [ { - "name": "user", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" - } + "name": "app_id", + "description": "(Optional) Filter on application id", + "in": "query", + "required": false, + "type": "string" }, { - "name": "update_mask", + "name": "service_id", + "description": "(Optional) Filter on service id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", "in": "query", "required": false, "type": "string" + }, + { + "name": "statuses", + "description": "(Optional) Filter on statuses", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "PENDING", + "PROVISIONING", + "SCHEDULED", + "CANCELING", + "CANCELED", + "ALLOCATING", + "STARTING", + "HEALTHY", + "DEGRADED", + "UNHEALTHY", + "STOPPING", + "STOPPED", + "ERRORING", + "ERROR", + "STASHED", + "SLEEPING" + ] + }, + "collectionFormat": "multi" } ], "tags": [ - "Profile" + "Deployments" ] - }, - "patch": { - "summary": "Update User", - "operationId": "UpdateUser2", + } + }, + "/v1/deployments/{id}": { + "get": { + "summary": "Get Deployment", + "operationId": "GetDeployment", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UserReply" + "$ref": "#/definitions/GetDeploymentReply" } }, "400": { @@ -10413,34 +9677,28 @@ }, "parameters": [ { - "name": "user", - "in": "body", + "name": "id", + "description": "The id of the deployment", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" - } - }, - { - "name": "update_mask", - "in": "query", - "required": false, "type": "string" } ], "tags": [ - "Profile" + "Deployments" ] } }, - "/v1/account/resend_validation": { + "/v1/deployments/{id}/cancel": { "post": { - "summary": "Resend Email Verification", - "operationId": "ResendEmailValidation", + "summary": "Cancel Deployment", + "description": "Deployment cancellation is allowed for the following status:\n - pending\n - provisioning\n - scheduled", + "operationId": "CancelDeployment", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ResendEmailValidationReply" + "$ref": "#/definitions/CancelDeploymentReply" } }, "400": { @@ -10488,28 +9746,28 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "description": "The id of the deployment to cancel.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/ResendEmailValidationRequest" - } + "type": "string" } ], "tags": [ - "Profile" + "Deployments" ] } }, - "/v1/account/reset_password": { + "/v1/archives": { "post": { - "summary": "Reset Password", - "operationId": "ResetPassword", + "summary": "Create Archive", + "description": "Create a signed URL to upload an archive.", + "operationId": "CreateArchive", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ResetPasswordReply" + "$ref": "#/definitions/CreateArchiveReply" } }, "400": { @@ -10557,27 +9815,28 @@ }, "parameters": [ { - "name": "body", + "name": "archive", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ResetPasswordRequest" + "$ref": "#/definitions/CreateArchive" } } ], "tags": [ - "Profile" + "Archives" ] } }, - "/v1/account/settings": { + "/v1/volume_events": { "get": { - "operationId": "GetUserSettings", + "summary": "List Persistent Volume events", + "operationId": "ListPersistentVolumeEvents", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetUserSettingsReply" + "$ref": "#/definitions/ListPersistentVolumeEventsReply" } }, "400": { @@ -10623,17 +9882,61 @@ } } }, + "parameters": [ + { + "name": "persistent_volume_id", + "description": "(Optional) Filter on persistent volume id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "types", + "description": "(Optional) Filter on persistent volume event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, + "type": "string" + } + ], "tags": [ - "Profile" + "PersistentVolumes" ] - }, - "patch": { - "operationId": "UpdateUserSettings", + } + }, + "/v1/volumes": { + "get": { + "summary": "List all PersistentVolumes", + "operationId": "ListPersistentVolumes", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateUserSettingsReply" + "$ref": "#/definitions/ListPersistentVolumesReply" } }, "400": { @@ -10681,33 +9984,65 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateUserSettingsRequest" - } - } - ], - "tags": [ - "Profile" - ] - } - }, - "/v1/account/signup": { - "post": { - "summary": "Signup", - "operationId": "Signup", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/LoginReply" - } + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" }, - "400": { - "description": "Validation error", - "schema": { + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "service_id", + "description": "(Optional) A filter for the service id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "region", + "description": "(Optional) A filter for the region", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name", + "description": "(Optional) A filter for the name", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "project_id", + "description": "(Optional) A filter for the project ID", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "PersistentVolumes" + ] + }, + "post": { + "summary": "Create a PersistentVolume", + "operationId": "CreatePersistentVolume", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/CreatePersistentVolumeReply" + } + }, + "400": { + "description": "Validation error", + "schema": { "$ref": "#/definitions/ErrorWithFields" } }, @@ -10751,35 +10086,27 @@ "parameters": [ { "name": "body", - "description": "Create new account", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateAccountRequest" + "$ref": "#/definitions/CreatePersistentVolumeRequest" } - }, - { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", - "required": false, - "type": "string" } ], "tags": [ - "Profile" + "PersistentVolumes" ] } }, - "/v1/account/update_password": { - "post": { - "summary": "Update Password", - "operationId": "UpdatePassword", + "/v1/volumes/{id}": { + "get": { + "summary": "Get a PersistentVolume", + "operationId": "GetPersistentVolume", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/GetPersistentVolumeReply" } }, "400": { @@ -10827,35 +10154,24 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/UpdatePasswordRequest" - } - }, - { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", - "required": false, "type": "string" } ], "tags": [ - "Profile" + "PersistentVolumes" ] - } - }, - "/v1/account/validate/{id}": { - "post": { - "summary": "Validate", - "operationId": "Validate", + }, + "delete": { + "summary": "Delete a PersistentVolume", + "operationId": "DeletePersistentVolume", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/DeletePersistentVolumeReply" } }, "400": { @@ -10907,30 +10223,20 @@ "in": "path", "required": true, "type": "string" - }, - { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", - "required": false, - "type": "string" } ], "tags": [ - "Profile" + "PersistentVolumes" ] - } - }, - "/v1/billing/has_unpaid_invoices": { - "get": { - "summary": "Experimental: Has unpaid invoices", - "description": "WARNING: Please don't use the following method.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve\nthe right to completely drop it without notice. USE AT YOUR OWN RISK.", - "operationId": "HasUnpaidInvoices", + }, + "post": { + "summary": "Update a PersistentVolume", + "operationId": "UpdatePersistentVolume", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/HasUnpaidInvoicesReply" + "$ref": "#/definitions/UpdatePersistentVolumeReply" } }, "400": { @@ -10976,19 +10282,48 @@ } } }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "(Optional) change the name of the volume" + }, + "max_size": { + "type": "integer", + "format": "int64", + "title": "(Optional) increase the volume size (in Gigabyte / GB)" + } + } + } + } + ], "tags": [ - "billing" + "PersistentVolumes" ] } }, - "/v1/billing/manage": { + "/v1/docker-helper/verify": { "get": { - "operationId": "Manage", + "summary": "Verify Docker Image", + "description": "Verify if a docker image is reachable", + "operationId": "VerifyDockerImage", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ManageReply" + "$ref": "#/definitions/VerifyDockerImageReply" } }, "400": { @@ -11034,21 +10369,36 @@ } } }, + "parameters": [ + { + "name": "image", + "description": "The full image uri to be verified", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "secret_id", + "description": "(Optional) the id of the secret to use to authenticate to the registry", + "in": "query", + "required": false, + "type": "string" + } + ], "tags": [ - "billing" + "DockerHelper" ] } }, - "/v1/billing/next_invoice": { + "/v1/secrets": { "get": { - "summary": "Experimental: Fetch next invoice", - "description": "WARNING: Please don't use the following method.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve\nthe right to completely drop it without notice. USE AT YOUR OWN RISK.", - "operationId": "NextInvoice", + "summary": "List Secrets", + "operationId": "ListSecrets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/NextInvoiceReply" + "$ref": "#/definitions/ListSecretsReply" } }, "400": { @@ -11094,20 +10444,61 @@ } } }, + "parameters": [ + { + "name": "name", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "types", + "description": "Filter by secret types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "SIMPLE", + "REGISTRY", + "MANAGED" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "project_id", + "description": "(Optional) A filter for the project ID", + "in": "query", + "required": false, + "type": "string" + } + ], "tags": [ - "billing" + "Secrets" ] - } - }, - "/v1/github/installation": { - "get": { - "summary": "Fetch Github Installation configuration", - "operationId": "GetGithubInstallation", + }, + "post": { + "summary": "Create Secret", + "operationId": "CreateSecret", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetGithubInstallationReply" + "$ref": "#/definitions/CreateSecretReply" } }, "400": { @@ -11153,87 +10544,30 @@ } } }, + "parameters": [ + { + "name": "secret", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateSecret" + } + } + ], "tags": [ - "organization" - ] - }, - "post": { - "summary": "Start Github Installation", - "operationId": "GithubInstallation", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/GithubInstallationReply" - } - }, - "400": { - "description": "Validation error", - "schema": { - "$ref": "#/definitions/ErrorWithFields" - } - }, - "401": { - "description": "Returned when the token is not valid.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "500": { - "description": "Returned in case of server error.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "503": { - "description": "Service is unavailable.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/google.rpc.Status" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GithubInstallationRequest" - } - } - ], - "tags": [ - "organization" + "Secrets" ] } }, - "/v1/organizations": { - "post": { - "summary": "Create Organization", - "operationId": "CreateOrganization", + "/v1/secrets/{id}": { + "get": { + "summary": "Get Secret", + "operationId": "GetSecret", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateOrganizationReply" + "$ref": "#/definitions/GetSecretReply" } }, "400": { @@ -11281,28 +10615,24 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/CreateOrganizationRequest" - } + "type": "string" } ], "tags": [ - "organization" + "Secrets" ] - } - }, - "/v1/organizations/{id}": { - "get": { - "summary": "Get Organization", - "operationId": "GetOrganization", + }, + "delete": { + "summary": "Delete Secret", + "operationId": "DeleteSecret", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOrganizationReply" + "$ref": "#/definitions/DeleteSecretReply" } }, "400": { @@ -11357,17 +10687,17 @@ } ], "tags": [ - "organization" + "Secrets" ] }, - "delete": { - "summary": "Delete an Organization", - "operationId": "DeleteOrganization", + "put": { + "summary": "Update Secret", + "operationId": "UpdateSecret", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteOrganizationReply" + "$ref": "#/definitions/UpdateSecretReply" } }, "400": { @@ -11419,20 +10749,34 @@ "in": "path", "required": true, "type": "string" + }, + { + "name": "secret", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Secret" + } + }, + { + "name": "update_mask", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "organization" + "Secrets" ] }, - "put": { - "summary": "Update Organization", - "operationId": "UpdateOrganization", + "patch": { + "summary": "Update Secret", + "operationId": "UpdateSecret2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateOrganizationReply" + "$ref": "#/definitions/UpdateSecretReply" } }, "400": { @@ -11486,11 +10830,11 @@ "type": "string" }, { - "name": "organization", + "name": "secret", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Organization" + "$ref": "#/definitions/Secret" } }, { @@ -11501,17 +10845,19 @@ } ], "tags": [ - "organization" + "Secrets" ] - }, - "patch": { - "summary": "Update Organization", - "operationId": "UpdateOrganization2", + } + }, + "/v1/secrets/{id}/reveal": { + "post": { + "summary": "Reveal Secret", + "operationId": "RevealSecret", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateOrganizationReply" + "$ref": "#/definitions/RevealSecretReply" } }, "400": { @@ -11565,35 +10911,28 @@ "type": "string" }, { - "name": "organization", + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Organization" + "type": "object" } - }, - { - "name": "update_mask", - "in": "query", - "required": false, - "type": "string" } ], "tags": [ - "organization" + "Secrets" ] } }, - "/v1/organizations/{id}/access_token": { - "post": { - "summary": "CreateAccessToken", - "description": "CreateAccessToken creates a short-lived access token in the scope of the\nspecified organization, provided the user making the request is part of\nsaid organization.\n\nIt's possible to specify a validity for the token, which defaults to 1h\nand must be no more than 24h. The format is `s`, where ``\nis a floating point in seconds (so `123.456789012s` means 123 seconds and\n456789012 nanoseconds). See:\nhttps://protobuf.dev/reference/php/api-docs/Google/Protobuf/Duration.html.", - "operationId": "CreateAccessToken", + "/v1/instance_events": { + "get": { + "summary": "List Instance events", + "operationId": "ListInstanceEvents", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateAccessTokenReply" + "$ref": "#/definitions/ListInstanceEventsReply" } }, "400": { @@ -11641,41 +10980,63 @@ }, "parameters": [ { - "name": "id", - "description": "Organization id for ephemeral credential", - "in": "path", - "required": true, + "name": "instance_ids", + "description": "(Optional) Filter on list of instance id", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "types", + "description": "(Optional) Filter on instance event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "validity": { - "type": "string", - "title": "Validity of the credential" - } - } - } + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "organization" + "Instances" ] } }, - "/v1/organizations/{id}/deactivate": { - "post": { - "summary": "Deactivate an Organization", - "operationId": "DeactivateOrganization", + "/v1/instances": { + "get": { + "summary": "List Instances", + "operationId": "ListInstances", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeactivateOrganizationReply" + "$ref": "#/definitions/ListInstancesReply" } }, "400": { @@ -11723,40 +11084,120 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "app_id", + "description": "(Optional) Filter on application id", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "skip_confirmation": { - "type": "boolean", - "description": "if set to true, skip_confirmation will directly start the deactivation\nprocess, without sending a confirmation email beforehand." - } - } - } + "name": "service_id", + "description": "(Optional) Filter on service id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "deployment_id", + "description": "(Optional) Filter on deployment id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "regional_deployment_id", + "description": "(Optional) Filter on regional deployment id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "allocation_id", + "description": "(Optional) Filter on allocation id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "replica_index", + "description": "(Optional) Filter on replica index", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "statuses", + "description": "(Optional) Filter on instance statuses", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "ALLOCATING", + "STARTING", + "HEALTHY", + "UNHEALTHY", + "STOPPING", + "STOPPED", + "ERROR", + "SLEEPING" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "starting_time", + "description": "(Optional) The starting time of the period of running instance", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "ending_time", + "description": "(Optional) The ending time of the period of running instance", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" } ], "tags": [ - "organization" + "Instances" ] } }, - "/v1/organizations/{id}/default_project": { - "put": { - "summary": "Update Organization's default project", - "operationId": "UpdateOrganizationDefaultProject", + "/v1/instances/{id}": { + "get": { + "summary": "Get Instance", + "operationId": "GetInstance", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateOrganizationDefaultProjectReply" + "$ref": "#/definitions/GetInstanceReply" } }, "400": { @@ -11805,38 +11246,26 @@ "parameters": [ { "name": "id", + "description": "The id of the instance", "in": "path", "required": true, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "default_project_id": { - "type": "string" - } - } - } } ], "tags": [ - "organization" + "Instances" ] } }, - "/v1/organizations/{id}/name": { - "put": { - "summary": "Update Organization Name", - "operationId": "UpdateOrganizationName", + "/v1/regional_deployment_events": { + "get": { + "summary": "List Regional Deployment events", + "operationId": "ListRegionalDeploymentEvents", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateOrganizationNameReply" + "$ref": "#/definitions/ListRegionalDeploymentEventsReply" } }, "400": { @@ -11884,39 +11313,60 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "regional_deployment_id", + "description": "(Optional) Filter on regional deployment id", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - } - } + "name": "types", + "description": "(Optional) Filter on regional deployment event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "organization" + "RegionalDeployments" ] } }, - "/v1/organizations/{id}/plan": { - "post": { - "summary": "Update Organization plan", - "operationId": "UpdateOrganizationPlan", + "/v1/regional_deployments": { + "get": { + "summary": "List Regional Deployments", + "description": "Experimental: use at your own risk", + "operationId": "ListRegionalDeployments", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateOrganizationPlanReply" + "$ref": "#/definitions/ListRegionalDeploymentsReply" } }, "400": { @@ -11964,42 +11414,42 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "deployment_id", + "description": "(Optional) Filter on deployment id", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "plan": { - "$ref": "#/definitions/Plan" - }, - "coupon_code": { - "type": "string" - } - } - } + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "organization" + "RegionalDeployments" ] } }, - "/v1/organizations/{id}/reactivate": { - "post": { - "summary": "Reactivate an Organization", - "operationId": "ReactivateOrganization", + "/v1/regional_deployments/{id}": { + "get": { + "summary": "Get Regional Deployment", + "description": "Experimental: use at your own risk", + "operationId": "GetRegionalDeployment", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ReactivateOrganizationReply" + "$ref": "#/definitions/GetRegionalDeploymentReply" } }, "400": { @@ -12048,33 +11498,136 @@ "parameters": [ { "name": "id", + "description": "The id of the regional deployment", "in": "path", "required": true, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } } ], "tags": [ - "organization" + "RegionalDeployments" ] } }, - "/v1/organizations/{id}/signup_qualification": { - "post": { - "summary": "Upsert Organization's signup qualification", - "operationId": "UpsertSignupQualification", - "responses": { - "200": { - "description": "A successful response.", + "/v1/usages": { + "get": { + "summary": "Get organization usage", + "operationId": "GetOrganizationUsage", + "responses": { + "200": { + "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpsertSignupQualificationReply" + "$ref": "#/definitions/GetOrganizationUsageReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } + } + }, + "parameters": [ + { + "name": "starting_time", + "description": "The starting time of the period to get data from", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "ending_time", + "description": "The ending time of the period to get data from", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + } + ], + "tags": [ + "Usages" + ] + } + }, + "/v1/usages/details": { + "get": { + "summary": "Get organization usage details", + "operationId": "GetOrganizationUsageDetails", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/GetOrganizationUsageDetailsReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } + } + }, + "parameters": [ + { + "name": "starting_time", + "description": "The starting time of the period to get data from", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "ending_time", + "description": "The ending time of the period to get data from", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "Accept", + "description": "If defined with the value 'text/csv', a csv file is returned", + "in": "header", + "required": false, + "type": "string" + } + ], + "tags": [ + "Usages" + ] + } + }, + "/v1/snapshots": { + "get": { + "summary": "List all Snapshots", + "operationId": "ListSnapshots", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/ListSnapshotsReply" } }, "400": { @@ -12122,39 +11675,65 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "signup_qualification": { - "type": "object" - } - } - } + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "organization_id", + "description": "(Optional) Filter by organization_id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "statuses", + "description": "(Optional) Filter by status\n\n - SNAPSHOT_STATUS_INVALID: zero value, invalid\n - SNAPSHOT_STATUS_CREATING: the snapshot is being created\n - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available\n - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated\n - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted\n - SNAPSHOT_STATUS_DELETED: the snapshot is deleted", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "SNAPSHOT_STATUS_INVALID", + "SNAPSHOT_STATUS_CREATING", + "SNAPSHOT_STATUS_AVAILABLE", + "SNAPSHOT_STATUS_MIGRATING", + "SNAPSHOT_STATUS_DELETING", + "SNAPSHOT_STATUS_DELETED" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "region", + "description": "(Optional) A filter for the region", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "organization" + "Snapshots" ] - } - }, - "/v1/organizations/{id}/switch": { + }, "post": { - "summary": "Switch Organization context", - "operationId": "SwitchOrganization", + "summary": "Create a Snapshot", + "operationId": "CreateSnapshot", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/CreateSnapshotReply" } }, "400": { @@ -12201,42 +11780,29 @@ } }, "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object" + "$ref": "#/definitions/CreateSnapshotRequest" } - }, - { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", - "required": false, - "type": "string" } ], "tags": [ - "organization" + "Snapshots" ] } }, - "/v1/organizations/{organization_id}/budget": { + "/v1/snapshots/{id}": { "get": { - "summary": "Get Budget", - "operationId": "GetBudget", + "summary": "Get a Snapshot", + "operationId": "GetSnapshot", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetBudgetReply" + "$ref": "#/definitions/GetSnapshotReply" } }, "400": { @@ -12284,24 +11850,24 @@ }, "parameters": [ { - "name": "organization_id", + "name": "id", "in": "path", "required": true, "type": "string" } ], "tags": [ - "organization" + "Snapshots" ] }, "delete": { - "summary": "Delete Budget", - "operationId": "DeleteBudget", + "summary": "Delete a Snapshot", + "operationId": "DeleteSnapshot", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteBudgetReply" + "$ref": "#/definitions/DeleteSnapshotReply" } }, "400": { @@ -12349,24 +11915,24 @@ }, "parameters": [ { - "name": "organization_id", + "name": "id", "in": "path", "required": true, "type": "string" } ], "tags": [ - "organization" + "Snapshots" ] }, "post": { - "summary": "Create Budget", - "operationId": "CreateBudget", + "summary": "Update a Snapshot", + "operationId": "UpdateSnapshot", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateBudgetReply" + "$ref": "#/definitions/UpdateSnapshotReply" } }, "400": { @@ -12414,7 +11980,8 @@ }, "parameters": [ { - "name": "organization_id", + "name": "id", + "description": "The id of the snapshot", "in": "path", "required": true, "type": "string" @@ -12426,27 +11993,28 @@ "schema": { "type": "object", "properties": { - "amount": { + "name": { "type": "string", - "format": "int64", - "description": "In cents." + "title": "Change the name of the snapshot" } } } } ], "tags": [ - "organization" + "Snapshots" ] - }, - "put": { - "summary": "Update Budget", - "operationId": "UpdateBudget", + } + }, + "/v1/quotas/capacity": { + "post": { + "summary": "DEPRECATED: Review Organization Capacity", + "operationId": "ReviewOrganizationCapacity", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateBudgetReply" + "$ref": "#/definitions/ReviewOrganizationCapacityReply" } }, "400": { @@ -12493,41 +12061,29 @@ } }, "parameters": [ - { - "name": "organization_id", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "amount": { - "type": "string", - "format": "int64", - "description": "In cents." - } - } + "$ref": "#/definitions/ReviewOrganizationCapacityRequest" } } ], "tags": [ - "organization" + "Quotas" ] } }, - "/v1/sso/canny": { - "post": { - "operationId": "CannyAuth", + "/v1/streams/logs/query": { + "get": { + "summary": "Query logs", + "operationId": "QueryLogs", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CannyAuthReply" + "$ref": "#/definitions/QueryLogsReply" } }, "400": { @@ -12575,97 +12131,156 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CannyAuthRequest" - } - } - ], - "tags": [ - "sso" - ] - } - }, - "/v1/sso/discourse": { - "post": { - "operationId": "DiscourseAuth", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/DiscourseAuthReply" - } + "name": "type", + "description": "Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\".", + "in": "query", + "required": false, + "type": "string" }, - "400": { - "description": "Validation error", - "schema": { - "$ref": "#/definitions/ErrorWithFields" - } + { + "name": "app_id", + "description": "(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", + "in": "query", + "required": false, + "type": "string" }, - "401": { - "description": "Returned when the token is not valid.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "service_id", + "description": "(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", + "in": "query", + "required": false, + "type": "string" }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "deployment_id", + "description": "(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", + "in": "query", + "required": false, + "type": "string" }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "regional_deployment_id", + "description": "(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", + "in": "query", + "required": false, + "type": "string" }, - "500": { - "description": "Returned in case of server error.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "instance_id", + "description": "Deprecated, prefer using instance_ids instead.", + "in": "query", + "required": false, + "type": "string" }, - "503": { - "description": "Service is unavailable.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "instance_ids", + "description": "(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/google.rpc.Status" - } - } - }, - "parameters": [ { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DiscourseAuthRequest" - } + "name": "stream", + "description": "Deprecated, prefer using streams instead.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "streams", + "description": "(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs).", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "start", + "description": "(Optional) Must always be before `end`. Defaults to 15 minutes ago.", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "end", + "description": "(Optional) Must always be after `start`. Defaults to now.", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "order", + "description": "(Optional) `asc` or `desc`. Defaults to `desc`.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "(Optional) Defaults to 100. Maximum of 1000.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "regex", + "description": "(Optional) Apply a regex to filter logs. Can't be used with `text`.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "text", + "description": "(Optional) Looks for this string in logs. Can't be used with `regex`.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "regions", + "description": "(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]).", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" } ], "tags": [ - "sso" + "Logs" ] } }, - "/v1/unscope_organization_token": { - "post": { - "summary": "Unscope Organization Token", - "description": "UnscopeOrganizationToken removes the organization scope from a token. This\nendpoint is useful when a user wants to remove an organization: by\nunscoping the token first, the user can then delete the organization\nwithout invalidating his token.", - "operationId": "UnscopeOrganizationToken", + "/v1/streams/logs/tail": { + "get": { + "summary": "Tails logs", + "operationId": "TailLogs", "responses": { "200": { - "description": "A successful response.", + "description": "A successful response.(streaming responses)", "schema": { - "$ref": "#/definitions/LoginReply" + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/LogEntry" + }, + "error": { + "$ref": "#/definitions/google.rpc.Status" + } + }, + "title": "Stream result of LogEntry" } }, "400": { @@ -12713,108 +12328,132 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UnscopeOrganizationTokenRequest" - } + "name": "type", + "description": "Type of logs to retrieve, either \"build\" or \"runtime\". Defaults to \"runtime\".", + "in": "query", + "required": false, + "type": "string" }, { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", + "name": "app_id", + "description": "(Optional) Filter on the provided app_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", + "in": "query", "required": false, "type": "string" - } - ], - "tags": [ - "organization" - ] - } - }, - "/v2/account/profile": { - "put": { - "summary": "Update User V2", - "operationId": "UpdateUserV2", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/UserReply" - } }, - "400": { - "description": "Validation error", - "schema": { - "$ref": "#/definitions/ErrorWithFields" - } + { + "name": "service_id", + "description": "(Optional) Filter on the provided service_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", + "in": "query", + "required": false, + "type": "string" }, - "401": { - "description": "Returned when the token is not valid.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "deployment_id", + "description": "(Optional) Filter on the provided deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", + "in": "query", + "required": false, + "type": "string" }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "regional_deployment_id", + "description": "(Optional) Filter on the provided regional_deployment_id. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", + "in": "query", + "required": false, + "type": "string" }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "instance_id", + "description": "Deprecated, prefer using instance_ids instead.", + "in": "query", + "required": false, + "type": "string" }, - "500": { - "description": "Returned in case of server error.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "instance_ids", + "description": "(Optional) Filter on the provided instance_ids. At least one of app_id, service_id, deployment_id, regional_deployment_id or instance_ids must be set.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" }, - "503": { - "description": "Service is unavailable.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "stream", + "description": "Deprecated, prefer using streams instead.", + "in": "query", + "required": false, + "type": "string" }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/google.rpc.Status" - } - } - }, - "parameters": [ { - "name": "user", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" - } + "name": "streams", + "description": "(Optional) Filter on stream: either \"stdout\", \"stderr\" or \"koyeb\" (for system logs).", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" }, { - "name": "update_mask", + "name": "start", + "description": "(Optional) Defaults to 24 hours ago.", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "limit", + "description": "(Optional) Defaults to 1000. Maximum of 1000.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "regex", + "description": "(Optional) Apply a regex to filter logs. Can't be used with `text`.", "in": "query", "required": false, "type": "string" + }, + { + "name": "text", + "description": "(Optional) Looks for this string in logs. Can't be used with `regex`.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "regions", + "description": "(Optional) Filter on the provided regions (e.g. [\"fra\", \"was\"]).", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" } ], "tags": [ - "Profile" + "Logs" ] - }, - "patch": { - "summary": "Update User V2", - "operationId": "UpdateUserV22", + } + }, + "/v1/streams/metrics": { + "get": { + "summary": "Get Metrics", + "operationId": "GetMetrics", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UserReply" + "$ref": "#/definitions/GetMetricsReply" } }, "400": { @@ -12862,34 +12501,87 @@ }, "parameters": [ { - "name": "user", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" - } + "name": "service_id", + "description": "ID of the service to query instances metrics for. Ignored if instance_id is set.", + "in": "query", + "required": false, + "type": "string" }, { - "name": "update_mask", + "name": "instance_id", + "description": "ID of the instance to query metrics for.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name", + "description": "Metric to query.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "UNKNOWN", + "CPU_TOTAL_PERCENT", + "MEM_RSS", + "HTTP_THROUGHPUT", + "HTTP_RESPONSE_TIME_50P", + "HTTP_RESPONSE_TIME_90P", + "HTTP_RESPONSE_TIME_99P", + "HTTP_RESPONSE_TIME_MAX", + "PUBLIC_DATA_TRANSFER_IN", + "PUBLIC_DATA_TRANSFER_OUT" + ], + "default": "UNKNOWN" + }, + { + "name": "start", + "description": "(Optional) Defaults to an hour prior to end.", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "end", + "description": "(Optional) Defaults to now.", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "step", + "description": "(Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m.", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Profile" + "Metrics" ] } }, - "/v1/search": { + "/v1/streams/instances/exec": { "get": { - "summary": "Search", - "operationId": "Search", + "summary": "Exec Command", + "description": "This endpoint opens a websocket. Once open, all frames going through the websocket should be formatted in JSON. Input frames should match the format specified below. Output frames will match the response schema.", + "operationId": "ExecCommand", "responses": { "200": { - "description": "A successful response.", + "description": "A successful response.(streaming responses)", "schema": { - "$ref": "#/definitions/ksearch.SearchReply" + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/ExecCommandReply" + }, + "error": { + "$ref": "#/definitions/google.rpc.Status" + } + }, + "title": "Stream result of ExecCommandReply" } }, "400": { @@ -12937,33 +12629,93 @@ }, "parameters": [ { - "name": "query", - "description": "(Optional) Search query", + "name": "id", + "description": "ID of the resource to exec on.", "in": "query", "required": false, "type": "string" - } - ], - "tags": [ - "Search" - ] - } - }, - "/v1/git/branches": { - "get": { - "summary": "List Branches", - "operationId": "ListBranches", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/kgitproxy.ListBranchesReply" - } }, - "400": { - "description": "Validation error", - "schema": { - "$ref": "#/definitions/ErrorWithFields" + { + "name": "body.command", + "description": "Command to exec. Mandatory in the first frame sent", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "body.tty_size.height", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "body.tty_size.width", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "body.stdin.data", + "description": "Data is base64 encoded", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "body.stdin.close", + "description": "Indicate last data frame", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "body.disableTty", + "description": "Disable TTY. It's enough to specify it in the first frame", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "id_type", + "description": "When specified, it is used to determine if the kind of resource the id refers to. If missing, defaults to the instance id.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "INVALID", + "INSTANCE_ID", + "SERVICE_ID" + ], + "default": "INVALID" + } + ], + "tags": [ + "Instances" + ] + } + }, + "/v1/activities": { + "get": { + "summary": "List Activities", + "operationId": "ListActivities", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/ActivityList" + } + }, + "400": { + "description": "Validation error", + "schema": { + "$ref": "#/definitions/ErrorWithFields" } }, "401": { @@ -13005,48 +12757,43 @@ }, "parameters": [ { - "name": "repository_id", - "description": "(Optional) Filter on one repository.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "name", - "description": "(Optional) Filter on branch name using a fuzzy search.\nRepository filter is required to enable this filter.", + "name": "limit", "in": "query", "required": false, "type": "string" }, { - "name": "limit", - "description": "(Optional) The number of items to return.", + "name": "offset", "in": "query", "required": false, "type": "string" }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return.", + "name": "types", + "description": "(Optional) Filter on object type", "in": "query", "required": false, - "type": "string" + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" } ], "tags": [ - "Repositories" + "activity" ] } }, - "/v1/git/repositories": { + "/v1/notifications": { "get": { - "summary": "List Repositories", - "operationId": "ListRepositories", + "summary": "List Notifications", + "operationId": "ListNotifications", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/kgitproxy.ListRepositoriesReply" + "$ref": "#/definitions/NotificationList" } }, "400": { @@ -13094,48 +12841,115 @@ }, "parameters": [ { - "name": "name", - "description": "(Optional) Filter on repository name using a fuzzy search.", + "name": "limit", "in": "query", "required": false, "type": "string" }, { - "name": "name_search_op", - "description": "(Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default.", + "name": "offset", "in": "query", "required": false, "type": "string" }, { - "name": "limit", - "description": "(Optional) The number of items to return.", + "name": "mark_read", "in": "query", "required": false, "type": "string" }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return.", + "name": "mark_seen", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "unread", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "unseen", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Repositories" + "activity" ] } }, - "/v1/git/sync/organization/{organization_id}": { + "/v1/test/anon": { + "get": { + "summary": "Test anonymous call", + "operationId": "TestAnon", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/ktest.TestAnonReply" + } + }, + "400": { + "description": "Validation error", + "schema": { + "$ref": "#/definitions/ErrorWithFields" + } + }, + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } + } + }, + "tags": [ + "Test" + ] + } + }, + "/v1/test/auth": { "post": { - "summary": "Resync Organization", - "operationId": "ResyncOrganization", + "summary": "Test authenticated call", + "operationId": "TestAuth", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/kgitproxy.ResyncOrganizationReply" + "$ref": "#/definitions/ktest.TestAuthReply" } }, "400": { @@ -13183,159 +12997,934 @@ }, "parameters": [ { - "name": "organization_id", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ktest.TestAuthRequest" + } } ], "tags": [ - "Repositories" + "Test" ] } - } - }, - "definitions": { - "google.protobuf.Any": { - "type": "object", - "properties": { - "@type": { - "type": "string" - } - }, - "additionalProperties": {} - }, - "google.protobuf.NullValue": { - "type": "string", - "enum": [ - "NULL_VALUE" - ], - "default": "NULL_VALUE", - "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." - }, - "google.rpc.Status": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/google.protobuf.Any" - } - } - } }, - "Activity": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "actor": { - "$ref": "#/definitions/Object" - }, - "object": { - "$ref": "#/definitions/Object" - }, - "verb": { + "/v1/git/branches": { + "get": { + "summary": "List Branches", + "operationId": "ListBranches", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/kgitproxy.ListBranchesReply" + } + }, + "400": { + "description": "Validation error", + "schema": { + "$ref": "#/definitions/ErrorWithFields" + } + }, + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } + } + }, + "parameters": [ + { + "name": "repository_id", + "description": "(Optional) Filter on one repository.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name", + "description": "(Optional) Filter on branch name using a fuzzy search.\nRepository filter is required to enable this filter.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Repositories" + ] + } + }, + "/v1/git/repositories": { + "get": { + "summary": "List Repositories", + "operationId": "ListRepositories", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/kgitproxy.ListRepositoriesReply" + } + }, + "400": { + "description": "Validation error", + "schema": { + "$ref": "#/definitions/ErrorWithFields" + } + }, + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } + } + }, + "parameters": [ + { + "name": "name", + "description": "(Optional) Filter on repository name using a fuzzy search.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name_search_op", + "description": "(Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Repositories" + ] + } + }, + "/v1/git/sync/organization/{organization_id}": { + "post": { + "summary": "Resync Organization", + "operationId": "ResyncOrganization", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/kgitproxy.ResyncOrganizationReply" + } + }, + "400": { + "description": "Validation error", + "schema": { + "$ref": "#/definitions/ErrorWithFields" + } + }, + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } + } + }, + "parameters": [ + { + "name": "organization_id", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Repositories" + ] + } + }, + "/v1/search": { + "get": { + "summary": "Search", + "operationId": "Search", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/ksearch.SearchReply" + } + }, + "400": { + "description": "Validation error", + "schema": { + "$ref": "#/definitions/ErrorWithFields" + } + }, + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } + } + }, + "parameters": [ + { + "name": "query", + "description": "(Optional) Search query", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Search" + ] + } + } + }, + "definitions": { + "google.protobuf.Any": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "google.rpc.Status": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { "type": "string" }, - "metadata": { - "type": "object" + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/google.protobuf.Any" + } + } + } + }, + "DatacenterListItem": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "e.g. \"par1\"" + }, + "region_id": { + "type": "string", + "title": "e.g. \"par\"" + }, + "domain": { + "type": "string", + "title": "e.g. \"all-par1.infra.prod.koyeb.com\"" + }, + "coordinates": { + "type": "array", + "items": { + "type": "string" + }, + "title": "e.g. \"8.856614\" ,\"2.352221\"?" + }, + "use_gpu": { + "type": "boolean", + "title": "e.g. true" + }, + "regions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "e.g. \"par\", \"fra\"" + } + } + }, + "ListDatacentersReply": { + "type": "object", + "properties": { + "datacenters": { + "type": "array", + "items": { + "$ref": "#/definitions/DatacenterListItem" + } + } + } + }, + "CatalogGPUDetails": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int64", + "title": "The number of GPUs" + }, + "brand": { + "type": "string", + "title": "The brand of GPU" + }, + "memory": { + "type": "string", + "title": "GPU memory" + }, + "name": { + "type": "string", + "title": "Name of GPU" + } + } + }, + "CatalogInstance": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "The name of the instance" + }, + "description": { + "type": "string", + "title": "A short description of the instance" + }, + "vcpu": { + "type": "integer", + "format": "int64", + "description": "The number of cpus. Deprecated. Use vcpu_shares instead." }, - "created_at": { + "memory": { "type": "string", - "format": "date-time" + "title": "The memory in bytes in a format like 5MB" + }, + "disk": { + "type": "string", + "title": "The size of the disk in bytes in a format like 5MB" + }, + "price_per_second": { + "type": "string", + "title": "The price to pay per second" + }, + "price_hourly": { + "type": "string", + "title": "The price to pay per hour" + }, + "price_monthly": { + "type": "string", + "title": "The price to pay per month" + }, + "regions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The regions where this instance type is available" + }, + "status": { + "type": "string", + "title": "The status of the instance" + }, + "require_plan": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The plan required to use instance" + }, + "vcpu_shares": { + "type": "number", + "format": "float", + "description": "The number of vcpu shares reserved for the instance." + }, + "display_name": { + "type": "string", + "title": "The display name of the instance" + }, + "aliases": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Aliases" + }, + "type": { + "type": "string", + "title": "The type of the instance (e.g. \"gpu\")" + }, + "gpu": { + "$ref": "#/definitions/CatalogGPUDetails", + "title": "GPU details" + }, + "service_types": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Allowed service types for this instance (e.g. [\"web\", \"worker\"])" + }, + "volumes_enabled": { + "type": "boolean", + "title": "Are the volumes enabled for this instance type" + }, + "light_sleep_enabled": { + "type": "boolean", + "title": "Is light sleep enabled for this instance type" + } + } + }, + "CatalogInstanceListItem": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "The name of the instance" + }, + "description": { + "type": "string", + "title": "A short description of the instance" + }, + "vcpu": { + "type": "integer", + "format": "int64", + "description": "The number of cpus. Deprecated. Use vcpu_shares instead." + }, + "memory": { + "type": "string", + "title": "The memory in bytes in a format like 5MB" + }, + "disk": { + "type": "string", + "title": "The size of the disk in bytes in a format like 5MB" + }, + "price_per_second": { + "type": "string", + "title": "The price to pay per second" + }, + "price_hourly": { + "type": "string", + "title": "The price to pay per hour" + }, + "price_monthly": { + "type": "string", + "title": "The price to pay per month" + }, + "regions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The regions where this instance type is available" + }, + "status": { + "type": "string", + "title": "The status of the instance" + }, + "require_plan": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The plan required to use instance" + }, + "vcpu_shares": { + "type": "number", + "format": "float", + "description": "The number of vcpu shares reserved for the instance." + }, + "display_name": { + "type": "string", + "title": "The display name of the instance" + }, + "aliases": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Aliases" + }, + "type": { + "type": "string", + "title": "The type of the instance (e.g. \"gpu\")" + }, + "gpu": { + "$ref": "#/definitions/CatalogGPUDetails", + "title": "GPU details" + }, + "service_types": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Allowed service types for this instance (e.g. [\"web\", \"worker\"])" + }, + "volumes_enabled": { + "type": "boolean", + "title": "Are the volumes enabled for this instance type" + }, + "light_sleep_enabled": { + "type": "boolean", + "title": "Is light sleep enabled for this instance type" + } + } + }, + "GetCatalogInstanceReply": { + "type": "object", + "properties": { + "instance": { + "$ref": "#/definitions/CatalogInstance", + "title": "The instance retrieved" + } + } + }, + "ListCatalogInstancesReply": { + "type": "object", + "properties": { + "instances": { + "type": "array", + "items": { + "$ref": "#/definitions/CatalogInstanceListItem" + } + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" + }, + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" + } + } + }, + "AvailabilityLevel": { + "type": "string", + "enum": [ + "UNKNOWN", + "LOW", + "MEDIUM", + "HIGH" + ], + "default": "UNKNOWN" + }, + "CatalogUsage": { + "type": "object", + "properties": { + "instances": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/InstanceAvailability" + } + } + } + }, + "InstanceAvailability": { + "type": "object", + "properties": { + "regions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RegionAvailability" + } + }, + "availability": { + "$ref": "#/definitions/AvailabilityLevel" + } + } + }, + "ListUsageReply": { + "type": "object", + "properties": { + "usage": { + "$ref": "#/definitions/CatalogUsage", + "title": "The Usage retrieved" } } }, - "ActivityList": { + "RegionAvailability": { "type": "object", "properties": { - "activities": { + "availability": { + "$ref": "#/definitions/AvailabilityLevel" + } + } + }, + "GetRegionReply": { + "type": "object", + "properties": { + "region": { + "$ref": "#/definitions/Region", + "title": "The Region retrieved" + } + } + }, + "ListRegionsReply": { + "type": "object", + "properties": { + "regions": { "type": "array", "items": { - "$ref": "#/definitions/Activity" + "$ref": "#/definitions/RegionListItem" } }, "limit": { "type": "integer", - "format": "int64" + "format": "int64", + "title": "The limit in the request" }, "offset": { "type": "integer", - "format": "int64" + "format": "int64", + "title": "The offset in the request" }, - "has_next": { - "type": "boolean" + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" } } }, - "Notification": { + "Region": { "type": "object", "properties": { "id": { - "type": "string" + "type": "string", + "title": "The id of the region" }, - "activity": { - "$ref": "#/definitions/Activity" + "name": { + "type": "string", + "title": "The name of the region" }, - "is_read": { - "type": "boolean" + "coordinates": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The coordinates of the region (lat/long)" }, - "is_seen": { - "type": "boolean" + "status": { + "type": "string", + "title": "The status of the region" }, - "created_at": { + "instances": { + "type": "array", + "items": { + "type": "string" + }, + "title": "A list of instances available in this region" + }, + "datacenters": { + "type": "array", + "items": { + "type": "string" + }, + "title": "A list of datacenters available in this region" + }, + "volumes_enabled": { + "type": "boolean", + "title": "Are the volumes enabled for this instance type" + }, + "scope": { "type": "string", - "format": "date-time" + "description": "The scope of the region, continent, metropolitan area, etc." } } }, - "NotificationList": { + "RegionListItem": { "type": "object", "properties": { - "notifications": { + "id": { + "type": "string", + "title": "The id of the region" + }, + "name": { + "type": "string", + "title": "The name of the region" + }, + "coordinates": { "type": "array", "items": { - "$ref": "#/definitions/Notification" - } + "type": "string" + }, + "title": "The coordinates of the region (lat/long)" + }, + "status": { + "type": "string", + "title": "The status of the region" + }, + "instances": { + "type": "array", + "items": { + "type": "string" + }, + "title": "A list of instances available in this region" + }, + "datacenters": { + "type": "array", + "items": { + "type": "string" + }, + "title": "A list of datacenters available in this region" + }, + "volumes_enabled": { + "type": "boolean", + "title": "Are the volumes enabled for this instance type" + }, + "scope": { + "type": "string", + "description": "The scope of the region, continent, metropolitan area, etc." + } + } + }, + "ListOrganizationMembersReply": { + "type": "object", + "properties": { + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/OrganizationMember" + }, + "title": "The collection of organization members" }, "limit": { "type": "integer", - "format": "int64" + "format": "int64", + "title": "The limit in the request" }, "offset": { "type": "integer", - "format": "int64" + "format": "int64", + "title": "The offset in the request" }, "count": { "type": "integer", - "format": "int64" + "format": "int64", + "title": "The total number of items" + } + } + }, + "Organization.Status": { + "type": "string", + "enum": [ + "WARNING", + "LOCKED", + "ACTIVE", + "DEACTIVATING", + "DEACTIVATED", + "DELETING", + "DELETED" + ], + "default": "WARNING" + }, + "OrganizationMember": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "is_read": { - "type": "boolean" + "organization_id": { + "type": "string" }, - "is_seen": { - "type": "boolean" + "user_id": { + "type": "string" }, - "unread": { - "type": "integer", - "format": "int64" + "external_id": { + "type": "string" }, - "unseen": { - "type": "integer", - "format": "int64" + "joined_at": { + "type": "string", + "format": "date-time" + }, + "role": { + "$ref": "#/definitions/UserRole.Role" + }, + "status": { + "$ref": "#/definitions/OrganizationMember.Status" + }, + "user": { + "$ref": "#/definitions/PublicUser" + }, + "organization": { + "$ref": "#/definitions/PublicOrganization" } } }, - "Object": { + "OrganizationMember.Status": { + "type": "string", + "enum": [ + "INVALID", + "ACTIVE", + "DELETED" + ], + "default": "INVALID" + }, + "Plan": { + "type": "string", + "enum": [ + "hobby", + "starter", + "startup", + "business", + "enterprise", + "internal", + "hobby23", + "no_plan", + "pro", + "scale", + "partner_csp", + "partner_csp_unit" + ], + "default": "hobby" + }, + "PublicOrganization": { "type": "object", "properties": { "id": { @@ -13344,17 +13933,56 @@ "name": { "type": "string" }, - "type": { + "plan": { + "$ref": "#/definitions/Plan" + }, + "status": { + "$ref": "#/definitions/Organization.Status" + }, + "external_id": { + "type": "string" + } + } + }, + "PublicUser": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "metadata": { - "type": "object" + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "github_id": { + "type": "string" }, - "deleted": { - "type": "boolean" + "github_user": { + "type": "string" + } + } + }, + "RemoveOrganizationMemberReply": { + "type": "object", + "properties": { + "member": { + "$ref": "#/definitions/OrganizationMember" } } }, + "UserRole.Role": { + "type": "string", + "enum": [ + "INVALID", + "OWNER" + ], + "default": "INVALID" + }, "Error": { "type": "object", "properties": { @@ -13402,842 +14030,757 @@ } } }, - "CatalogGPUDetails": { + "ConfirmPaymentAuthorizationReply": { "type": "object", "properties": { - "count": { + "payment_method": { + "$ref": "#/definitions/PaymentMethod" + } + } + }, + "CreatePaymentAuthorizationReply": { + "type": "object", + "properties": { + "payment_method": { + "$ref": "#/definitions/PaymentMethod" + } + } + }, + "CreatePaymentAuthorizationRequest": { + "type": "object" + }, + "DeletePaymentMethodReply": { + "type": "object" + }, + "GetPaymentMethodReply": { + "type": "object", + "properties": { + "payment_method": { + "$ref": "#/definitions/PaymentMethod" + } + } + }, + "ListPaymentMethodsReply": { + "type": "object", + "properties": { + "payment_methods": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentMethod" + }, + "title": "The collection of payment methods" + }, + "limit": { "type": "integer", "format": "int64", - "title": "The number of GPUs" - }, - "brand": { - "type": "string", - "title": "The brand of GPU" + "title": "The limit in the request" }, - "memory": { - "type": "string", - "title": "GPU memory" + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" }, - "name": { - "type": "string", - "title": "Name of GPU" + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" } } }, - "CatalogInstance": { + "PaymentMethod": { "type": "object", "properties": { "id": { - "type": "string", - "title": "The name of the instance" - }, - "description": { - "type": "string", - "title": "A short description of the instance" - }, - "vcpu": { - "type": "integer", - "format": "int64", - "description": "The number of cpus. Deprecated. Use vcpu_shares instead." + "type": "string" }, - "memory": { + "created_at": { "type": "string", - "title": "The memory in bytes in a format like 5MB" + "format": "date-time" }, - "disk": { + "updated_at": { "type": "string", - "title": "The size of the disk in bytes in a format like 5MB" + "format": "date-time" }, - "price_per_second": { + "version": { "type": "string", - "title": "The price to pay per second" + "format": "uint64" }, - "price_hourly": { - "type": "string", - "title": "The price to pay per hour" + "organization_id": { + "type": "string" }, - "price_monthly": { - "type": "string", - "title": "The price to pay per month" + "type": { + "type": "string" }, - "regions": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The regions where this instance type is available" + "provider": { + "type": "string" }, "status": { - "type": "string", - "title": "The status of the instance" + "$ref": "#/definitions/PaymentMethod.Status" }, - "require_plan": { + "messages": { "type": "array", "items": { "type": "string" - }, - "title": "The plan required to use instance" + } }, - "vcpu_shares": { - "type": "number", - "format": "float", - "description": "The number of vcpu shares reserved for the instance." + "stripe_payment_method_id": { + "type": "string" }, - "display_name": { + "authorization_verified_at": { "type": "string", - "title": "The display name of the instance" - }, - "aliases": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Aliases" + "format": "date-time" }, - "type": { + "authorization_canceled_at": { "type": "string", - "title": "The type of the instance (e.g. \"gpu\")" + "format": "date-time" }, - "gpu": { - "$ref": "#/definitions/CatalogGPUDetails", - "title": "GPU details" + "authorization_stripe_payment_intent_id": { + "type": "string" }, - "service_types": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Allowed service types for this instance (e.g. [\"web\", \"worker\"])" + "authorization_stripe_payment_intent_client_secret": { + "type": "string" }, - "volumes_enabled": { - "type": "boolean", - "title": "Are the volumes enabled for this instance type" + "card_brand": { + "type": "string" }, - "light_sleep_enabled": { - "type": "boolean", - "title": "Is light sleep enabled for this instance type" - } - } - }, - "CatalogInstanceListItem": { - "type": "object", - "properties": { - "id": { - "type": "string", - "title": "The name of the instance" + "card_country": { + "type": "string" }, - "description": { - "type": "string", - "title": "A short description of the instance" + "card_funding": { + "type": "string" }, - "vcpu": { - "type": "integer", - "format": "int64", - "description": "The number of cpus. Deprecated. Use vcpu_shares instead." + "card_fingerprint": { + "type": "string" }, - "memory": { - "type": "string", - "title": "The memory in bytes in a format like 5MB" + "card_last_digits": { + "type": "string" }, - "disk": { - "type": "string", - "title": "The size of the disk in bytes in a format like 5MB" + "card_expiration_month": { + "type": "integer", + "format": "int64" }, - "price_per_second": { - "type": "string", - "title": "The price to pay per second" + "card_expiration_year": { + "type": "integer", + "format": "int64" + } + } + }, + "PaymentMethod.Status": { + "type": "string", + "enum": [ + "INVALID", + "CREATED", + "AUTHORIZED", + "DECLINED", + "CANCELED", + "EXPIRED", + "UNCHECKED" + ], + "default": "INVALID" + }, + "DeleteUserReply": { + "type": "object", + "properties": { + "user": { + "$ref": "#/definitions/User" + } + } + }, + "User": { + "type": "object", + "example": { + "id": "78352123-a06f-4ec2-81ed-27a056725385", + "email": "john@snow.com", + "name": "John Snow", + "avatar_url": "https://www.gravatar.com/avatar/00000000000000000000000000000000", + "is_admin": false, + "is_test": true, + "two_factor_authentication": false, + "last_login": "0001-01-01T00:00:00Z", + "last_login_id": "10.1.1.1", + "updated_at": "0001-01-01T00:00:00Z", + "created_at": "0001-01-01T00:00:00Z", + "newsletter_subscribed": true, + "email_validated": true + }, + "properties": { + "id": { + "type": "string" }, - "price_hourly": { - "type": "string", - "title": "The price to pay per hour" + "email": { + "type": "string" }, - "price_monthly": { - "type": "string", - "title": "The price to pay per month" + "avatar_url": { + "type": "string" }, - "regions": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The regions where this instance type is available" + "two_factor_authentication": { + "type": "boolean" }, - "status": { + "last_login": { "type": "string", - "title": "The status of the instance" - }, - "require_plan": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The plan required to use instance" + "format": "date-time" }, - "vcpu_shares": { - "type": "number", - "format": "float", - "description": "The number of vcpu shares reserved for the instance." + "last_login_ip": { + "type": "string" }, - "display_name": { + "updated_at": { "type": "string", - "title": "The display name of the instance" - }, - "aliases": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Aliases" + "format": "date-time" }, - "type": { + "created_at": { "type": "string", - "title": "The type of the instance (e.g. \"gpu\")" + "format": "date-time" }, - "gpu": { - "$ref": "#/definitions/CatalogGPUDetails", - "title": "GPU details" + "newsletter_subscribed": { + "type": "boolean" }, - "service_types": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Allowed service types for this instance (e.g. [\"web\", \"worker\"])" + "github_id": { + "type": "string" }, - "volumes_enabled": { - "type": "boolean", - "title": "Are the volumes enabled for this instance type" + "github_user": { + "type": "string" }, - "light_sleep_enabled": { - "type": "boolean", - "title": "Is light sleep enabled for this instance type" - } - } - }, - "GetCatalogInstanceReply": { - "type": "object", - "properties": { - "instance": { - "$ref": "#/definitions/CatalogInstance", - "title": "The instance retrieved" - } - } - }, - "ListCatalogInstancesReply": { - "type": "object", - "properties": { - "instances": { + "flags": { "type": "array", "items": { - "$ref": "#/definitions/CatalogInstanceListItem" + "$ref": "#/definitions/UserFlags" } }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" + "name": { + "type": "string" }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" + "email_validated": { + "type": "boolean" }, - "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" + "trialed": { + "type": "boolean" } - } + }, + "title": "Represent a User" }, - "AvailabilityLevel": { + "UserFlags": { "type": "string", "enum": [ - "UNKNOWN", - "LOW", - "MEDIUM", - "HIGH" + "ADMIN", + "TEST", + "RESTRICTED", + "ACTIVE", + "BETA", + "MAX_ORGANIZATIONS_25", + "MAX_ORGANIZATIONS_100", + "MAX_ORGANIZATIONS_1000", + "MAX_ORGANIZATIONS_10000", + "MAX_ORGANIZATIONS_100000", + "MAX_ORGANIZATIONS_1000000", + "PARTNER_CSP", + "IGNORE_ORGANIZATION_NAME_RESERVATION_RULE_NEON_PREFIX" ], - "default": "UNKNOWN" - }, - "CatalogUsage": { - "type": "object", - "properties": { - "instances": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/InstanceAvailability" - } - } - } - }, - "InstanceAvailability": { - "type": "object", - "properties": { - "regions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/RegionAvailability" - } - }, - "availability": { - "$ref": "#/definitions/AvailabilityLevel" - } - } - }, - "ListUsageReply": { - "type": "object", - "properties": { - "usage": { - "$ref": "#/definitions/CatalogUsage", - "title": "The Usage retrieved" - } - } + "default": "ADMIN", + "title": "- ADMIN: A user is an admin user\n - TEST: A user is a test user\n - RESTRICTED: Whether this account as restricted access\n - ACTIVE: Whether this account is active\n - BETA: Account in beta program\n - MAX_ORGANIZATIONS_25: User can create this much organizations, overriding the default amount\n - PARTNER_CSP: User can create sub-organizations\n - IGNORE_ORGANIZATION_NAME_RESERVATION_RULE_NEON_PREFIX: User can bypass organization name reservations rules" }, - "RegionAvailability": { + "GetIntercomProfileReply": { "type": "object", "properties": { - "availability": { - "$ref": "#/definitions/AvailabilityLevel" + "hash": { + "type": "string" } } }, - "GetRegionReply": { + "GetSubscriptionReply": { "type": "object", "properties": { - "region": { - "$ref": "#/definitions/Region", - "title": "The Region retrieved" + "subscription": { + "$ref": "#/definitions/Subscription" } } }, - "ListRegionsReply": { + "Subscription": { "type": "object", "properties": { - "regions": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "version": { + "type": "string", + "format": "uint64" + }, + "organization_id": { + "type": "string" + }, + "stripe_subscription_id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/Subscription.Status" + }, + "messages": { "type": "array", "items": { - "$ref": "#/definitions/RegionListItem" + "type": "string" } }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" + "has_pending_update": { + "type": "boolean" }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" + "stripe_pending_invoice_id": { + "type": "string" }, - "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" - } - } - }, - "Region": { - "type": "object", - "properties": { - "id": { + "terminate_at": { "type": "string", - "title": "The id of the region" + "format": "date-time" + }, + "canceled_at": { + "type": "string", + "format": "date-time" + }, + "terminated_at": { + "type": "string", + "format": "date-time" + }, + "current_period_start": { + "type": "string", + "format": "date-time" + }, + "current_period_end": { + "type": "string", + "format": "date-time" + }, + "currency": { + "type": "string" }, - "name": { + "amount_payable": { "type": "string", - "title": "The name of the region" + "format": "int64" }, - "coordinates": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The coordinates of the region (lat/long)" + "amount_paid": { + "type": "string", + "format": "int64" }, - "status": { + "amount_remaining": { "type": "string", - "title": "The status of the region" + "format": "int64" }, - "instances": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of instances available in this region" + "payment_failure": { + "$ref": "#/definitions/Subscription.PaymentFailure" }, - "datacenters": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of datacenters available in this region" + "trialing": { + "type": "boolean" }, - "volumes_enabled": { - "type": "boolean", - "title": "Are the volumes enabled for this instance type" + "trial_ends_at": { + "type": "string", + "format": "date-time" }, - "scope": { + "trial_max_spend": { "type": "string", - "description": "The scope of the region, continent, metropolitan area, etc." + "format": "int64" + }, + "current_spend": { + "type": "string", + "format": "int64" } } }, - "RegionListItem": { + "Subscription.PaymentFailure": { "type": "object", "properties": { - "id": { + "failed_at": { "type": "string", - "title": "The id of the region" + "format": "date-time" }, - "name": { + "next_attempt": { "type": "string", - "title": "The name of the region" - }, - "coordinates": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The coordinates of the region (lat/long)" + "format": "date-time" }, - "status": { + "attempt_count": { "type": "string", - "title": "The status of the region" + "format": "int64" }, - "instances": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of instances available in this region" + "error_code": { + "type": "string" }, - "datacenters": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of datacenters available in this region" + "error_reason": { + "type": "string" }, - "volumes_enabled": { - "type": "boolean", - "title": "Are the volumes enabled for this instance type" + "error_type": { + "type": "string" }, - "scope": { - "type": "string", - "description": "The scope of the region, continent, metropolitan area, etc." + "error_message": { + "type": "string" + }, + "payment_method_required": { + "type": "boolean" + }, + "redirect_url": { + "type": "string" + }, + "stripe_sdk": { + "$ref": "#/definitions/Subscription.PaymentFailure.StripeSDK" } } }, - "DatacenterListItem": { + "Subscription.PaymentFailure.StripeSDK": { "type": "object", "properties": { - "id": { - "type": "string", - "title": "e.g. \"par1\"" - }, - "region_id": { - "type": "string", - "title": "e.g. \"par\"" + "client_secret_key": { + "type": "string" }, - "domain": { + "raw_json": { + "type": "string" + } + } + }, + "Subscription.Status": { + "type": "string", + "enum": [ + "INVALID", + "CREATED", + "ACTIVE", + "WARNING", + "URGENT", + "CANCELING", + "CANCELED", + "TERMINATING", + "TERMINATED" + ], + "default": "INVALID" + }, + "google.protobuf.NullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "AcceptOrganizationInvitationReply": { + "type": "object", + "properties": { + "invitation": { + "$ref": "#/definitions/OrganizationInvitation", + "title": "The organization invitation accepted" + } + } + }, + "Action": { + "type": "string", + "enum": [ + "signin", + "signup", + "register" + ], + "default": "signin" + }, + "Budget": { + "type": "object", + "properties": { + "amount": { "type": "string", - "title": "e.g. \"all-par1.infra.prod.koyeb.com\"" - }, - "coordinates": { - "type": "array", - "items": { - "type": "string" - }, - "title": "e.g. \"8.856614\" ,\"2.352221\"?" - }, - "use_gpu": { - "type": "boolean", - "title": "e.g. true" + "format": "int64" }, - "regions": { + "thresholds": { "type": "array", "items": { - "type": "string" - }, - "title": "e.g. \"par\", \"fra\"" + "type": "string", + "format": "int64" + } } } }, - "ListDatacentersReply": { + "CannyAuthReply": { "type": "object", "properties": { - "datacenters": { - "type": "array", - "items": { - "$ref": "#/definitions/DatacenterListItem" - } + "token": { + "type": "string" } } }, - "ExecCommandIO": { + "CannyAuthRequest": { + "type": "object" + }, + "ClearIdenfyVerificationResultReply": { + "type": "object" + }, + "ClearIdenfyVerificationResultRequest": { "type": "object", "properties": { - "data": { - "type": "string", - "format": "byte", - "description": "Data is base64 encoded" + "user_id": { + "type": "string" }, - "close": { - "type": "boolean", - "description": "Indicate last data frame" + "organization_id": { + "type": "string" } } }, - "ExecCommandReply": { + "CreateAccessTokenReply": { "type": "object", "properties": { - "stdout": { - "$ref": "#/definitions/ExecCommandIO" + "token": { + "type": "string" + } + } + }, + "CreateAccountRequest": { + "type": "object", + "example": { + "email": "john@snow.com", + "password": "..." + }, + "properties": { + "email": { + "type": "string" }, - "stderr": { - "$ref": "#/definitions/ExecCommandIO" + "password": { + "type": "string" }, - "exited": { - "type": "boolean" + "name": { + "type": "string" }, - "exit_code": { - "type": "integer", - "format": "int32" + "captcha": { + "type": "string" } - } + }, + "description": "Create new account", + "title": "Create new account", + "required": [ + "email", + "password" + ] }, - "ExecCommandRequest.Body": { + "CreateBudgetReply": { "type": "object", "properties": { - "command": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Command to exec. Mandatory in the first frame sent" - }, - "tty_size": { - "$ref": "#/definitions/ExecCommandRequest.TerminalSize" - }, - "stdin": { - "$ref": "#/definitions/ExecCommandIO" - }, - "disableTty": { - "type": "boolean", - "description": "Disable TTY. It's enough to specify it in the first frame" + "budget": { + "$ref": "#/definitions/Budget" } } }, - "ExecCommandRequest.IdType": { - "type": "string", - "enum": [ - "INVALID", - "INSTANCE_ID", - "SERVICE_ID" - ], - "default": "INVALID" - }, - "ExecCommandRequest.TerminalSize": { + "CreateOrganizationReply": { "type": "object", "properties": { - "height": { - "type": "integer", - "format": "int32" - }, - "width": { - "type": "integer", - "format": "int32" + "organization": { + "$ref": "#/definitions/Organization" } } }, - "LogEntry": { + "CreateOrganizationRequest": { "type": "object", "properties": { - "msg": { + "name": { "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "labels": { - "type": "object" } } }, - "QueryLogsReply": { + "DeactivateOrganizationReply": { "type": "object", "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/definitions/LogEntry" - } - }, - "pagination": { - "$ref": "#/definitions/QueryLogsReplyPagination" + "organization": { + "$ref": "#/definitions/Organization" } } }, - "QueryLogsReplyPagination": { + "DeclineOrganizationInvitationReply": { "type": "object", "properties": { - "has_more": { - "type": "boolean" - }, - "next_start": { - "type": "string", - "format": "date-time" - }, - "next_end": { - "type": "string", - "format": "date-time" + "invitation": { + "$ref": "#/definitions/OrganizationInvitation", + "title": "The organization invitation declined" } } }, - "GetMetricsReply": { + "DeleteBudgetReply": { + "type": "object" + }, + "DeleteOrganizationReply": { "type": "object", "properties": { - "metrics": { - "type": "array", - "items": { - "$ref": "#/definitions/GetMetricsReply.Metric" - } + "organization": { + "$ref": "#/definitions/Organization" } } }, - "GetMetricsReply.Metric": { + "DiscourseAuthReply": { "type": "object", "properties": { - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - } + "sso": { + "type": "string" }, - "samples": { - "type": "array", - "items": { - "$ref": "#/definitions/Sample" - } + "sig": { + "type": "string" } } }, - "MetricName": { - "type": "string", - "enum": [ - "UNKNOWN", - "CPU_TOTAL_PERCENT", - "MEM_RSS", - "HTTP_THROUGHPUT", - "HTTP_RESPONSE_TIME_50P", - "HTTP_RESPONSE_TIME_90P", - "HTTP_RESPONSE_TIME_99P", - "HTTP_RESPONSE_TIME_MAX", - "PUBLIC_DATA_TRANSFER_IN", - "PUBLIC_DATA_TRANSFER_OUT" - ], - "default": "UNKNOWN" - }, - "Sample": { + "DiscourseAuthRequest": { "type": "object", "properties": { - "timestamp": { + "payload": { "type": "string" }, - "value": { - "type": "number", - "format": "double" + "sig": { + "type": "string" } } }, - "GetInstanceReply": { + "GetBudgetReply": { "type": "object", "properties": { - "instance": { - "$ref": "#/definitions/Instance" + "budget": { + "$ref": "#/definitions/Budget" } } }, - "Instance": { + "GetGithubInstallationReply": { "type": "object", "properties": { - "id": { + "installation_id": { "type": "string" }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "organization_id": { + "installation_url": { "type": "string" }, - "app_id": { + "name": { "type": "string" }, - "service_id": { + "avatar_url": { "type": "string" }, - "regional_deployment_id": { - "type": "string" + "status": { + "$ref": "#/definitions/kgitproxy.GithubInstallation.Status" }, - "allocation_id": { - "type": "string" + "installed_at": { + "type": "string", + "format": "date-time" }, - "type": { - "type": "string" + "suspended_at": { + "type": "string", + "format": "date-time" }, - "replica_index": { + "indexing_status": { + "$ref": "#/definitions/kgitproxy.IndexingStatus" + }, + "indexed_repositories": { "type": "integer", "format": "int64" }, - "region": { - "type": "string" - }, - "datacenter": { - "type": "string" - }, - "hypervisor": { + "total_repositories": { + "type": "integer", + "format": "int64" + } + } + }, + "GetIdenfyTokenReply": { + "type": "object", + "properties": { + "auth_token": { "type": "string" - }, - "status": { - "$ref": "#/definitions/Instance.Status" - }, - "messages": { + } + } + }, + "GetOAuthOptionsReply": { + "type": "object", + "properties": { + "oauth_providers": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/OAuthProvider" } - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "succeeded_at": { - "type": "string", - "format": "date-time" - }, - "terminated_at": { - "type": "string", - "format": "date-time" - }, - "xyz_deployment_id": { - "type": "string", - "description": "WARNING: Please don't use the following attribute.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK." + } + }, + "description": "A list of providers which you can use for single sign-on." + }, + "GetOrganizationReply": { + "type": "object", + "properties": { + "organization": { + "$ref": "#/definitions/Organization" } } }, - "Instance.Status": { - "type": "string", - "enum": [ - "ALLOCATING", - "STARTING", - "HEALTHY", - "UNHEALTHY", - "STOPPING", - "STOPPED", - "ERROR", - "SLEEPING" - ], - "default": "ALLOCATING" + "GetUserOrganizationInvitationReply": { + "type": "object", + "properties": { + "invitation": { + "$ref": "#/definitions/OrganizationInvitation" + } + } + }, + "GetUserSettingsReply": { + "type": "object", + "properties": { + "settings": { + "$ref": "#/definitions/UserSettings" + } + } }, - "InstanceEvent": { + "GithubInstallationReply": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "when": { + "app_name": { "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string" - }, - "instance_id": { - "type": "string" + "title": "The github app name" }, - "type": { - "type": "string" + "app_id": { + "type": "string", + "format": "int64", + "title": "The github app id" }, - "message": { - "type": "string" + "url": { + "type": "string", + "title": "The url to start the installation flow" }, - "metadata": { - "type": "object" + "state": { + "type": "string", + "title": "The state required by the protocol, it is only valid 10 minutes and encodes\ninformation about the type of flow" } } }, - "InstanceListItem": { + "GithubInstallationRequest": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { + "metadata": { "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string" - }, - "app_id": { - "type": "string" - }, - "service_id": { - "type": "string" - }, - "regional_deployment_id": { - "type": "string" - }, - "allocation_id": { - "type": "string" - }, - "type": { + "title": "A small (limited to 400 characters) string of arbitrary metadata which will\nbe encoded in the state" + } + } + }, + "HasUnpaidInvoicesReply": { + "type": "object", + "properties": { + "has_unpaid_invoices": { + "type": "boolean" + } + } + }, + "InviteUserRequest": { + "type": "object", + "properties": { + "email": { "type": "string" }, - "replica_index": { - "type": "integer", - "format": "int64" - }, - "region": { + "name": { "type": "string" }, - "datacenter": { + "message": { "type": "string" - }, - "status": { - "$ref": "#/definitions/Instance.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "xyz_deployment_id": { - "type": "string", - "description": "WARNING: Please don't use the following attribute.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK." } } }, - "ListInstanceEventsReply": { + "ListUserOrganizationInvitationsReply": { "type": "object", "properties": { - "events": { + "invitations": { "type": "array", "items": { - "$ref": "#/definitions/InstanceEvent" + "$ref": "#/definitions/OrganizationInvitation" }, - "title": "The collection of events" + "title": "The collection of organization invitations" }, "limit": { "type": "integer", @@ -14249,25 +14792,22 @@ "format": "int64", "title": "The offset in the request" }, - "order": { - "type": "string", - "title": "The order in the request" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" } } }, - "ListInstancesReply": { + "ListUserOrganizationsReply": { "type": "object", "properties": { - "instances": { + "organizations": { "type": "array", "items": { - "$ref": "#/definitions/InstanceListItem" + "$ref": "#/definitions/Organization" }, - "title": "The collection of instances" + "title": "The collection of organizations" }, "limit": { "type": "integer", @@ -14279,1555 +14819,1375 @@ "format": "int64", "title": "The offset in the request" }, - "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" - }, - "order": { - "type": "string", - "title": "The order in the request" + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "VerifyDockerImageReply": { + "LoginMethodReply": { "type": "object", "properties": { - "success": { - "type": "boolean", - "title": "Whether the image is accessible or not" - }, - "reason": { - "type": "string", - "title": "(Optional) If the image is not accessible, the reason" - }, - "code": { - "$ref": "#/definitions/VerifyDockerImageReply.ErrCode", - "title": "(Optional) If the image is not accessible, return an error code" + "method": { + "$ref": "#/definitions/LoginMethodReply.Method" } } }, - "VerifyDockerImageReply.ErrCode": { + "LoginMethodReply.Method": { "type": "string", "enum": [ - "UNKNOWN", - "AUTH_ACCESS_DENIED", - "ANON_ACCESS_DENIED", - "AUTH_NOT_FOUND", - "ANON_NOT_FOUND", - "REGISTRY_ERROR", - "TIMEOUT", - "DNS", - "MALFORMED", - "INVALID_OS", - "INVALID_ARCH", - "INVALID_SCHEME", - "GENERIC" + "KOYEB", + "WORKOS" ], - "default": "UNKNOWN", - "description": "- UNKNOWN: Default value\n - AUTH_ACCESS_DENIED: The registry denied access to an authenticated request\n - ANON_ACCESS_DENIED: The registry denied access to an anonymous request\n - AUTH_NOT_FOUND: The image has not been found after an authenticated request\n - ANON_NOT_FOUND: The image has not been found after an anonymous request\n - REGISTRY_ERROR: The registry returned an error\n - TIMEOUT: The request to the registry timed out\n - DNS: There was an error trying to resolve the name of the registry\n - MALFORMED: The provided image name is malformed\n - INVALID_OS: The operating system is not supported\n - INVALID_ARCH: The architecture is not supported\n - INVALID_SCHEME: The scheme is not https\n - GENERIC: Generic catch-all error code", - "title": "The error code associated to each specific failure mode" + "default": "KOYEB" }, - "BasicAuthPolicy": { + "LoginReply": { "type": "object", "properties": { - "username": { - "type": "string" - }, - "password": { + "token": { + "$ref": "#/definitions/Token" + } + } + }, + "ManageReply": { + "type": "object", + "properties": { + "url": { "type": "string" } } }, - "SecurityPolicies": { + "NextInvoiceReply": { "type": "object", "properties": { - "basic_auths": { + "stripe_invoice": { + "type": "object" + }, + "lines": { "type": "array", "items": { - "$ref": "#/definitions/BasicAuthPolicy" + "$ref": "#/definitions/NextInvoiceReply.Line" } }, - "api_keys": { + "discounts": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/NextInvoiceReply.Discount" } } } }, - "ArchiveSource": { + "NextInvoiceReply.Discount": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/NextInvoiceReply.Discount.Type" + }, + "name": { + "type": "string" + }, + "amount": { + "type": "string", + "format": "int64" + } + } + }, + "NextInvoiceReply.Discount.Type": { + "type": "string", + "enum": [ + "PERCENT_OFF", + "AMOUNT_OFF" + ], + "default": "PERCENT_OFF" + }, + "NextInvoiceReply.Line": { + "type": "object", + "properties": { + "amount_excluding_tax": { + "type": "integer", + "format": "int32" + }, + "period": { + "$ref": "#/definitions/NextInvoiceReply.Line.Period" + }, + "plan_nickname": { + "type": "string" + }, + "price": { + "$ref": "#/definitions/NextInvoiceReply.Line.Price" + }, + "quantity": { + "type": "integer", + "format": "int32" + } + } + }, + "NextInvoiceReply.Line.Period": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date-time" + }, + "end": { + "type": "string", + "format": "date-time" + } + } + }, + "NextInvoiceReply.Line.Price": { "type": "object", "properties": { - "id": { - "type": "string", - "title": "The ID of the archive to deploy" - }, - "buildpack": { - "$ref": "#/definitions/BuildpackBuilder" - }, - "docker": { - "$ref": "#/definitions/DockerBuilder" + "unit_amount_decimal": { + "type": "number", + "format": "double" } } }, - "BuildpackBuilder": { + "OAuthCallbackReply": { "type": "object", "properties": { - "build_command": { + "token": { + "$ref": "#/definitions/Token", + "title": "A jwt token to be used for session" + } + } + }, + "OAuthCallbackRequest": { + "type": "object", + "properties": { + "state": { "type": "string", - "title": "A command used to override the build command, run after all build steps" + "title": "The state created at the origin of the OAuth flow" }, - "run_command": { + "code": { "type": "string", - "title": "A command used to override the default run command" + "title": "The code returned by the OAuth provider" }, - "privileged": { - "type": "boolean", - "title": "A flag to run the container in privileged mode" + "setup_action": { + "type": "string", + "description": "setup_action is populated in the context of a GitHub app installation\nrequest. For logins and signups, it is not set." + }, + "installation_id": { + "type": "string", + "description": "installation_id is populated in the context of a GitHub app installation\nrequest. For logins and signups, it is not set." } } }, - "ConfigFile": { + "OAuthProvider": { "type": "object", "properties": { - "path": { + "id": { "type": "string", - "title": "the path where the file is copied" + "title": "The name of the provider (.e.g github, google)" }, - "permissions": { + "url": { "type": "string", - "title": "the permissions of the file in format 0644" + "title": "The URL to call to initiate the OAuth flow" }, - "content": { + "state": { "type": "string", - "title": "the content of the file" + "title": "The OAuth state required by the protocol, it is only valid 10 minutes and\nencodes information about the type of flow" } } }, - "DeploymentHealthCheck": { + "Organization": { "type": "object", "properties": { - "grace_period": { - "type": "integer", - "format": "int64", - "title": "An optional initial period in seconds to wait for the instance to become healthy, default is 5s" + "id": { + "type": "string" }, - "interval": { - "type": "integer", - "format": "int64", - "title": "An optional period in seconds between two health checks, default is 60s" + "external_id": { + "type": "string" }, - "restart_limit": { - "type": "integer", - "format": "int64", - "title": "An optional number of consecutive failures before attempting to restart the service, default is 3" + "provisioning": { + "type": "boolean" }, - "timeout": { - "type": "integer", - "format": "int64", - "title": "An optional maximum time to wait in seconds before considering the check as a failure, default is 5s" + "address1": { + "type": "string" }, - "tcp": { - "$ref": "#/definitions/TCPHealthCheck" + "address2": { + "type": "string" }, - "http": { - "$ref": "#/definitions/HTTPHealthCheck" - } - } - }, - "DeploymentProvisioningInfo": { - "type": "object", - "properties": { - "sha": { - "type": "string", - "description": "The git sha for this build (we resolve the reference at the start of the build)." + "city": { + "type": "string" }, - "image": { - "type": "string", - "description": "The docker image built as a result of this build." + "postal_code": { + "type": "string" }, - "stages": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage" - }, - "description": "Some info about the build." - } - } - }, - "DeploymentProvisioningInfo.Stage": { - "type": "object", - "properties": { - "name": { + "state": { "type": "string" }, - "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + "country": { + "type": "string" }, - "messages": { - "type": "array", - "items": { - "type": "string" - } + "company": { + "type": "boolean" }, - "started_at": { - "type": "string", - "format": "date-time" + "vat_number": { + "type": "string" }, - "finished_at": { + "billing_name": { + "type": "string" + }, + "billing_email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "plan": { + "$ref": "#/definitions/Plan" + }, + "plan_updated_at": { "type": "string", "format": "date-time" }, - "build_attempts": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.BuildAttempt" - } - } - } - }, - "DeploymentProvisioningInfo.Stage.BuildAttempt": { - "type": "object", - "properties": { - "id": { - "type": "integer", - "format": "int64" + "has_payment_method": { + "type": "boolean" + }, + "subscription_id": { + "type": "string" + }, + "current_subscription_id": { + "type": "string" + }, + "latest_subscription_id": { + "type": "string" + }, + "signup_qualification": { + "type": "object" }, "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + "$ref": "#/definitions/Organization.Status" }, - "messages": { - "type": "array", - "items": { - "type": "string" - } + "status_message": { + "$ref": "#/definitions/OrganizationDetailedStatus" }, - "started_at": { + "deactivation_reason": { + "$ref": "#/definitions/Organization.DeactivationReason" + }, + "verified": { + "type": "boolean" + }, + "qualifies_for_hobby23": { + "type": "boolean" + }, + "reprocess_after": { "type": "string", "format": "date-time" }, - "finished_at": { + "trialing": { + "type": "boolean" + }, + "trial_starts_at": { "type": "string", "format": "date-time" }, - "steps": { + "trial_ends_at": { + "type": "string", + "format": "date-time" + }, + "email_domain_allowlist": { "type": "array", "items": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep" + "type": "string" } }, - "image_pushed": { - "type": "boolean" - }, - "internal_failure": { - "type": "boolean" - }, - "retryable_failure": { - "type": "boolean" - }, - "wait_completion": { - "type": "boolean", - "description": "This flag is used to finalize the build, and continue the deployment in case of success, or cancel and potentially retry the build in case of failure." + "default_project_id": { + "type": "string" } - } + }, + "title": "Represent an Organization" + }, + "Organization.DeactivationReason": { + "type": "string", + "enum": [ + "INVALID", + "REQUESTED_BY_OWNER", + "SUBSCRIPTION_TERMINATION", + "LOCKED_BY_ADMIN", + "VERIFICATION_FAILED", + "TRIAL_DID_NOT_CONVERT" + ], + "default": "INVALID" + }, + "OrganizationDetailedStatus": { + "type": "string", + "enum": [ + "NEW", + "EMAIL_NOT_VALIDATED", + "BILLING_INFO_MISSING", + "LOCKED", + "PAYMENT_FAILURE", + "VALID", + "PENDING_VERIFICATION", + "VERIFICATION_FAILED", + "REVIEWING_ACCOUNT", + "PLAN_UPGRADE_REQUIRED" + ], + "default": "NEW" }, - "DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep": { + "OrganizationInvitation": { "type": "object", "properties": { - "name": { + "id": { "type": "string" }, - "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + "email": { + "type": "string" }, - "messages": { - "type": "array", - "items": { - "type": "string" - } + "role": { + "$ref": "#/definitions/UserRole.Role" }, - "started_at": { - "type": "string", - "format": "date-time" + "status": { + "$ref": "#/definitions/OrganizationInvitation.Status" }, - "finished_at": { + "expires_at": { "type": "string", "format": "date-time" + }, + "organization_id": { + "type": "string" + }, + "organization": { + "$ref": "#/definitions/PublicOrganization" + }, + "invitee_id": { + "type": "string" + }, + "invitee": { + "$ref": "#/definitions/PublicUser" + }, + "inviter_id": { + "type": "string" + }, + "inviter": { + "$ref": "#/definitions/PublicUser" } } }, - "DeploymentProvisioningInfo.Stage.Status": { + "OrganizationInvitation.Status": { "type": "string", "enum": [ - "UNKNOWN", + "INVALID", "PENDING", - "RUNNING", - "FAILED", - "COMPLETED", - "ABORTED" + "ACCEPTED", + "REFUSED", + "EXPIRED" ], - "default": "UNKNOWN" + "default": "INVALID" }, - "DeploymentScalingTarget": { + "ReactivateOrganizationReply": { "type": "object", "properties": { - "average_cpu": { - "$ref": "#/definitions/DeploymentScalingTargetAverageCPU" - }, - "average_mem": { - "$ref": "#/definitions/DeploymentScalingTargetAverageMem" - }, - "requests_per_second": { - "$ref": "#/definitions/DeploymentScalingTargetRequestsPerSecond" - }, - "concurrent_requests": { - "$ref": "#/definitions/DeploymentScalingTargetConcurrentRequests" - }, - "requests_response_time": { - "$ref": "#/definitions/DeploymentScalingTargetRequestsResponseTime" - }, - "sleep_idle_delay": { - "$ref": "#/definitions/DeploymentScalingTargetSleepIdleDelay" + "organization": { + "$ref": "#/definitions/Organization" } } }, - "DeploymentScalingTargetAverageCPU": { + "ResendEmailValidationReply": { + "type": "object" + }, + "ResendEmailValidationRequest": { + "type": "object" + }, + "ResetPasswordReply": { + "type": "object" + }, + "ResetPasswordRequest": { "type": "object", + "example": { + "email": "john@snow.com" + }, "properties": { - "value": { - "type": "integer", - "format": "int64" + "email": { + "type": "string" } } }, - "DeploymentScalingTargetAverageMem": { + "Token": { "type": "object", + "example": { + "id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", + "expires": "2022-09-08T14:00:00Z", + "user_id": "996d7822-6b58-11e9-956f-32001b70f000", + "organization_id": "9f33b2c6-6b58-11e9-883c-32001b70f000" + }, "properties": { - "value": { - "type": "integer", - "format": "int64" + "id": { + "type": "string" + }, + "user_id": { + "type": "string" + }, + "organization_id": { + "type": "string" + }, + "expires_at": { + "type": "string", + "format": "date-time" } } }, - "DeploymentScalingTargetConcurrentRequests": { + "UnscopeOrganizationTokenRequest": { + "type": "object" + }, + "UpdateBudgetReply": { "type": "object", "properties": { - "value": { - "type": "integer", - "format": "int64" + "budget": { + "$ref": "#/definitions/Budget" } } }, - "DeploymentScalingTargetRequestsPerSecond": { + "UpdateOrganizationDefaultProjectReply": { "type": "object", "properties": { - "value": { - "type": "integer", - "format": "int64" + "organization": { + "$ref": "#/definitions/Organization" } } }, - "DeploymentScalingTargetRequestsResponseTime": { + "UpdateOrganizationNameReply": { "type": "object", "properties": { - "value": { - "type": "integer", - "format": "int64" - }, - "quantile": { - "type": "integer", - "format": "int64", - "description": "The quantile to use for autoscaling. For example, set to 95 to use the 95th\npercentile (p95) for autoscaling. Valid values are between 0 and 100." + "organization": { + "$ref": "#/definitions/Organization" } } }, - "DeploymentScalingTargetSleepIdleDelay": { + "UpdateOrganizationPlanReply": { "type": "object", "properties": { - "value": { - "type": "integer", - "format": "int64", - "description": "DEPRECATED: use deep_sleep_value instead.\nDelay in seconds after which a service which received 0 request is put to deep sleep." - }, - "deep_sleep_value": { - "type": "integer", - "format": "int64", - "description": "Delay in seconds after which a service which received 0 request is put to deep sleep." - }, - "light_sleep_value": { - "type": "integer", - "format": "int64", - "description": "Delay in seconds after which a service which received 0 request is put to light sleep." + "organization": { + "$ref": "#/definitions/Organization" } } }, - "DeploymentStrategy": { + "UpdateOrganizationReply": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/DeploymentStrategyType", - "title": "Strategy type" + "organization": { + "$ref": "#/definitions/Organization" } } }, - "DeploymentStrategyType": { - "type": "string", - "enum": [ - "DEPLOYMENT_STRATEGY_TYPE_INVALID", - "DEPLOYMENT_STRATEGY_TYPE_DEFAULT", - "DEPLOYMENT_STRATEGY_TYPE_CANARY", - "DEPLOYMENT_STRATEGY_TYPE_ROLLING", - "DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN", - "DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE" - ], - "default": "DEPLOYMENT_STRATEGY_TYPE_INVALID", - "description": " - DEPLOYMENT_STRATEGY_TYPE_INVALID: DEPRECATED: Use DEPLOYMENT_STRATEGY_TYPE_DEFAULT instead.\n - DEPLOYMENT_STRATEGY_TYPE_DEFAULT: Default/unspecified strategy (resolves to platform default, currently ROLLING).\n - DEPLOYMENT_STRATEGY_TYPE_CANARY: Use canary strategy.\n - DEPLOYMENT_STRATEGY_TYPE_ROLLING: Use rolling strategy.\n - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN: Use blue green strategy.\n - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE: Use immediate strategy." - }, - "DockerBuilder": { + "UpdatePasswordRequest": { "type": "object", + "example": { + "id": "...", + "password": "..." + }, "properties": { - "dockerfile": { - "type": "string", - "title": "A path to the Dockerfile" - }, - "entrypoint": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The docker ENTRYPOINT" - }, - "command": { - "type": "string", - "title": "The docker CMD" - }, - "args": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The docker CMD args" - }, - "target": { - "type": "string", - "title": "The target for multi-stage builds" + "id": { + "type": "string" }, - "privileged": { - "type": "boolean", - "title": "A flag to run the container in privileged mode" + "password": { + "type": "string" } } }, - "DockerSource": { + "UpdateUserRequest.UserUpdateBody": { "type": "object", "properties": { - "image": { + "id": { "type": "string" }, - "command": { + "email": { "type": "string" }, - "args": { - "type": "array", - "items": { - "type": "string" - } - }, - "image_registry_secret": { + "current_password": { "type": "string" }, - "entrypoint": { - "type": "array", - "items": { - "type": "string" - } - }, - "privileged": { - "type": "boolean", - "title": "A flag to run the container in privileged mode" - } - } - }, - "Env": { - "type": "object", - "properties": { - "key": { + "password": { "type": "string" }, - "value": { - "type": "string" + "newsletter_subscribed": { + "type": "boolean" }, - "secret": { + "name": { "type": "string" } } }, - "GetRegionalDeploymentReply": { + "UpdateUserSettingsReply": { "type": "object", "properties": { - "regional_deployment": { - "$ref": "#/definitions/RegionalDeployment" + "settings": { + "$ref": "#/definitions/UserSettings" } } }, - "GitSource": { + "UpdateUserSettingsRequest": { "type": "object", "properties": { - "repository": { - "type": "string", - "description": "A url to a git repository (contains the provider as well) .e.g: github.com/koyeb/test." - }, - "branch": { - "type": "string", - "title": "A git branch that will be tracked for new commits and deployments will be created" - }, - "tag": { - "type": "string", - "title": "A git tag that should be built" - }, - "sha": { - "type": "string", - "title": "A git commit that should be built (useful for pinning to a commit, this will always be set when a deployment is created by a code push)" - }, - "build_command": { - "type": "string", - "title": "A command used to override the build command, run after all build steps \u2014 deprecated, use buildpack.build_command instead" - }, - "run_command": { - "type": "string", - "title": "A command used to override the default run command - deprecated, use buildpack.run_command instead" - }, - "no_deploy_on_push": { + "failed_deployment_email_notification": { "type": "boolean", - "title": "A flag to disable a new deployment when a push event is detected" - }, - "workdir": { - "type": "string", - "title": "A subdirectory to use as the build directory" - }, - "buildpack": { - "$ref": "#/definitions/BuildpackBuilder" - }, - "docker": { - "$ref": "#/definitions/DockerBuilder" + "description": "(Optional) Toggle failed deployment email notification." } } }, - "HTTPHeader": { + "UpsertSignupQualificationReply": { "type": "object", "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" + "organization": { + "$ref": "#/definitions/Organization" } } }, - "HTTPHealthCheck": { + "UserReply": { "type": "object", "properties": { - "port": { - "type": "integer", - "format": "int64", - "title": "The port to use to perform the health check, must be declared in the ports section" - }, - "path": { - "type": "string", - "title": "The path to use to perform the HTTP health check" + "user": { + "$ref": "#/definitions/User" + } + } + }, + "UserSettings": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "method": { - "type": "string", - "title": "An optional HTTP method to use to perform the health check, default is GET" + "user_id": { + "type": "string" }, - "headers": { - "type": "array", - "items": { - "$ref": "#/definitions/HTTPHeader" - }, - "title": "An optional list of HTTP headers to provide when performing the request, default is empty" + "failed_deployment_email_notification": { + "type": "boolean" } } }, - "ListRegionalDeploymentEventsReply": { + "Activity": { "type": "object", "properties": { - "events": { - "type": "array", - "items": { - "$ref": "#/definitions/RegionalDeploymentEvent" - }, - "title": "The collection of events" + "id": { + "type": "string" }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" + "actor": { + "$ref": "#/definitions/Object" }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" + "object": { + "$ref": "#/definitions/Object" }, - "order": { - "type": "string", - "title": "The order in the request" + "verb": { + "type": "string" }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "metadata": { + "type": "object" + }, + "created_at": { + "type": "string", + "format": "date-time" } } }, - "ListRegionalDeploymentsReply": { + "ActivityList": { "type": "object", "properties": { - "regional_deployments": { + "activities": { "type": "array", "items": { - "$ref": "#/definitions/RegionalDeploymentListItem" - }, - "title": "The collection of regional deployments" + "$ref": "#/definitions/Activity" + } }, "limit": { "type": "integer", - "format": "int64", - "title": "The limit in the request" + "format": "int64" }, "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" - }, - "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" - } - } - }, - "Port": { - "type": "object", - "properties": { - "port": { "type": "integer", "format": "int64" }, - "protocol": { - "type": "string" + "has_next": { + "type": "boolean" } } }, - "RegionalDeployment": { + "Object": { "type": "object", "properties": { "id": { "type": "string" }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "scheduled_at": { - "type": "string", - "format": "date-time" - }, - "allocated_at": { - "type": "string", - "format": "date-time" - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "succeeded_at": { - "type": "string", - "format": "date-time" - }, - "terminated_at": { - "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string" - }, - "app_id": { - "type": "string" - }, - "service_id": { - "type": "string" - }, - "region": { - "type": "string" - }, - "parent_id": { + "name": { "type": "string" }, - "child_id": { + "type": { "type": "string" }, - "status": { - "$ref": "#/definitions/RegionalDeployment.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "definition": { - "$ref": "#/definitions/RegionalDeploymentDefinition" - }, - "datacenters": { - "type": "array", - "items": { - "type": "string" - } - }, "metadata": { - "$ref": "#/definitions/RegionalDeploymentMetadata" - }, - "provisioning_info": { - "$ref": "#/definitions/DeploymentProvisioningInfo" - }, - "role": { - "$ref": "#/definitions/RegionalDeployment.Role" - }, - "version": { - "type": "string", - "format": "uint64" - }, - "deployment_group": { - "type": "string", - "title": "Legacy stuff" + "type": "object" }, - "deployment_id": { - "type": "string" + "deleted": { + "type": "boolean" } } }, - "RegionalDeployment.Role": { + "Empty": { + "type": "object" + }, + "kgitproxy.GithubInstallation.Status": { "type": "string", - "enum": [ - "INVALID", - "ACTIVE", - "UPCOMING", - "CURRENT" + "enum": [ + "INVALID", + "INSTALLED", + "SUSPENDED", + "DELETED" ], "default": "INVALID" }, - "RegionalDeployment.Status": { + "kgitproxy.IndexingStatus": { "type": "string", "enum": [ - "PENDING", - "PROVISIONING", - "SCHEDULED", - "CANCELING", - "CANCELED", - "ALLOCATING", - "STARTING", - "HEALTHY", - "DEGRADED", - "UNHEALTHY", - "STOPPING", - "STOPPED", - "ERRORING", - "ERROR", - "SLEEPING" + "INVALID_INDEXING_STATUS", + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETED" ], - "default": "PENDING" + "default": "INVALID_INDEXING_STATUS" }, - "RegionalDeploymentDefinition": { + "CheckCouponReply": { "type": "object", "properties": { "name": { "type": "string" }, - "type": { - "$ref": "#/definitions/RegionalDeploymentDefinition.Type" - }, - "strategy": { - "$ref": "#/definitions/DeploymentStrategy" - }, - "routes": { - "type": "array", - "items": { - "$ref": "#/definitions/Route" - } - }, - "ports": { - "type": "array", - "items": { - "$ref": "#/definitions/Port" - } - }, - "env": { - "type": "array", - "items": { - "$ref": "#/definitions/Env" - } - }, - "region": { - "type": "string" + "percent_off": { + "type": "number", + "format": "float" }, - "scaling": { - "$ref": "#/definitions/Scaling" + "amount_off": { + "type": "string", + "format": "int64" }, - "instance_type": { + "currency": { "type": "string" - }, - "deployment_group": { + } + } + }, + "RedeemCouponReply": { + "type": "object" + }, + "RedeemCouponRequest": { + "type": "object", + "properties": { + "code": { "type": "string" - }, - "health_checks": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentHealthCheck" - } - }, - "volumes": { + } + } + }, + "CreateOrganizationInvitationReply": { + "type": "object", + "properties": { + "invitation": { + "$ref": "#/definitions/OrganizationInvitation", + "title": "The organization invitation sent" + } + } + }, + "CreateOrganizationInvitationRequest": { + "type": "object", + "properties": { + "email": { + "type": "string", + "title": "The email of the person to invite" + } + } + }, + "DeleteOrganizationInvitationReply": { + "type": "object" + }, + "GetOrganizationInvitationReply": { + "type": "object", + "properties": { + "invitation": { + "$ref": "#/definitions/OrganizationInvitation" + } + } + }, + "ListOrganizationInvitationsReply": { + "type": "object", + "properties": { + "invitations": { "type": "array", "items": { - "$ref": "#/definitions/RegionalDeploymentVolume" - } + "$ref": "#/definitions/OrganizationInvitation" + }, + "title": "The collection of organization invitations" }, - "config_files": { - "type": "array", - "items": { - "$ref": "#/definitions/ConfigFile" - } + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" }, - "skip_cache": { - "type": "boolean" + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" }, - "mesh": { - "$ref": "#/definitions/RegionalDeploymentMesh" + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" + } + } + }, + "ResendOrganizationInvitationReply": { + "type": "object", + "properties": { + "invitation": { + "$ref": "#/definitions/OrganizationInvitation", + "title": "The organization invitation resent" + } + } + }, + "ConfirmOrganizationActionReply": { + "type": "object" + }, + "CreateCredential": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "Credential name" }, - "docker": { - "$ref": "#/definitions/DockerSource" + "description": { + "type": "string", + "title": "Credential description" }, - "git": { - "$ref": "#/definitions/GitSource" + "type": { + "$ref": "#/definitions/Credential.Type", + "title": "Credential type" }, - "archive": { - "$ref": "#/definitions/ArchiveSource" + "organization_id": { + "type": "string", + "title": "Organization id for user credential" } } }, - "RegionalDeploymentDefinition.Type": { - "type": "string", - "enum": [ - "INVALID", - "WEB", - "WORKER", - "_", - "SANDBOX" - ], - "default": "INVALID", - "title": "- _: We match with DeploymentDefinition.Type, so we skip 3 which is DATABASE" + "CreateCredentialReply": { + "type": "object", + "properties": { + "credential": { + "$ref": "#/definitions/Credential" + } + } }, - "RegionalDeploymentEvent": { + "Credential": { "type": "object", "properties": { "id": { "type": "string" }, - "when": { - "type": "string", - "format": "date-time" + "type": { + "$ref": "#/definitions/Credential.Type" }, - "organization_id": { + "name": { "type": "string" }, - "regional_deployment_id": { + "token": { "type": "string" }, - "type": { + "description": { "type": "string" }, - "message": { + "user_id": { "type": "string" }, - "metadata": { - "type": "object" - } - } - }, - "RegionalDeploymentListItem": { - "type": "object", - "properties": { - "id": { + "organization_id": { "type": "string" }, - "created_at": { + "updated_at": { "type": "string", "format": "date-time" }, - "updated_at": { + "created_at": { "type": "string", "format": "date-time" }, - "region": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/RegionalDeployment.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "definition": { - "$ref": "#/definitions/RegionalDeploymentDefinition" + "expires_at": { + "type": "string", + "format": "date-time" } } }, - "RegionalDeploymentMesh": { + "Credential.Type": { "type": "string", "enum": [ - "REGIONAL_DEPLOYMENT_MESH_AUTO", - "REGIONAL_DEPLOYMENT_MESH_ENABLED", - "REGIONAL_DEPLOYMENT_MESH_DISABLED" + "INVALID", + "USER", + "ORGANIZATION" ], - "default": "REGIONAL_DEPLOYMENT_MESH_AUTO" + "default": "INVALID" }, - "RegionalDeploymentMetadata": { + "DeleteCredentialReply": { "type": "object" }, - "RegionalDeploymentVolume": { + "GetCredentialReply": { "type": "object", "properties": { - "id": { - "type": "string", - "title": "the id of the volume" - }, - "path": { - "type": "string", - "title": "the path where the volume is mounted to" - }, - "replica_index": { - "type": "integer", - "format": "int64", - "title": "the replica index to mount the volume to" + "credential": { + "$ref": "#/definitions/Credential" } } }, - "Route": { + "ListCredentialsReply": { "type": "object", "properties": { - "port": { - "type": "integer", - "format": "int64" - }, - "path": { - "type": "string" + "credentials": { + "type": "array", + "items": { + "$ref": "#/definitions/Credential" + } }, - "security_policies": { - "$ref": "#/definitions/SecurityPolicies" - } - } - }, - "Scaling": { - "type": "object", - "properties": { - "min": { + "limit": { "type": "integer", "format": "int64" }, - "max": { + "offset": { "type": "integer", "format": "int64" }, - "targets": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentScalingTarget" - } - } - } - }, - "TCPHealthCheck": { - "type": "object", - "properties": { - "port": { + "count": { "type": "integer", - "format": "int64", - "title": "The port to use to perform the health check, must be declared in the ports section" + "format": "int64" } } }, - "CreatePersistentVolumeReply": { + "UpdateCredentialReply": { "type": "object", "properties": { - "volume": { - "$ref": "#/definitions/PersistentVolume" + "credential": { + "$ref": "#/definitions/Credential" } } }, - "CreatePersistentVolumeRequest": { + "CreateProject": { "type": "object", "properties": { - "volume_type": { - "$ref": "#/definitions/PersistentVolumeBackingStore", - "title": "the volume backing store type" - }, "name": { "type": "string", - "title": "the volume name" - }, - "region": { - "type": "string", - "title": "the volume region" - }, - "read_only": { - "type": "boolean", - "title": "whether the volume must be set as read only" - }, - "max_size": { - "type": "integer", - "format": "int64", - "title": "the size of the volume (in Gigabyte / GB)" - }, - "snapshot_id": { - "type": "string", - "title": "(optional) the id of the snapshot whence the volume comes from" + "title": "Project name" }, - "project_id": { + "description": { "type": "string", - "title": "(Optional) The project ID to associate with the volume" + "title": "Project description" } } }, - "DeletePersistentVolumeReply": { + "CreateProjectReply": { "type": "object", "properties": { - "volume": { - "$ref": "#/definitions/PersistentVolume" + "project": { + "$ref": "#/definitions/Project" } } }, - "GetPersistentVolumeReply": { - "type": "object", - "properties": { - "volume": { - "$ref": "#/definitions/PersistentVolume" - } - } + "DeleteProjectReply": { + "type": "object" }, - "ListPersistentVolumeEventsReply": { + "GetProjectReply": { "type": "object", "properties": { - "events": { - "type": "array", - "items": { - "$ref": "#/definitions/PersistentVolumeEvent" - }, - "title": "The collection of events" - }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" - }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" - }, - "order": { - "type": "string", - "title": "The order in the request" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "project": { + "$ref": "#/definitions/Project" } } }, - "ListPersistentVolumesReply": { + "ListProjectsReply": { "type": "object", "properties": { - "volumes": { + "projects": { "type": "array", "items": { - "$ref": "#/definitions/PersistentVolume" - }, - "title": "The collection of persistent volumes" + "$ref": "#/definitions/Project" + } }, "limit": { "type": "integer", - "format": "int64", - "title": "The limit in the request" + "format": "int64" }, "offset": { "type": "integer", - "format": "int64", - "title": "The offset in the request" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "format": "int64" } } }, - "PersistentVolume": { + "Project": { "type": "object", "properties": { "id": { - "type": "string", - "title": "the identifier for the volume object" + "type": "string" }, "name": { - "type": "string", - "title": "the volume name" + "type": "string" }, - "snapshot_id": { - "type": "string", - "title": "(optional) the id of the snapshot whence the volume comes from" + "description": { + "type": "string" }, - "created_at": { - "type": "string", - "format": "date-time", - "title": "creation timestamp" + "organization_id": { + "type": "string" }, "updated_at": { "type": "string", - "format": "date-time", - "title": "last change timestamp" - }, - "deleted_at": { - "type": "string", - "format": "date-time", - "title": "deletion timestamp" - }, - "organization_id": { - "type": "string", - "title": "the organization to which the volume belongs to" + "format": "date-time" }, - "service_id": { + "created_at": { "type": "string", - "title": "the service_id to which the volume is eventually bound to" + "format": "date-time" }, - "region": { + "service_count": { "type": "string", - "title": "the region where the volume exists" - }, - "read_only": { - "type": "boolean", - "title": "whether to mount the volume in read-only mode" - }, - "max_size": { - "type": "integer", - "format": "int64", - "title": "the maximum size of the volume (in Gigabyte / GB)" - }, - "cur_size": { - "type": "integer", "format": "int64", - "title": "the used amount of space as measured the last time (in Gigabyte / GB)" - }, - "status": { - "$ref": "#/definitions/PersistentVolumeStatus", - "title": "the status of the volume" - }, - "backing_store": { - "$ref": "#/definitions/PersistentVolumeBackingStore", - "title": "the backing store type" + "title": "Number of services in this project" } - }, - "title": "The object that represent a volume to handle persistency for deployments" - }, - "PersistentVolumeBackingStore": { - "type": "string", - "enum": [ - "PERSISTENT_VOLUME_BACKING_STORE_INVALID", - "PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK" - ], - "default": "PERSISTENT_VOLUME_BACKING_STORE_INVALID", - "title": "- PERSISTENT_VOLUME_BACKING_STORE_INVALID: zero value, invalid\n - PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK: the backing store is a locally reachable block device" + } }, - "PersistentVolumeEvent": { + "UpdateProjectReply": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "when": { - "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string" - }, - "persistent_volume_id": { - "type": "string" - }, - "type": { - "type": "string" - }, - "message": { - "type": "string" + "project": { + "$ref": "#/definitions/Project" + } + } + }, + "AppsSummary": { + "type": "object", + "properties": { + "total": { + "type": "string", + "format": "int64", + "title": "Total number of apps" }, - "metadata": { - "type": "object" + "by_status": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "title": "Number of apps grouped by status" } } }, - "PersistentVolumeStatus": { - "type": "string", - "enum": [ - "PERSISTENT_VOLUME_STATUS_INVALID", - "PERSISTENT_VOLUME_STATUS_ATTACHED", - "PERSISTENT_VOLUME_STATUS_DETACHED", - "PERSISTENT_VOLUME_STATUS_DELETING", - "PERSISTENT_VOLUME_STATUS_DELETED", - "PERSISTENT_VOLUME_STATUS_ARCHIVING" - ], - "default": "PERSISTENT_VOLUME_STATUS_INVALID", - "title": "- PERSISTENT_VOLUME_STATUS_INVALID: zero value, invalid\n - PERSISTENT_VOLUME_STATUS_ATTACHED: the volume is attached to an instance\n - PERSISTENT_VOLUME_STATUS_DETACHED: the volume is free to use\n - PERSISTENT_VOLUME_STATUS_DELETING: the volume will be deleted\n - PERSISTENT_VOLUME_STATUS_DELETED: the volume was deleted\n - PERSISTENT_VOLUME_STATUS_ARCHIVING: the volume is being archived (snapshot being created and migrated to remote storage)" - }, - "UpdatePersistentVolumeReply": { + "DomainsSummary": { "type": "object", "properties": { - "volume": { - "$ref": "#/definitions/PersistentVolume" + "total": { + "type": "string", + "format": "int64", + "title": "Total number of domains" + }, + "by_status": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "title": "Number of domains grouped by status" } } }, - "ReviewOrganizationCapacityReply": { + "GetOrganizationSummaryReply": { "type": "object", "properties": { - "has_capacity": { - "type": "boolean" + "summary": { + "$ref": "#/definitions/OrganizationSummary", + "title": "Organization usage summary" } } }, - "ReviewOrganizationCapacityRequest": { + "InstancesSummary": { "type": "object", "properties": { - "plan": { - "type": "string" + "total": { + "type": "string", + "format": "int64", + "title": "Total number of instances" }, - "trialing": { - "type": "boolean" + "by_type": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "title": "Number of instances grouped by type" } } }, - "CreateDomain": { + "MembersSummary": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/Domain.Type" - }, - "app_id": { + "total": { "type": "string", - "title": "to auto-attach to an app. Optional" - }, - "cloudflare": { - "$ref": "#/definitions/Domain.LoadBalancerCloudflare" - }, - "koyeb": { - "$ref": "#/definitions/Domain.LoadBalancerKoyeb", - "description": "Only applicable to auto-assigned domains, for organizations on the Scale plan." + "format": "int64", + "title": "Number of members" }, - "project_id": { - "type": "string", - "title": "(Optional) The project ID to associate with the domain" + "invitations_by_status": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "title": "Number of invitations grouped by status" } } }, - "CreateDomainReply": { + "NeonPostgresSummary": { "type": "object", "properties": { - "domain": { - "$ref": "#/definitions/Domain" + "total": { + "type": "string", + "format": "int64", + "title": "Total number of databases" + }, + "by_instance_type": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "title": "Number of databases grouped by instance type" } } }, - "DeleteDomainReply": { - "type": "object" - }, - "Domain": { + "OrganizationSummary": { "type": "object", "properties": { - "id": { - "type": "string" - }, "organization_id": { "type": "string" }, - "name": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" + "instances": { + "$ref": "#/definitions/InstancesSummary" }, - "updated_at": { - "type": "string", - "format": "date-time" + "apps": { + "$ref": "#/definitions/AppsSummary" }, - "status": { - "$ref": "#/definitions/Domain.Status" + "services": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ServiceSummary" + }, + "title": "Number of services grouped by type" }, - "type": { - "$ref": "#/definitions/Domain.Type" + "domains": { + "$ref": "#/definitions/DomainsSummary" }, - "app_id": { - "type": "string" + "secrets": { + "$ref": "#/definitions/SecretsSummary" }, - "deployment_group": { - "type": "string" + "neon_postgres": { + "$ref": "#/definitions/NeonPostgresSummary" }, - "verified_at": { + "members": { + "$ref": "#/definitions/MembersSummary" + } + } + }, + "SecretsSummary": { + "type": "object", + "properties": { + "total": { "type": "string", - "format": "date-time" - }, - "intended_cname": { - "type": "string" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } + "format": "int64", + "title": "Total number of secrets" }, - "version": { + "by_type": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "title": "Number of secrets grouped by type" + } + } + }, + "ServiceSummary": { + "type": "object", + "properties": { + "total": { "type": "string", - "format": "uint64" + "format": "int64", + "title": "Total number of services" }, - "cloudflare": { - "$ref": "#/definitions/Domain.LoadBalancerCloudflare" + "by_status": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "title": "Number of services grouped by status" + } + } + }, + "LoginRequest": { + "type": "object", + "example": { + "email": "john@snow.com", + "password": "..." + }, + "properties": { + "email": { + "type": "string", + "title": "User email" }, - "koyeb": { - "$ref": "#/definitions/Domain.LoadBalancerKoyeb" + "password": { + "type": "string", + "title": "User password" }, - "project_id": { + "organization_id": { "type": "string", - "description": "The project ID this domain belongs to. Empty if the domain is organization-level." + "title": "(Optional) Login into this organization" } } }, - "Domain.LoadBalancerCloudflare": { + "LogoutReply": { "type": "object" }, - "Domain.LoadBalancerKoyeb": { + "DomainLoadBalancerQuotas": { "type": "object", "properties": { - "request_timeout_seconds": { - "type": "integer", - "format": "int64", - "title": "Between 100 and 900" - } - } - }, - "Domain.Status": { - "type": "string", - "enum": [ - "PENDING", - "ACTIVE", - "ERROR", - "DELETING", - "DELETED" - ], - "default": "PENDING" - }, - "Domain.Type": { - "type": "string", - "enum": [ - "AUTOASSIGNED", - "CUSTOM" - ], - "default": "AUTOASSIGNED", - "title": "- AUTOASSIGNED: Domain like -.koyeb.app" + "max_koyeb": { + "type": "integer", + "format": "int64" + } + } }, - "GetDomainReply": { + "GetQuotasReply": { "type": "object", "properties": { - "domain": { - "$ref": "#/definitions/Domain" + "quotas": { + "$ref": "#/definitions/Quotas" } } }, - "ListDomainsReply": { + "LifecycleQuotas": { "type": "object", "properties": { - "domains": { - "type": "array", - "items": { - "$ref": "#/definitions/Domain" - } - }, - "limit": { + "delete_after_sleep_min": { "type": "integer", "format": "int64", - "title": "The limit in the request" + "title": "delete after sleep limits" }, - "offset": { + "delete_after_sleep_max": { "type": "integer", - "format": "int64", - "title": "The offset in the request" + "format": "int64" }, - "count": { + "delete_after_create_min": { "type": "integer", "format": "int64", - "title": "The total number of items" - } - } - }, - "RefreshDomainStatusReply": { - "type": "object" - }, - "UpdateDomain": { - "type": "object", - "properties": { - "app_id": { - "type": "string", - "description": "To attach or detach from an app for custom domain." + "title": "delete after create limits" }, - "subdomain": { - "type": "string", - "description": "To change subdomain for auto-assigned domain." + "delete_after_create_max": { + "type": "integer", + "format": "int64" } } }, - "UpdateDomainReply": { + "PersistentVolumeQuotas": { "type": "object", "properties": { - "domain": { - "$ref": "#/definitions/Domain" + "max_total_size": { + "type": "integer", + "format": "int64", + "description": "MaxTotalSize for all volumes on a region (in Gigabyte / GB)." + }, + "max_volume_size": { + "type": "integer", + "format": "int64", + "description": "MaxVolumeSize for one volume (in Gigabyte / GB)." + }, + "max_per_instance_size": { + "type": "integer", + "format": "int64", + "description": "MaxPerInstanceSize for all volumes on an instance (in Gigabyte / GB)." } } }, - "App": { + "Quotas": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization_id": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { + "apps": { "type": "string", - "format": "date-time" + "format": "int64" }, - "started_at": { + "services": { "type": "string", - "format": "date-time" + "format": "int64" }, - "succeeded_at": { + "domains": { "type": "string", - "format": "date-time" + "format": "int64", + "title": "Deprecated, use custom_domains instead" }, - "paused_at": { + "services_by_app": { "type": "string", - "format": "date-time" + "format": "int64" }, - "resumed_at": { + "service_provisioning_concurrency": { "type": "string", - "format": "date-time" + "format": "int64" }, - "terminated_at": { + "memory_mb": { "type": "string", - "format": "date-time" + "format": "int64" }, - "status": { - "$ref": "#/definitions/App.Status" + "instance_types": { + "type": "array", + "items": { + "type": "string" + } }, - "messages": { + "regions": { "type": "array", "items": { "type": "string" } }, - "version": { + "max_organization_members": { "type": "string", - "format": "uint64" + "format": "int64" }, - "domains": { + "max_instances_by_type": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + } + }, + "persistent_volumes_by_region": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/PersistentVolumeQuotas" + } + }, + "custom_domains": { + "type": "string", + "format": "int64" + }, + "domains_load_balancer": { + "$ref": "#/definitions/DomainLoadBalancerQuotas" + }, + "metrics_retention": { + "type": "integer", + "format": "int32", + "title": "Time in days" + }, + "logs_retention": { + "type": "integer", + "format": "int32", + "title": "Time in days" + }, + "access_reserved_subdomains": { "type": "array", "items": { - "$ref": "#/definitions/Domain" - } + "type": "string" + }, + "title": "The mapping between reserved_subdomain names and their value is in the code" }, - "life_cycle": { - "$ref": "#/definitions/AppLifeCycle" + "proxy_ports": { + "type": "integer", + "format": "int64" + }, + "scale_to_zero": { + "$ref": "#/definitions/ScaleToZeroQuotas" + }, + "archives": { + "type": "string", + "format": "int64" + }, + "archive_max_size_mb": { + "type": "string", + "format": "int64" + }, + "lifecycle": { + "$ref": "#/definitions/LifecycleQuotas" + }, + "max_projects": { + "type": "string", + "format": "int64" } } }, - "App.Status": { - "type": "string", - "enum": [ - "STARTING", - "HEALTHY", - "DEGRADED", - "UNHEALTHY", - "DELETING", - "DELETED", - "PAUSING", - "PAUSED", - "RESUMING" - ], - "default": "STARTING" - }, - "AppEvent": { + "ScaleToZeroQuotas": { "type": "object", "properties": { - "id": { - "type": "string" + "is_deep_sleep_enabled": { + "type": "boolean", + "title": "deep sleep limits" }, - "when": { - "type": "string", - "format": "date-time" + "deep_sleep_idle_delay_min": { + "type": "integer", + "format": "int64" }, - "organization_id": { - "type": "string" + "deep_sleep_idle_delay_max": { + "type": "integer", + "format": "int64" }, - "app_id": { - "type": "string" + "is_light_sleep_enabled": { + "type": "boolean", + "title": "light sleep limits" }, - "type": { - "type": "string" + "light_sleep_idle_delay_min": { + "type": "integer", + "format": "int64" }, - "message": { + "light_sleep_idle_delay_max": { + "type": "integer", + "format": "int64" + } + } + }, + "CreateStageAttemptReply": { + "type": "object" + }, + "DeclareStageProgressReply": { + "type": "object" + }, + "DeclareStepProgressReply": { + "type": "object" + }, + "DeploymentProvisioningInfo.Stage.Status": { + "type": "string", + "enum": [ + "UNKNOWN", + "PENDING", + "RUNNING", + "FAILED", + "COMPLETED", + "ABORTED" + ], + "default": "UNKNOWN" + }, + "BasicAuthPolicy": { + "type": "object", + "properties": { + "username": { "type": "string" }, - "metadata": { - "type": "object" + "password": { + "type": "string" } } }, - "AppLifeCycle": { + "SecurityPolicies": { "type": "object", "properties": { - "delete_when_empty": { - "type": "boolean" + "basic_auths": { + "type": "array", + "items": { + "$ref": "#/definitions/BasicAuthPolicy" + } + }, + "api_keys": { + "type": "array", + "items": { + "type": "string" + } } } }, - "AppListItem": { + "App": { "type": "object", "properties": { "id": { @@ -15839,19 +16199,33 @@ "organization_id": { "type": "string" }, + "created_at": { + "type": "string", + "format": "date-time" + }, "updated_at": { "type": "string", "format": "date-time" }, - "created_at": { + "started_at": { "type": "string", "format": "date-time" }, - "domains": { - "type": "array", - "items": { - "$ref": "#/definitions/Domain" - } + "succeeded_at": { + "type": "string", + "format": "date-time" + }, + "paused_at": { + "type": "string", + "format": "date-time" + }, + "resumed_at": { + "type": "string", + "format": "date-time" + }, + "terminated_at": { + "type": "string", + "format": "date-time" }, "status": { "$ref": "#/definitions/App.Status" @@ -15861,812 +16235,678 @@ "items": { "type": "string" } - } - } - }, - "CreateApp": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "life_cycle": { - "$ref": "#/definitions/AppLifeCycle" - }, - "project_id": { - "type": "string", - "title": "(Optional) The project ID to associate with the app" - } - } - }, - "CreateAppReply": { - "type": "object", - "properties": { - "app": { - "$ref": "#/definitions/App", - "title": "The entity created" - } - } - }, - "DeleteAppReply": { - "type": "object" - }, - "GetAppReply": { - "type": "object", - "properties": { - "app": { - "$ref": "#/definitions/App", - "title": "The App retrieved" - } - } - }, - "ListAppEventsReply": { - "type": "object", - "properties": { - "events": { - "type": "array", - "items": { - "$ref": "#/definitions/AppEvent" - }, - "title": "The collection of events" - }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" - }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" }, - "order": { + "version": { "type": "string", - "title": "The order in the request" + "format": "uint64" }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" - } - } - }, - "ListAppsReply": { - "type": "object", - "properties": { - "apps": { + "domains": { "type": "array", "items": { - "$ref": "#/definitions/AppListItem" + "$ref": "#/definitions/Domain" } }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" - }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" - }, - "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" - } - } - }, - "PauseAppReply": { - "type": "object" - }, - "ResumeAppReply": { - "type": "object" - }, - "UpdateApp": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, "life_cycle": { "$ref": "#/definitions/AppLifeCycle" } } }, - "UpdateAppReply": { - "type": "object", - "properties": { - "app": { - "$ref": "#/definitions/App", - "title": "The entity updated" - } - } + "App.Status": { + "type": "string", + "enum": [ + "STARTING", + "HEALTHY", + "DEGRADED", + "UNHEALTHY", + "DELETING", + "DELETED", + "PAUSING", + "PAUSED", + "RESUMING" + ], + "default": "STARTING" }, - "CreateSnapshotReply": { + "AppLifeCycle": { "type": "object", "properties": { - "snapshot": { - "$ref": "#/definitions/Snapshot" + "delete_when_empty": { + "type": "boolean" } } }, - "CreateSnapshotRequest": { + "ArchiveSource": { "type": "object", "properties": { - "parent_volume_id": { + "id": { "type": "string", - "title": "The id of the volume to snapshot" + "title": "The ID of the archive to deploy" }, - "name": { - "type": "string", - "title": "The name of the snapshot" + "buildpack": { + "$ref": "#/definitions/BuildpackBuilder" }, - "project_id": { - "type": "string", - "title": "(Optional) The project ID to associate with the snapshot" - } - } - }, - "DeleteSnapshotReply": { - "type": "object", - "properties": { - "snapshot": { - "$ref": "#/definitions/Snapshot" - } - } - }, - "GetSnapshotReply": { - "type": "object", - "properties": { - "snapshot": { - "$ref": "#/definitions/Snapshot" + "docker": { + "$ref": "#/definitions/DockerBuilder" } } }, - "ListSnapshotsReply": { + "AutoRelease": { "type": "object", "properties": { - "snapshots": { + "groups": { "type": "array", "items": { - "$ref": "#/definitions/Snapshot" - }, - "title": "The collection of snapshots" - }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" - }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "$ref": "#/definitions/AutoRelease.Group" + } } } }, - "Snapshot": { + "AutoRelease.Group": { "type": "object", "properties": { - "id": { - "type": "string", - "title": "the identifier of the snapshot object" - }, "name": { - "type": "string", - "title": "the snapshot name" - }, - "size": { - "type": "integer", - "format": "int64", - "title": "the original volume size" - }, - "created_at": { - "type": "string", - "format": "date-time", - "title": "creation timestamp" + "type": "string" }, - "updated_at": { - "type": "string", - "format": "date-time", - "title": "last change timestamp" + "repository": { + "type": "string" }, - "deleted_at": { + "git_ref": { "type": "string", - "format": "date-time", - "title": "deletion timestamp" + "title": "A git ref to track (.e.g: refs/tags/ or refs/heads/" }, - "organization_id": { + "latest_sha": { "type": "string", - "title": "the organization to which the snapshot belongs to" - }, - "parent_volume_id": { + "title": "The last hash that was resolved (used to avoid triggering releases when things haven't changed)" + } + }, + "title": "Configuration extracted from the latest deployment in this deployment_group" + }, + "BuildpackBuilder": { + "type": "object", + "properties": { + "build_command": { "type": "string", - "title": "the volume from which the snapshot has been created" + "title": "A command used to override the build command, run after all build steps" }, - "region": { + "run_command": { "type": "string", - "title": "the region where the snapshot resides, if any" - }, - "status": { - "$ref": "#/definitions/SnapshotStatus", - "title": "the status of the snapshot" + "title": "A command used to override the default run command" }, - "type": { - "$ref": "#/definitions/SnapshotType", - "title": "the type of snapshot (can be local or remote)" + "privileged": { + "type": "boolean", + "title": "A flag to run the container in privileged mode" } - }, - "description": "The object that represents a snapshot. It can either be local, on a node, or remote, in a cold storage." - }, - "SnapshotStatus": { - "type": "string", - "enum": [ - "SNAPSHOT_STATUS_INVALID", - "SNAPSHOT_STATUS_CREATING", - "SNAPSHOT_STATUS_AVAILABLE", - "SNAPSHOT_STATUS_MIGRATING", - "SNAPSHOT_STATUS_DELETING", - "SNAPSHOT_STATUS_DELETED" - ], - "default": "SNAPSHOT_STATUS_INVALID", - "title": "- SNAPSHOT_STATUS_INVALID: zero value, invalid\n - SNAPSHOT_STATUS_CREATING: the snapshot is being created\n - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available\n - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated\n - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted\n - SNAPSHOT_STATUS_DELETED: the snapshot is deleted" - }, - "SnapshotType": { - "type": "string", - "enum": [ - "SNAPSHOT_TYPE_INVALID", - "SNAPSHOT_TYPE_LOCAL", - "SNAPSHOT_TYPE_REMOTE" - ], - "default": "SNAPSHOT_TYPE_INVALID", - "title": "- SNAPSHOT_TYPE_INVALID: zero value, invalid\n - SNAPSHOT_TYPE_LOCAL: the snapshot is local to the machine\n - SNAPSHOT_TYPE_REMOTE: the snapshot is remote in a cold storage" + } }, - "UpdateSnapshotReply": { + "ComposeReply": { "type": "object", "properties": { - "snapshot": { - "$ref": "#/definitions/Snapshot" + "app": { + "$ref": "#/definitions/App" + }, + "services": { + "type": "array", + "items": { + "$ref": "#/definitions/Service" + } } } }, - "AzureContainerRegistryConfiguration": { + "ConfigFile": { "type": "object", "properties": { - "registry_name": { - "type": "string" + "path": { + "type": "string", + "title": "the path where the file is copied" }, - "username": { - "type": "string" + "permissions": { + "type": "string", + "title": "the permissions of the file in format 0644" }, - "password": { - "type": "string" + "content": { + "type": "string", + "title": "the content of the file" } } }, - "CreateSecret": { + "CreateApp": { "type": "object", "properties": { "name": { "type": "string" }, - "type": { - "$ref": "#/definitions/SecretType" - }, - "value": { - "type": "string" - }, - "docker_hub_registry": { - "$ref": "#/definitions/DockerHubRegistryConfiguration" - }, - "private_registry": { - "$ref": "#/definitions/PrivateRegistryConfiguration" - }, - "digital_ocean_registry": { - "$ref": "#/definitions/DigitalOceanRegistryConfiguration" + "life_cycle": { + "$ref": "#/definitions/AppLifeCycle" }, - "github_registry": { - "$ref": "#/definitions/GitHubRegistryConfiguration" + "project_id": { + "type": "string", + "title": "(Optional) The project ID to associate with the app" + } + } + }, + "CreateCompose": { + "type": "object", + "properties": { + "app": { + "$ref": "#/definitions/CreateApp" }, - "gitlab_registry": { - "$ref": "#/definitions/GitLabRegistryConfiguration" + "services": { + "type": "array", + "items": { + "$ref": "#/definitions/CreateService" + } + } + } + }, + "CreateService": { + "type": "object", + "properties": { + "app_id": { + "type": "string" }, - "gcp_container_registry": { - "$ref": "#/definitions/GCPContainerRegistryConfiguration" + "definition": { + "$ref": "#/definitions/DeploymentDefinition" }, - "azure_container_registry": { - "$ref": "#/definitions/AzureContainerRegistryConfiguration" + "life_cycle": { + "$ref": "#/definitions/ServiceLifeCycle" }, "project_id": { "type": "string", - "title": "(Optional) The project ID to associate with the secret" + "title": "(Optional) The project ID to associate with the service" } } }, - "CreateSecretReply": { + "DatabaseSource": { "type": "object", "properties": { - "secret": { - "$ref": "#/definitions/Secret" + "neon_postgres": { + "$ref": "#/definitions/NeonPostgresDatabase" } } }, - "DatabaseRolePassword": { + "DeploymentDefinition": { "type": "object", "properties": { - "username": { + "name": { "type": "string" }, - "password": { - "type": "string" + "type": { + "$ref": "#/definitions/DeploymentDefinition.Type" + }, + "strategy": { + "$ref": "#/definitions/DeploymentStrategy" + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentRoute" + } + }, + "ports": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentPort" + } + }, + "proxy_ports": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentProxyPort" + } + }, + "env": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentEnv" + } + }, + "regions": { + "type": "array", + "items": { + "type": "string" + } + }, + "scalings": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentScaling" + } + }, + "instance_types": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentInstanceType" + } + }, + "health_checks": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentHealthCheck" + } + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentVolume" + } + }, + "config_files": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigFile" + } + }, + "skip_cache": { + "type": "boolean" + }, + "mesh": { + "$ref": "#/definitions/DeploymentMesh" + }, + "docker": { + "$ref": "#/definitions/DockerSource" + }, + "git": { + "$ref": "#/definitions/GitSource" + }, + "database": { + "$ref": "#/definitions/DatabaseSource" + }, + "archive": { + "$ref": "#/definitions/ArchiveSource" } } }, - "DeleteSecretReply": { - "type": "object" + "DeploymentDefinition.Type": { + "type": "string", + "enum": [ + "INVALID", + "WEB", + "WORKER", + "DATABASE", + "SANDBOX" + ], + "default": "INVALID" }, - "DigitalOceanRegistryConfiguration": { + "DeploymentEnv": { "type": "object", "properties": { - "username": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } + }, + "key": { "type": "string" }, - "password": { + "value": { + "type": "string" + }, + "secret": { "type": "string" } } }, - "DockerHubRegistryConfiguration": { + "DeploymentHealthCheck": { "type": "object", "properties": { - "username": { - "type": "string" + "grace_period": { + "type": "integer", + "format": "int64", + "title": "An optional initial period in seconds to wait for the instance to become healthy, default is 5s" }, - "password": { - "type": "string" + "interval": { + "type": "integer", + "format": "int64", + "title": "An optional period in seconds between two health checks, default is 60s" + }, + "restart_limit": { + "type": "integer", + "format": "int64", + "title": "An optional number of consecutive failures before attempting to restart the service, default is 3" + }, + "timeout": { + "type": "integer", + "format": "int64", + "title": "An optional maximum time to wait in seconds before considering the check as a failure, default is 5s" + }, + "tcp": { + "$ref": "#/definitions/TCPHealthCheck" + }, + "http": { + "$ref": "#/definitions/HTTPHealthCheck" } } }, - "GCPContainerRegistryConfiguration": { + "DeploymentInstanceType": { "type": "object", "properties": { - "keyfile_content": { - "type": "string" + "scopes": { + "type": "array", + "items": { + "type": "string" + } }, - "url": { + "type": { "type": "string" } } }, - "GetSecretReply": { + "DeploymentMesh": { + "type": "string", + "enum": [ + "DEPLOYMENT_MESH_AUTO", + "DEPLOYMENT_MESH_ENABLED", + "DEPLOYMENT_MESH_DISABLED" + ], + "default": "DEPLOYMENT_MESH_AUTO" + }, + "DeploymentPort": { "type": "object", "properties": { - "secret": { - "$ref": "#/definitions/Secret" + "port": { + "type": "integer", + "format": "int64" + }, + "protocol": { + "type": "string", + "title": "One of http, http2, tcp" } } }, - "GitHubRegistryConfiguration": { + "DeploymentProxyPort": { "type": "object", "properties": { - "username": { - "type": "string" + "port": { + "type": "integer", + "format": "int64" }, - "password": { - "type": "string" + "protocol": { + "$ref": "#/definitions/ProxyPortProtocol" } } }, - "GitLabRegistryConfiguration": { + "DeploymentRoute": { "type": "object", "properties": { - "username": { - "type": "string" + "port": { + "type": "integer", + "format": "int64" }, - "password": { + "path": { "type": "string" + }, + "security_policies": { + "$ref": "#/definitions/SecurityPolicies" } } }, - "ListSecretsReply": { + "DeploymentScaling": { "type": "object", "properties": { - "secrets": { + "scopes": { "type": "array", "items": { - "$ref": "#/definitions/Secret" + "type": "string" } }, - "limit": { + "min": { "type": "integer", "format": "int64" }, - "offset": { + "max": { "type": "integer", "format": "int64" }, - "count": { - "type": "integer", - "format": "int64" + "targets": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentScalingTarget" + } } } }, - "PrivateRegistryConfiguration": { + "DeploymentScalingTarget": { "type": "object", "properties": { - "username": { - "type": "string" + "average_cpu": { + "$ref": "#/definitions/DeploymentScalingTargetAverageCPU" }, - "password": { - "type": "string" + "average_mem": { + "$ref": "#/definitions/DeploymentScalingTargetAverageMem" }, - "url": { - "type": "string" + "requests_per_second": { + "$ref": "#/definitions/DeploymentScalingTargetRequestsPerSecond" + }, + "concurrent_requests": { + "$ref": "#/definitions/DeploymentScalingTargetConcurrentRequests" + }, + "requests_response_time": { + "$ref": "#/definitions/DeploymentScalingTargetRequestsResponseTime" + }, + "sleep_idle_delay": { + "$ref": "#/definitions/DeploymentScalingTargetSleepIdleDelay" } } }, - "RevealSecretReply": { - "type": "object", - "properties": { - "value": {} - } - }, - "Secret": { + "DeploymentScalingTargetAverageCPU": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "organization_id": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/SecretType" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "project_id": { - "type": "string", - "description": "The project ID this secret belongs to. Empty if the secret is organization-level." - }, "value": { - "type": "string" - }, - "docker_hub_registry": { - "$ref": "#/definitions/DockerHubRegistryConfiguration" - }, - "private_registry": { - "$ref": "#/definitions/PrivateRegistryConfiguration" - }, - "digital_ocean_registry": { - "$ref": "#/definitions/DigitalOceanRegistryConfiguration" - }, - "github_registry": { - "$ref": "#/definitions/GitHubRegistryConfiguration" - }, - "gitlab_registry": { - "$ref": "#/definitions/GitLabRegistryConfiguration" - }, - "gcp_container_registry": { - "$ref": "#/definitions/GCPContainerRegistryConfiguration" - }, - "azure_container_registry": { - "$ref": "#/definitions/AzureContainerRegistryConfiguration" - }, - "database_role_password": { - "$ref": "#/definitions/DatabaseRolePassword" + "type": "integer", + "format": "int64" } } }, - "SecretType": { - "type": "string", - "enum": [ - "SIMPLE", - "REGISTRY", - "MANAGED" - ], - "default": "SIMPLE" - }, - "UpdateSecretReply": { + "DeploymentScalingTargetAverageMem": { "type": "object", "properties": { - "secret": { - "$ref": "#/definitions/Secret" + "value": { + "type": "integer", + "format": "int64" } } }, - "AppUsage": { + "DeploymentScalingTargetConcurrentRequests": { "type": "object", "properties": { - "app_id": { - "type": "string" - }, - "app_name": { - "type": "string" - }, - "services": { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceUsage" - } - }, - "databases": { - "type": "array", - "items": { - "$ref": "#/definitions/DatabaseUsage" - } + "value": { + "type": "integer", + "format": "int64" } } }, - "DatabaseUsage": { + "DeploymentScalingTargetRequestsPerSecond": { "type": "object", "properties": { - "service_id": { - "type": "string" - }, - "service_name": { - "type": "string" - }, - "compute_time_seconds": { - "type": "integer", - "format": "int64" - }, - "data_storage_megabytes_hours": { + "value": { "type": "integer", "format": "int64" } } }, - "DatabaseUsageDetails": { + "DeploymentScalingTargetRequestsResponseTime": { "type": "object", "properties": { - "organization_id": { - "type": "string" - }, - "app_id": { - "type": "string" - }, - "app_name": { - "type": "string" - }, - "service_id": { - "type": "string" - }, - "service_name": { - "type": "string" - }, - "compute_time_seconds": { + "value": { "type": "integer", "format": "int64" }, - "data_storage_megabytes_hour": { + "quantile": { "type": "integer", - "format": "int64" - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "terminated_at": { - "type": "string", - "format": "date-time" + "format": "int64", + "description": "The quantile to use for autoscaling. For example, set to 95 to use the 95th\npercentile (p95) for autoscaling. Valid values are between 0 and 100." } } }, - "GetOrganizationUsageDetailsReply": { + "DeploymentScalingTargetSleepIdleDelay": { "type": "object", "properties": { - "usage_details": { - "type": "array", - "items": { - "$ref": "#/definitions/UsageDetails" - }, - "title": "The collection of usage instances" - }, - "database_details": { - "type": "array", - "items": { - "$ref": "#/definitions/DatabaseUsageDetails" - }, - "title": "The collection of database deployments used during the month" - }, - "limit": { + "value": { "type": "integer", "format": "int64", - "title": "The limit in the request" + "description": "DEPRECATED: use deep_sleep_value instead.\nDelay in seconds after which a service which received 0 request is put to deep sleep." }, - "offset": { + "deep_sleep_value": { "type": "integer", "format": "int64", - "title": "The offset in the request" + "description": "Delay in seconds after which a service which received 0 request is put to deep sleep." }, - "count": { + "light_sleep_value": { "type": "integer", "format": "int64", - "title": "The total number of items" - }, - "order": { - "type": "string", - "title": "The order in the request" + "description": "Delay in seconds after which a service which received 0 request is put to light sleep." } } }, - "GetOrganizationUsageReply": { + "DeploymentStrategy": { "type": "object", "properties": { - "usage": { - "$ref": "#/definitions/Usage", - "title": "The computed usage of instances per month" + "type": { + "$ref": "#/definitions/DeploymentStrategyType", + "title": "Strategy type" } } }, - "InstanceUsage": { - "type": "object", - "properties": { - "duration_seconds": { - "type": "integer", - "format": "int64" - } - } + "DeploymentStrategyType": { + "type": "string", + "enum": [ + "DEPLOYMENT_STRATEGY_TYPE_INVALID", + "DEPLOYMENT_STRATEGY_TYPE_DEFAULT", + "DEPLOYMENT_STRATEGY_TYPE_CANARY", + "DEPLOYMENT_STRATEGY_TYPE_ROLLING", + "DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN", + "DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE" + ], + "default": "DEPLOYMENT_STRATEGY_TYPE_INVALID", + "description": " - DEPLOYMENT_STRATEGY_TYPE_INVALID: DEPRECATED: Use DEPLOYMENT_STRATEGY_TYPE_DEFAULT instead.\n - DEPLOYMENT_STRATEGY_TYPE_DEFAULT: Default/unspecified strategy (resolves to platform default, currently ROLLING).\n - DEPLOYMENT_STRATEGY_TYPE_CANARY: Use canary strategy.\n - DEPLOYMENT_STRATEGY_TYPE_ROLLING: Use rolling strategy.\n - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN: Use blue green strategy.\n - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE: Use immediate strategy." }, - "PeriodUsage": { + "DeploymentVolume": { "type": "object", "properties": { - "starting_time": { + "id": { "type": "string", - "format": "date-time" + "title": "the id of the volume" }, - "ending_time": { + "path": { "type": "string", - "format": "date-time" + "title": "the path where the volume is mounted to" }, - "apps": { + "replica_index": { + "type": "integer", + "format": "int64", + "title": "optionally, explicitly choose the replica index to mount the volume to" + }, + "scopes": { "type": "array", "items": { - "$ref": "#/definitions/AppUsage" - } + "type": "string" + }, + "title": "scope of the associated" } } }, - "RegionUsage": { + "DesiredDeployment": { "type": "object", "properties": { - "instances": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/InstanceUsage" + "groups": { + "type": "array", + "items": { + "$ref": "#/definitions/DesiredDeployment.Group" } } } }, - "ServiceUsage": { + "DesiredDeployment.Group": { "type": "object", "properties": { - "service_id": { - "type": "string" - }, - "service_name": { + "name": { "type": "string" }, - "regions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/RegionUsage" + "deployment_ids": { + "type": "array", + "items": { + "type": "string" } } } }, - "Usage": { + "DockerBuilder": { "type": "object", "properties": { - "organization_id": { - "type": "string" + "dockerfile": { + "type": "string", + "title": "A path to the Dockerfile" }, - "periods": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/PeriodUsage" - } + "entrypoint": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The docker ENTRYPOINT" + }, + "command": { + "type": "string", + "title": "The docker CMD" + }, + "args": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The docker CMD args" + }, + "target": { + "type": "string", + "title": "The target for multi-stage builds" + }, + "privileged": { + "type": "boolean", + "title": "A flag to run the container in privileged mode" } } }, - "UsageDetails": { + "DockerSource": { "type": "object", "properties": { - "organization_id": { - "type": "string" - }, - "instance_id": { - "type": "string" - }, - "app_id": { - "type": "string" - }, - "app_name": { - "type": "string" - }, - "service_id": { - "type": "string" - }, - "service_name": { - "type": "string" - }, - "regional_deployment_id": { + "image": { "type": "string" }, - "region": { + "command": { "type": "string" }, - "deployment_id": { - "type": "string" + "args": { + "type": "array", + "items": { + "type": "string" + } }, - "instance_type": { + "image_registry_secret": { "type": "string" }, - "duration_seconds": { - "type": "integer", - "format": "int64" - }, - "started_at": { - "type": "string", - "format": "date-time" + "entrypoint": { + "type": "array", + "items": { + "type": "string" + } }, - "terminated_at": { - "type": "string", - "format": "date-time" - } - } - }, - "ArchiveDeploymentMetadata": { - "type": "object", - "properties": { - "last_provisioned_deployment_id": { - "type": "string" - } - } - }, - "CancelDeploymentReply": { - "type": "object" - }, - "DatabaseDeploymentMetadata": { - "type": "object", - "properties": { - "neon_postgres": { - "$ref": "#/definitions/NeonPostgresDatabaseDeploymentMetadata" - } - } - }, - "DatabaseSource": { - "type": "object", - "properties": { - "neon_postgres": { - "$ref": "#/definitions/NeonPostgresDatabase" + "privileged": { + "type": "boolean", + "title": "A flag to run the container in privileged mode" } } }, - "Deployment": { + "Domain": { "type": "object", "properties": { "id": { "type": "string" }, + "organization_id": { + "type": "string" + }, + "name": { + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -16675,278 +16915,216 @@ "type": "string", "format": "date-time" }, - "allocated_at": { - "type": "string", - "format": "date-time" - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "succeeded_at": { - "type": "string", - "format": "date-time" - }, - "terminated_at": { - "type": "string", - "format": "date-time" + "status": { + "$ref": "#/definitions/Domain.Status" }, - "organization_id": { - "type": "string" + "type": { + "$ref": "#/definitions/Domain.Type" }, "app_id": { "type": "string" }, - "service_id": { + "deployment_group": { "type": "string" }, - "parent_id": { - "type": "string" + "verified_at": { + "type": "string", + "format": "date-time" }, - "child_id": { + "intended_cname": { "type": "string" }, - "status": { - "$ref": "#/definitions/Deployment.Status" - }, - "metadata": { - "$ref": "#/definitions/DeploymentMetadata" - }, - "definition": { - "$ref": "#/definitions/DeploymentDefinition" - }, "messages": { "type": "array", "items": { "type": "string" } }, - "provisioning_info": { - "$ref": "#/definitions/DeploymentProvisioningInfo" - }, - "database_info": { - "$ref": "#/definitions/DeploymentDatabaseInfo" - }, - "skip_build": { - "type": "boolean" - }, - "role": { - "$ref": "#/definitions/Deployment.Role" - }, "version": { "type": "string", "format": "uint64" }, - "deployment_group": { - "type": "string" + "cloudflare": { + "$ref": "#/definitions/Domain.LoadBalancerCloudflare" + }, + "koyeb": { + "$ref": "#/definitions/Domain.LoadBalancerKoyeb" + }, + "project_id": { + "type": "string", + "description": "The project ID this domain belongs to. Empty if the domain is organization-level." } } }, - "Deployment.Role": { - "type": "string", - "enum": [ - "INVALID", - "ACTIVE", - "UPCOMING", - "CURRENT" - ], - "default": "INVALID" + "Domain.LoadBalancerCloudflare": { + "type": "object" }, - "Deployment.Status": { + "Domain.LoadBalancerKoyeb": { + "type": "object", + "properties": { + "request_timeout_seconds": { + "type": "integer", + "format": "int64", + "title": "Between 100 and 900" + } + } + }, + "Domain.Status": { "type": "string", "enum": [ "PENDING", - "PROVISIONING", - "SCHEDULED", - "CANCELING", - "CANCELED", - "ALLOCATING", - "STARTING", - "HEALTHY", - "DEGRADED", - "UNHEALTHY", - "STOPPING", - "STOPPED", - "ERRORING", + "ACTIVE", "ERROR", - "STASHED", - "SLEEPING" + "DELETING", + "DELETED" ], "default": "PENDING" }, - "DeploymentDatabaseInfo": { - "type": "object", - "properties": { - "neon_postgres": { - "$ref": "#/definitions/DeploymentNeonPostgresDatabaseInfo" - } - } + "Domain.Type": { + "type": "string", + "enum": [ + "AUTOASSIGNED", + "CUSTOM" + ], + "default": "AUTOASSIGNED", + "title": "- AUTOASSIGNED: Domain like -.koyeb.app" }, - "DeploymentDefinition": { + "GitSource": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/DeploymentDefinition.Type" - }, - "strategy": { - "$ref": "#/definitions/DeploymentStrategy" - }, - "routes": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentRoute" - } - }, - "ports": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentPort" - } - }, - "proxy_ports": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentProxyPort" - } - }, - "env": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentEnv" - } + "repository": { + "type": "string", + "description": "A url to a git repository (contains the provider as well) .e.g: github.com/koyeb/test." }, - "regions": { - "type": "array", - "items": { - "type": "string" - } + "branch": { + "type": "string", + "title": "A git branch that will be tracked for new commits and deployments will be created" }, - "scalings": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentScaling" - } + "tag": { + "type": "string", + "title": "A git tag that should be built" }, - "instance_types": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentInstanceType" - } + "sha": { + "type": "string", + "title": "A git commit that should be built (useful for pinning to a commit, this will always be set when a deployment is created by a code push)" }, - "health_checks": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentHealthCheck" - } + "build_command": { + "type": "string", + "title": "A command used to override the build command, run after all build steps \u2014 deprecated, use buildpack.build_command instead" }, - "volumes": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentVolume" - } + "run_command": { + "type": "string", + "title": "A command used to override the default run command - deprecated, use buildpack.run_command instead" }, - "config_files": { - "type": "array", - "items": { - "$ref": "#/definitions/ConfigFile" - } + "no_deploy_on_push": { + "type": "boolean", + "title": "A flag to disable a new deployment when a push event is detected" }, - "skip_cache": { - "type": "boolean" + "workdir": { + "type": "string", + "title": "A subdirectory to use as the build directory" }, - "mesh": { - "$ref": "#/definitions/DeploymentMesh" + "buildpack": { + "$ref": "#/definitions/BuildpackBuilder" }, "docker": { - "$ref": "#/definitions/DockerSource" - }, - "git": { - "$ref": "#/definitions/GitSource" - }, - "database": { - "$ref": "#/definitions/DatabaseSource" - }, - "archive": { - "$ref": "#/definitions/ArchiveSource" + "$ref": "#/definitions/DockerBuilder" } } }, - "DeploymentDefinition.Type": { - "type": "string", - "enum": [ - "INVALID", - "WEB", - "WORKER", - "DATABASE", - "SANDBOX" - ], - "default": "INVALID" + "HTTPHeader": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } }, - "DeploymentEnv": { + "HTTPHealthCheck": { "type": "object", "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } + "port": { + "type": "integer", + "format": "int64", + "title": "The port to use to perform the health check, must be declared in the ports section" }, - "key": { - "type": "string" + "path": { + "type": "string", + "title": "The path to use to perform the HTTP health check" }, - "value": { - "type": "string" + "method": { + "type": "string", + "title": "An optional HTTP method to use to perform the health check, default is GET" }, - "secret": { - "type": "string" + "headers": { + "type": "array", + "items": { + "$ref": "#/definitions/HTTPHeader" + }, + "title": "An optional list of HTTP headers to provide when performing the request, default is empty" } } }, - "DeploymentEvent": { + "NeonPostgresDatabase": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "when": { - "type": "string", - "format": "date-time" + "pg_version": { + "type": "integer", + "format": "int64" }, - "organization_id": { + "region": { "type": "string" }, - "deployment_id": { + "instance_type": { "type": "string" }, - "type": { - "type": "string" + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/NeonPostgresDatabase.NeonRole" + } }, - "message": { + "databases": { + "type": "array", + "items": { + "$ref": "#/definitions/NeonPostgresDatabase.NeonDatabase" + } + } + } + }, + "NeonPostgresDatabase.NeonDatabase": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "metadata": { - "type": "object" + "owner": { + "type": "string" } } }, - "DeploymentInstanceType": { + "NeonPostgresDatabase.NeonRole": { "type": "object", "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } + "name": { + "type": "string" }, - "type": { + "secret": { "type": "string" } } }, - "DeploymentListItem": { + "ProxyPortProtocol": { + "type": "string", + "enum": [ + "tcp" + ], + "default": "tcp" + }, + "Service": { "type": "object", "properties": { "id": { @@ -16960,45 +17138,40 @@ "type": "string", "format": "date-time" }, - "allocated_at": { + "started_at": { "type": "string", "format": "date-time" }, - "started_at": { + "succeeded_at": { "type": "string", "format": "date-time" }, - "succeeded_at": { + "paused_at": { "type": "string", "format": "date-time" }, - "terminated_at": { + "resumed_at": { "type": "string", "format": "date-time" }, - "organization_id": { - "type": "string" + "terminated_at": { + "type": "string", + "format": "date-time" }, - "app_id": { + "name": { "type": "string" }, - "service_id": { - "type": "string" + "type": { + "$ref": "#/definitions/Service.Type" }, - "parent_id": { + "organization_id": { "type": "string" }, - "child_id": { + "app_id": { "type": "string" }, "status": { - "$ref": "#/definitions/Deployment.Status" - }, - "metadata": { - "$ref": "#/definitions/DeploymentMetadata" - }, - "definition": { - "$ref": "#/definitions/DeploymentDefinition" + "$ref": "#/definitions/Service.Status" }, "messages": { "type": "array", @@ -17006,306 +17179,275 @@ "type": "string" } }, - "provisioning_info": { - "$ref": "#/definitions/DeploymentProvisioningInfo" - }, - "database_info": { - "$ref": "#/definitions/DeploymentDatabaseInfo" - }, "version": { "type": "string", "format": "uint64" }, - "deployment_group": { + "active_deployment_id": { + "type": "string" + }, + "latest_deployment_id": { + "type": "string" + }, + "last_provisioned_deployment_id": { "type": "string" + }, + "state": { + "$ref": "#/definitions/ServiceState", + "title": "Legacy stuff" + }, + "life_cycle": { + "$ref": "#/definitions/ServiceLifeCycle" } } }, - "DeploymentMesh": { + "Service.Status": { "type": "string", "enum": [ - "DEPLOYMENT_MESH_AUTO", - "DEPLOYMENT_MESH_ENABLED", - "DEPLOYMENT_MESH_DISABLED" + "STARTING", + "HEALTHY", + "DEGRADED", + "UNHEALTHY", + "DELETING", + "DELETED", + "PAUSING", + "PAUSED", + "RESUMING" ], - "default": "DEPLOYMENT_MESH_AUTO" + "default": "STARTING" }, - "DeploymentMetadata": { - "type": "object", - "properties": { - "trigger": { - "$ref": "#/definitions/TriggerDeploymentMetadata" - }, - "database": { - "$ref": "#/definitions/DatabaseDeploymentMetadata" - }, - "git": { - "$ref": "#/definitions/GitDeploymentMetadata" - }, - "archive": { - "$ref": "#/definitions/ArchiveDeploymentMetadata" - }, - "proxy_ports": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentProxyPortMetadata" - } - }, - "sandbox": { - "$ref": "#/definitions/SandboxMetadata" - } - } + "Service.Type": { + "type": "string", + "enum": [ + "INVALID_TYPE", + "WEB", + "WORKER", + "DATABASE", + "SANDBOX" + ], + "default": "INVALID_TYPE" }, - "DeploymentNeonPostgresDatabaseInfo": { + "ServiceLifeCycle": { "type": "object", "properties": { - "active_time_seconds": { - "type": "string", - "format": "int64" - }, - "compute_time_seconds": { - "type": "string", - "format": "int64" - }, - "written_data_bytes": { - "type": "string", - "format": "int64" - }, - "data_transfer_bytes": { - "type": "string", - "format": "int64" - }, - "data_storage_bytes_hour": { - "type": "string", - "format": "int64" - }, - "server_host": { - "type": "string" - }, - "server_port": { + "delete_after_sleep": { "type": "integer", "format": "int64" }, - "endpoint_state": { - "type": "string" - }, - "endpoint_last_active": { - "type": "string", - "format": "date-time" - }, - "default_branch_id": { - "type": "string" - }, - "default_branch_name": { - "type": "string" - }, - "default_branch_state": { - "type": "string" - }, - "default_branch_logical_size": { - "type": "string", + "delete_after_create": { + "type": "integer", "format": "int64" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentNeonPostgresDatabaseInfoRole" - } - } - } - }, - "DeploymentNeonPostgresDatabaseInfoRole": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "secret_id": { - "type": "string" } } }, - "DeploymentPort": { + "ServiceState": { "type": "object", "properties": { - "port": { - "type": "integer", - "format": "int64" + "desired_deployment": { + "$ref": "#/definitions/DesiredDeployment" }, - "protocol": { - "type": "string", - "title": "One of http, http2, tcp" + "auto_release": { + "$ref": "#/definitions/AutoRelease" } } }, - "DeploymentProxyPort": { + "TCPHealthCheck": { "type": "object", "properties": { "port": { "type": "integer", - "format": "int64" - }, - "protocol": { - "$ref": "#/definitions/ProxyPortProtocol" + "format": "int64", + "title": "The port to use to perform the health check, must be declared in the ports section" } } }, - "DeploymentProxyPortMetadata": { + "CreateDomain": { "type": "object", "properties": { - "host": { + "name": { "type": "string" }, - "public_port": { - "type": "integer", - "format": "int64" + "type": { + "$ref": "#/definitions/Domain.Type" }, - "port": { - "type": "integer", - "format": "int64" + "app_id": { + "type": "string", + "title": "to auto-attach to an app. Optional" }, - "protocol": { - "$ref": "#/definitions/ProxyPortProtocol" + "cloudflare": { + "$ref": "#/definitions/Domain.LoadBalancerCloudflare" + }, + "koyeb": { + "$ref": "#/definitions/Domain.LoadBalancerKoyeb", + "description": "Only applicable to auto-assigned domains, for organizations on the Scale plan." + }, + "project_id": { + "type": "string", + "title": "(Optional) The project ID to associate with the domain" } } }, - "DeploymentRoute": { + "CreateDomainReply": { "type": "object", "properties": { - "port": { - "type": "integer", - "format": "int64" - }, - "path": { - "type": "string" - }, - "security_policies": { - "$ref": "#/definitions/SecurityPolicies" + "domain": { + "$ref": "#/definitions/Domain" } } }, - "DeploymentScaling": { + "DeleteDomainReply": { + "type": "object" + }, + "GetDomainReply": { "type": "object", "properties": { - "scopes": { + "domain": { + "$ref": "#/definitions/Domain" + } + } + }, + "ListDomainsReply": { + "type": "object", + "properties": { + "domains": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/Domain" } }, - "min": { + "limit": { "type": "integer", - "format": "int64" + "format": "int64", + "title": "The limit in the request" }, - "max": { + "offset": { "type": "integer", - "format": "int64" + "format": "int64", + "title": "The offset in the request" }, - "targets": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentScalingTarget" - } + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" } } }, - "DeploymentVolume": { + "RefreshDomainStatusReply": { + "type": "object" + }, + "UpdateDomain": { "type": "object", "properties": { - "id": { + "app_id": { "type": "string", - "title": "the id of the volume" + "description": "To attach or detach from an app for custom domain." }, - "path": { + "subdomain": { "type": "string", - "title": "the path where the volume is mounted to" - }, - "replica_index": { - "type": "integer", - "format": "int64", - "title": "optionally, explicitly choose the replica index to mount the volume to" - }, - "scopes": { - "type": "array", - "items": { - "type": "string" - }, - "title": "scope of the associated" + "description": "To change subdomain for auto-assigned domain." } } }, - "GetDeploymentReply": { + "UpdateDomainReply": { "type": "object", "properties": { - "deployment": { - "$ref": "#/definitions/Deployment" + "domain": { + "$ref": "#/definitions/Domain" } } }, - "GetDeploymentScalingReply": { + "AppEvent": { "type": "object", "properties": { - "replicas": { - "type": "array", - "items": { - "$ref": "#/definitions/GetDeploymentScalingReplyItem" - }, - "title": "The replicas" + "id": { + "type": "string" + }, + "when": { + "type": "string", + "format": "date-time" + }, + "organization_id": { + "type": "string" + }, + "app_id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "type": "object" } } }, - "GetDeploymentScalingReplyItem": { + "AppListItem": { "type": "object", "properties": { - "region": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization_id": { + "type": "string" + }, + "updated_at": { "type": "string", - "title": "The replica region" + "format": "date-time" }, - "replica_index": { - "type": "integer", - "format": "int64" + "created_at": { + "type": "string", + "format": "date-time" }, - "instances": { + "domains": { "type": "array", "items": { - "$ref": "#/definitions/Instance" - }, - "description": "An array of `active` and `starting` instances.\n\nStatus of the active instance (and if none the most recent instance)\n string status = 4;\n Status message of the active instance (and if none the most recent instance)\n string message = 5;" + "$ref": "#/definitions/Domain" + } + }, + "status": { + "$ref": "#/definitions/App.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } } } }, - "GitDeploymentMetadata": { + "CreateAppReply": { "type": "object", "properties": { - "last_provisioned_deployment_id": { - "type": "string" - }, - "git_env": { - "$ref": "#/definitions/GitEnvDeploymentMetadata" + "app": { + "$ref": "#/definitions/App", + "title": "The entity created" } } }, - "GitEnvDeploymentMetadata": { + "DeleteAppReply": { + "type": "object" + }, + "GetAppReply": { "type": "object", "properties": { - "sha": { - "type": "string" - }, - "commit_author": { - "type": "string" - }, - "commit_message": { - "type": "string" + "app": { + "$ref": "#/definitions/App", + "title": "The App retrieved" } } }, - "ListDeploymentEventsReply": { + "ListAppEventsReply": { "type": "object", "properties": { "events": { "type": "array", "items": { - "$ref": "#/definitions/DeploymentEvent" + "$ref": "#/definitions/AppEvent" }, "title": "The collection of events" }, @@ -17329,15 +17471,14 @@ } } }, - "ListDeploymentsReply": { + "ListAppsReply": { "type": "object", "properties": { - "deployments": { + "apps": { "type": "array", "items": { - "$ref": "#/definitions/DeploymentListItem" - }, - "title": "The collection of deployments" + "$ref": "#/definitions/AppListItem" + } }, "limit": { "type": "integer", @@ -17350,444 +17491,465 @@ "title": "The offset in the request" }, "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" - } - } - }, - "NeonPostgresDatabase": { - "type": "object", - "properties": { - "pg_version": { - "type": "integer", - "format": "int64" - }, - "region": { - "type": "string" - }, - "instance_type": { - "type": "string" - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/NeonPostgresDatabase.NeonRole" - } - }, - "databases": { - "type": "array", - "items": { - "$ref": "#/definitions/NeonPostgresDatabase.NeonDatabase" - } + "type": "integer", + "format": "int64", + "title": "The total number of items" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "NeonPostgresDatabase.NeonDatabase": { + "PauseAppReply": { + "type": "object" + }, + "ResumeAppReply": { + "type": "object" + }, + "UpdateApp": { "type": "object", "properties": { "name": { "type": "string" }, - "owner": { - "type": "string" + "life_cycle": { + "$ref": "#/definitions/AppLifeCycle" } } }, - "NeonPostgresDatabase.NeonRole": { + "UpdateAppReply": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "secret": { + "app": { + "$ref": "#/definitions/App", + "title": "The entity updated" + } + } + }, + "ArchiveDeploymentMetadata": { + "type": "object", + "properties": { + "last_provisioned_deployment_id": { "type": "string" } } }, - "NeonPostgresDatabaseDeploymentMetadata": { + "AutocompleteReply": { "type": "object", "properties": { - "reset_role_passwords": { + "secrets": { "type": "array", "items": { "type": "string" - } + }, + "title": "List of available secrets" + }, + "user_env": { + "type": "array", + "items": { + "type": "string" + }, + "title": "List of available user's environment variables" + }, + "system_env": { + "type": "array", + "items": { + "type": "string" + }, + "title": "List of available system's environment variables" } } }, - "ProxyPortProtocol": { - "type": "string", - "enum": [ - "tcp" - ], - "default": "tcp" + "AutocompleteRequest": { + "type": "object", + "properties": { + "definition": { + "$ref": "#/definitions/DeploymentDefinition", + "title": "Deployment definition" + } + } }, - "SandboxMetadata": { + "CreateServiceReply": { "type": "object", "properties": { - "public_url": { - "type": "string" - }, - "routing_key": { - "type": "string" + "service": { + "$ref": "#/definitions/Service", + "title": "The entity created" } } }, - "TriggerDeploymentMetadata": { + "DatabaseDeploymentMetadata": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/TriggerDeploymentMetadata.TriggerType" - }, - "actor": { - "$ref": "#/definitions/TriggerDeploymentMetadata.ActorType" - }, - "git": { - "$ref": "#/definitions/TriggerGitDeploymentMetadata" + "neon_postgres": { + "$ref": "#/definitions/NeonPostgresDatabaseDeploymentMetadata" } } }, - "TriggerDeploymentMetadata.ActorType": { - "type": "string", - "enum": [ - "UNKNOWN_ACTOR", - "USER", - "SYSTEM" - ], - "default": "UNKNOWN_ACTOR" + "DeleteServiceReply": { + "type": "object" }, - "TriggerDeploymentMetadata.TriggerType": { - "type": "string", - "enum": [ - "UNKNOWN_TYPE", - "GIT", - "RESUME", - "DATABASE_SYNC" - ], - "default": "UNKNOWN_TYPE" + "DeleteServiceScalingReply": { + "type": "object", + "title": "Empty reply - success is indicated by no error" }, - "TriggerGitDeploymentMetadata": { + "Deployment": { "type": "object", "properties": { - "provider": { - "$ref": "#/definitions/TriggerGitDeploymentMetadata.Provider" - }, - "repository": { + "id": { "type": "string" }, - "branch": { - "type": "string" + "created_at": { + "type": "string", + "format": "date-time" }, - "sha": { + "updated_at": { + "type": "string", + "format": "date-time" + }, + "allocated_at": { + "type": "string", + "format": "date-time" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "succeeded_at": { + "type": "string", + "format": "date-time" + }, + "terminated_at": { + "type": "string", + "format": "date-time" + }, + "organization_id": { "type": "string" }, - "message": { + "app_id": { "type": "string" }, - "sender_username": { + "service_id": { "type": "string" }, - "sender_avatar_url": { + "parent_id": { "type": "string" }, - "sender_profile_url": { + "child_id": { "type": "string" - } - } - }, - "TriggerGitDeploymentMetadata.Provider": { - "type": "string", - "enum": [ - "UNKNOWN", - "GITHUB" - ], - "default": "UNKNOWN" - }, - "AutoRelease": { - "type": "object", - "properties": { - "groups": { + }, + "status": { + "$ref": "#/definitions/Deployment.Status" + }, + "metadata": { + "$ref": "#/definitions/DeploymentMetadata" + }, + "definition": { + "$ref": "#/definitions/DeploymentDefinition" + }, + "messages": { "type": "array", "items": { - "$ref": "#/definitions/AutoRelease.Group" + "type": "string" } - } - } - }, - "AutoRelease.Group": { - "type": "object", - "properties": { - "name": { - "type": "string" }, - "repository": { - "type": "string" + "provisioning_info": { + "$ref": "#/definitions/DeploymentProvisioningInfo" }, - "git_ref": { - "type": "string", - "title": "A git ref to track (.e.g: refs/tags/ or refs/heads/" + "database_info": { + "$ref": "#/definitions/DeploymentDatabaseInfo" }, - "latest_sha": { + "skip_build": { + "type": "boolean" + }, + "role": { + "$ref": "#/definitions/Deployment.Role" + }, + "version": { "type": "string", - "title": "The last hash that was resolved (used to avoid triggering releases when things haven't changed)" - } - }, - "title": "Configuration extracted from the latest deployment in this deployment_group" - }, - "ComposeReply": { - "type": "object", - "properties": { - "app": { - "$ref": "#/definitions/App" + "format": "uint64" }, - "services": { - "type": "array", - "items": { - "$ref": "#/definitions/Service" - } + "deployment_group": { + "type": "string" } } }, - "CreateCompose": { + "Deployment.Role": { + "type": "string", + "enum": [ + "INVALID", + "ACTIVE", + "UPCOMING", + "CURRENT" + ], + "default": "INVALID" + }, + "Deployment.Status": { + "type": "string", + "enum": [ + "PENDING", + "PROVISIONING", + "SCHEDULED", + "CANCELING", + "CANCELED", + "ALLOCATING", + "STARTING", + "HEALTHY", + "DEGRADED", + "UNHEALTHY", + "STOPPING", + "STOPPED", + "ERRORING", + "ERROR", + "STASHED", + "SLEEPING" + ], + "default": "PENDING" + }, + "DeploymentDatabaseInfo": { "type": "object", "properties": { - "app": { - "$ref": "#/definitions/CreateApp" - }, - "services": { - "type": "array", - "items": { - "$ref": "#/definitions/CreateService" - } + "neon_postgres": { + "$ref": "#/definitions/DeploymentNeonPostgresDatabaseInfo" } } }, - "CreateService": { + "DeploymentMetadata": { "type": "object", "properties": { - "app_id": { - "type": "string" + "trigger": { + "$ref": "#/definitions/TriggerDeploymentMetadata" }, - "definition": { - "$ref": "#/definitions/DeploymentDefinition" + "database": { + "$ref": "#/definitions/DatabaseDeploymentMetadata" }, - "life_cycle": { - "$ref": "#/definitions/ServiceLifeCycle" + "git": { + "$ref": "#/definitions/GitDeploymentMetadata" }, - "project_id": { - "type": "string", - "title": "(Optional) The project ID to associate with the service" - } - } - }, - "DesiredDeployment": { - "type": "object", - "properties": { - "groups": { - "type": "array", - "items": { - "$ref": "#/definitions/DesiredDeployment.Group" - } - } - } - }, - "DesiredDeployment.Group": { - "type": "object", - "properties": { - "name": { - "type": "string" + "archive": { + "$ref": "#/definitions/ArchiveDeploymentMetadata" }, - "deployment_ids": { + "proxy_ports": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/DeploymentProxyPortMetadata" } + }, + "sandbox": { + "$ref": "#/definitions/SandboxMetadata" } } }, - "Service": { + "DeploymentNeonPostgresDatabaseInfo": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "created_at": { + "active_time_seconds": { "type": "string", - "format": "date-time" + "format": "int64" }, - "updated_at": { + "compute_time_seconds": { "type": "string", - "format": "date-time" + "format": "int64" }, - "started_at": { + "written_data_bytes": { "type": "string", - "format": "date-time" + "format": "int64" }, - "succeeded_at": { + "data_transfer_bytes": { "type": "string", - "format": "date-time" + "format": "int64" }, - "paused_at": { + "data_storage_bytes_hour": { "type": "string", - "format": "date-time" + "format": "int64" }, - "resumed_at": { - "type": "string", - "format": "date-time" + "server_host": { + "type": "string" }, - "terminated_at": { + "server_port": { + "type": "integer", + "format": "int64" + }, + "endpoint_state": { + "type": "string" + }, + "endpoint_last_active": { "type": "string", "format": "date-time" }, - "name": { + "default_branch_id": { "type": "string" }, - "type": { - "$ref": "#/definitions/Service.Type" - }, - "organization_id": { + "default_branch_name": { "type": "string" }, - "app_id": { + "default_branch_state": { "type": "string" }, - "status": { - "$ref": "#/definitions/Service.Status" + "default_branch_logical_size": { + "type": "string", + "format": "int64" }, - "messages": { + "roles": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/DeploymentNeonPostgresDatabaseInfoRole" } - }, - "version": { - "type": "string", - "format": "uint64" - }, - "active_deployment_id": { - "type": "string" - }, - "latest_deployment_id": { + } + } + }, + "DeploymentNeonPostgresDatabaseInfoRole": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "last_provisioned_deployment_id": { + "secret_id": { "type": "string" - }, - "state": { - "$ref": "#/definitions/ServiceState", - "title": "Legacy stuff" - }, - "life_cycle": { - "$ref": "#/definitions/ServiceLifeCycle" } } }, - "Service.Status": { - "type": "string", - "enum": [ - "STARTING", - "HEALTHY", - "DEGRADED", - "UNHEALTHY", - "DELETING", - "DELETED", - "PAUSING", - "PAUSED", - "RESUMING" - ], - "default": "STARTING" - }, - "Service.Type": { - "type": "string", - "enum": [ - "INVALID_TYPE", - "WEB", - "WORKER", - "DATABASE", - "SANDBOX" - ], - "default": "INVALID_TYPE" - }, - "ServiceLifeCycle": { + "DeploymentProvisioningInfo": { "type": "object", "properties": { - "delete_after_sleep": { - "type": "integer", - "format": "int64" + "sha": { + "type": "string", + "description": "The git sha for this build (we resolve the reference at the start of the build)." }, - "delete_after_create": { - "type": "integer", - "format": "int64" + "image": { + "type": "string", + "description": "The docker image built as a result of this build." + }, + "stages": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage" + }, + "description": "Some info about the build." } } }, - "ServiceState": { + "DeploymentProvisioningInfo.Stage": { "type": "object", "properties": { - "desired_deployment": { - "$ref": "#/definitions/DesiredDeployment" + "name": { + "type": "string" }, - "auto_release": { - "$ref": "#/definitions/AutoRelease" + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "finished_at": { + "type": "string", + "format": "date-time" + }, + "build_attempts": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.BuildAttempt" + } } } }, - "AutocompleteReply": { + "DeploymentProvisioningInfo.Stage.BuildAttempt": { "type": "object", "properties": { - "secrets": { + "id": { + "type": "integer", + "format": "int64" + }, + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + }, + "messages": { "type": "array", "items": { "type": "string" - }, - "title": "List of available secrets" + } }, - "user_env": { + "started_at": { + "type": "string", + "format": "date-time" + }, + "finished_at": { + "type": "string", + "format": "date-time" + }, + "steps": { "type": "array", "items": { - "type": "string" - }, - "title": "List of available user's environment variables" + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep" + } + }, + "image_pushed": { + "type": "boolean" + }, + "internal_failure": { + "type": "boolean" + }, + "retryable_failure": { + "type": "boolean" }, - "system_env": { - "type": "array", - "items": { - "type": "string" - }, - "title": "List of available system's environment variables" + "wait_completion": { + "type": "boolean", + "description": "This flag is used to finalize the build, and continue the deployment in case of success, or cancel and potentially retry the build in case of failure." } } }, - "AutocompleteRequest": { + "DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep": { "type": "object", "properties": { - "definition": { - "$ref": "#/definitions/DeploymentDefinition", - "title": "Deployment definition" + "name": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "finished_at": { + "type": "string", + "format": "date-time" } } }, - "CreateServiceReply": { + "DeploymentProxyPortMetadata": { "type": "object", "properties": { - "service": { - "$ref": "#/definitions/Service", - "title": "The entity created" + "host": { + "type": "string" + }, + "public_port": { + "type": "integer", + "format": "int64" + }, + "port": { + "type": "integer", + "format": "int64" + }, + "protocol": { + "$ref": "#/definitions/ProxyPortProtocol" } } }, - "DeleteServiceReply": { - "type": "object" - }, - "DeleteServiceScalingReply": { - "type": "object", - "title": "Empty reply - success is indicated by no error" - }, "GetServiceReply": { "type": "object", "properties": { @@ -17809,6 +17971,31 @@ } } }, + "GitDeploymentMetadata": { + "type": "object", + "properties": { + "last_provisioned_deployment_id": { + "type": "string" + }, + "git_env": { + "$ref": "#/definitions/GitEnvDeploymentMetadata" + } + } + }, + "GitEnvDeploymentMetadata": { + "type": "object", + "properties": { + "sha": { + "type": "string" + }, + "commit_author": { + "type": "string" + }, + "commit_message": { + "type": "string" + } + } + }, "ListServiceEventsReply": { "type": "object", "properties": { @@ -17884,6 +18071,17 @@ } } }, + "NeonPostgresDatabaseDeploymentMetadata": { + "type": "object", + "properties": { + "reset_role_passwords": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, "PauseServiceReply": { "type": "object" }, @@ -17917,6 +18115,17 @@ "ResumeServiceReply": { "type": "object" }, + "SandboxMetadata": { + "type": "object", + "properties": { + "public_url": { + "type": "string" + }, + "routing_key": { + "type": "string" + } + } + }, "ServiceEvent": { "type": "object", "properties": { @@ -17998,6 +18207,76 @@ } } }, + "TriggerDeploymentMetadata": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/TriggerDeploymentMetadata.TriggerType" + }, + "actor": { + "$ref": "#/definitions/TriggerDeploymentMetadata.ActorType" + }, + "git": { + "$ref": "#/definitions/TriggerGitDeploymentMetadata" + } + } + }, + "TriggerDeploymentMetadata.ActorType": { + "type": "string", + "enum": [ + "UNKNOWN_ACTOR", + "USER", + "SYSTEM" + ], + "default": "UNKNOWN_ACTOR" + }, + "TriggerDeploymentMetadata.TriggerType": { + "type": "string", + "enum": [ + "UNKNOWN_TYPE", + "GIT", + "RESUME", + "DATABASE_SYNC" + ], + "default": "UNKNOWN_TYPE" + }, + "TriggerGitDeploymentMetadata": { + "type": "object", + "properties": { + "provider": { + "$ref": "#/definitions/TriggerGitDeploymentMetadata.Provider" + }, + "repository": { + "type": "string" + }, + "branch": { + "type": "string" + }, + "sha": { + "type": "string" + }, + "message": { + "type": "string" + }, + "sender_username": { + "type": "string" + }, + "sender_avatar_url": { + "type": "string" + }, + "sender_profile_url": { + "type": "string" + } + } + }, + "TriggerGitDeploymentMetadata.Provider": { + "type": "string", + "enum": [ + "UNKNOWN", + "GITHUB" + ], + "default": "UNKNOWN" + }, "UpdateService": { "type": "object", "properties": { @@ -18031,1059 +18310,775 @@ }, "UpdateServiceScalingReply": { "type": "object", - "title": "Empty reply - success is indicated by no error" - }, - "CreateStageAttemptReply": { - "type": "object" - }, - "DeclareStageProgressReply": { - "type": "object" - }, - "DeclareStepProgressReply": { - "type": "object" - }, - "Archive": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The archive id, that can be referenced when creating or updating a service." - }, - "organization_id": { - "type": "string", - "description": "Organization owning the archive." - }, - "upload_url": { - "type": "string", - "description": "The URL where to upload the archive. This URL is signed and can only be\nused to upload the archive until `valid_until`." - }, - "size": { - "type": "string", - "format": "uint64", - "description": "The provisioned space for the archive." - }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "Date of creation of the archive." - }, - "deleted_at": { - "type": "string", - "format": "date-time", - "description": "This field is automatically set by Koyeb when the\narchive is garbage collected." - } - } - }, - "CreateArchive": { - "type": "object", - "properties": { - "size": { - "type": "string", - "format": "uint64", - "description": "How much space to provision for the archive, in bytes." - }, - "project_id": { - "type": "string", - "title": "(Optional) The project ID to associate with the archive" - } - } - }, - "CreateArchiveReply": { - "type": "object", - "properties": { - "archive": { - "$ref": "#/definitions/Archive" - } - } - }, - "GetIntercomProfileReply": { - "type": "object", - "properties": { - "hash": { - "type": "string" - } - } - }, - "GetSubscriptionReply": { - "type": "object", - "properties": { - "subscription": { - "$ref": "#/definitions/Subscription" - } - } + "title": "Empty reply - success is indicated by no error" }, - "Subscription": { + "CancelDeploymentReply": { + "type": "object" + }, + "DeploymentEvent": { "type": "object", "properties": { "id": { "type": "string" }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { + "when": { "type": "string", "format": "date-time" }, - "version": { - "type": "string", - "format": "uint64" - }, "organization_id": { "type": "string" }, - "stripe_subscription_id": { + "deployment_id": { "type": "string" }, - "status": { - "$ref": "#/definitions/Subscription.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "has_pending_update": { - "type": "boolean" - }, - "stripe_pending_invoice_id": { + "type": { "type": "string" }, - "terminate_at": { - "type": "string", - "format": "date-time" + "message": { + "type": "string" }, - "canceled_at": { - "type": "string", - "format": "date-time" + "metadata": { + "type": "object" + } + } + }, + "DeploymentListItem": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "terminated_at": { + "created_at": { "type": "string", "format": "date-time" }, - "current_period_start": { + "updated_at": { "type": "string", "format": "date-time" }, - "current_period_end": { + "allocated_at": { "type": "string", "format": "date-time" }, - "currency": { - "type": "string" - }, - "amount_payable": { - "type": "string", - "format": "int64" - }, - "amount_paid": { - "type": "string", - "format": "int64" - }, - "amount_remaining": { - "type": "string", - "format": "int64" - }, - "payment_failure": { - "$ref": "#/definitions/Subscription.PaymentFailure" - }, - "trialing": { - "type": "boolean" - }, - "trial_ends_at": { + "started_at": { "type": "string", "format": "date-time" }, - "trial_max_spend": { - "type": "string", - "format": "int64" - }, - "current_spend": { - "type": "string", - "format": "int64" - } - } - }, - "Subscription.PaymentFailure": { - "type": "object", - "properties": { - "failed_at": { + "succeeded_at": { "type": "string", "format": "date-time" }, - "next_attempt": { + "terminated_at": { "type": "string", "format": "date-time" }, - "attempt_count": { - "type": "string", - "format": "int64" + "organization_id": { + "type": "string" }, - "error_code": { + "app_id": { "type": "string" }, - "error_reason": { + "service_id": { "type": "string" }, - "error_type": { + "parent_id": { "type": "string" }, - "error_message": { + "child_id": { "type": "string" }, - "payment_method_required": { - "type": "boolean" + "status": { + "$ref": "#/definitions/Deployment.Status" }, - "redirect_url": { - "type": "string" + "metadata": { + "$ref": "#/definitions/DeploymentMetadata" }, - "stripe_sdk": { - "$ref": "#/definitions/Subscription.PaymentFailure.StripeSDK" - } - } - }, - "Subscription.PaymentFailure.StripeSDK": { - "type": "object", - "properties": { - "client_secret_key": { - "type": "string" + "definition": { + "$ref": "#/definitions/DeploymentDefinition" }, - "raw_json": { - "type": "string" - } - } - }, - "Subscription.Status": { - "type": "string", - "enum": [ - "INVALID", - "CREATED", - "ACTIVE", - "WARNING", - "URGENT", - "CANCELING", - "CANCELED", - "TERMINATING", - "TERMINATED" - ], - "default": "INVALID" - }, - "ListOrganizationMembersReply": { - "type": "object", - "properties": { - "members": { + "messages": { "type": "array", "items": { - "$ref": "#/definitions/OrganizationMember" - }, - "title": "The collection of organization members" + "type": "string" + } }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" + "provisioning_info": { + "$ref": "#/definitions/DeploymentProvisioningInfo" }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" + "database_info": { + "$ref": "#/definitions/DeploymentDatabaseInfo" }, - "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" + "version": { + "type": "string", + "format": "uint64" + }, + "deployment_group": { + "type": "string" } } }, - "Organization.Status": { - "type": "string", - "enum": [ - "WARNING", - "LOCKED", - "ACTIVE", - "DEACTIVATING", - "DEACTIVATED", - "DELETING", - "DELETED" - ], - "default": "WARNING" - }, - "OrganizationMember": { + "GetDeploymentReply": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "organization_id": { - "type": "string" - }, - "user_id": { - "type": "string" - }, - "external_id": { - "type": "string" - }, - "joined_at": { - "type": "string", - "format": "date-time" - }, - "role": { - "$ref": "#/definitions/UserRole.Role" - }, - "status": { - "$ref": "#/definitions/OrganizationMember.Status" - }, - "user": { - "$ref": "#/definitions/PublicUser" - }, - "organization": { - "$ref": "#/definitions/PublicOrganization" + "deployment": { + "$ref": "#/definitions/Deployment" } } }, - "OrganizationMember.Status": { - "type": "string", - "enum": [ - "INVALID", - "ACTIVE", - "DELETED" - ], - "default": "INVALID" - }, - "Plan": { - "type": "string", - "enum": [ - "hobby", - "starter", - "startup", - "business", - "enterprise", - "internal", - "hobby23", - "no_plan", - "pro", - "scale", - "partner_csp", - "partner_csp_unit" - ], - "default": "hobby" + "GetDeploymentScalingReply": { + "type": "object", + "properties": { + "replicas": { + "type": "array", + "items": { + "$ref": "#/definitions/GetDeploymentScalingReplyItem" + }, + "title": "The replicas" + } + } }, - "PublicOrganization": { + "GetDeploymentScalingReplyItem": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "plan": { - "$ref": "#/definitions/Plan" + "region": { + "type": "string", + "title": "The replica region" }, - "status": { - "$ref": "#/definitions/Organization.Status" + "replica_index": { + "type": "integer", + "format": "int64" }, - "external_id": { - "type": "string" + "instances": { + "type": "array", + "items": { + "$ref": "#/definitions/Instance" + }, + "description": "An array of `active` and `starting` instances.\n\nStatus of the active instance (and if none the most recent instance)\n string status = 4;\n Status message of the active instance (and if none the most recent instance)\n string message = 5;" } } }, - "PublicUser": { + "Instance": { "type": "object", "properties": { "id": { "type": "string" }, - "email": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "organization_id": { "type": "string" }, - "name": { + "app_id": { "type": "string" }, - "avatar_url": { + "service_id": { "type": "string" }, - "github_id": { + "regional_deployment_id": { "type": "string" }, - "github_user": { + "allocation_id": { "type": "string" + }, + "type": { + "type": "string" + }, + "replica_index": { + "type": "integer", + "format": "int64" + }, + "region": { + "type": "string" + }, + "datacenter": { + "type": "string" + }, + "hypervisor": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/Instance.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "succeeded_at": { + "type": "string", + "format": "date-time" + }, + "terminated_at": { + "type": "string", + "format": "date-time" + }, + "xyz_deployment_id": { + "type": "string", + "description": "WARNING: Please don't use the following attribute.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK." } } }, - "RemoveOrganizationMemberReply": { - "type": "object", - "properties": { - "member": { - "$ref": "#/definitions/OrganizationMember" - } - } - }, - "UserRole.Role": { + "Instance.Status": { "type": "string", "enum": [ - "INVALID", - "OWNER" + "ALLOCATING", + "STARTING", + "HEALTHY", + "UNHEALTHY", + "STOPPING", + "STOPPED", + "ERROR", + "SLEEPING" ], - "default": "INVALID" + "default": "ALLOCATING" }, - "CheckCouponReply": { + "ListDeploymentEventsReply": { "type": "object", "properties": { - "name": { - "type": "string" + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentEvent" + }, + "title": "The collection of events" }, - "percent_off": { - "type": "number", - "format": "float" + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" }, - "amount_off": { + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "order": { "type": "string", - "format": "int64" + "title": "The order in the request" }, - "currency": { - "type": "string" + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "RedeemCouponReply": { - "type": "object" - }, - "RedeemCouponRequest": { + "ListDeploymentsReply": { "type": "object", "properties": { - "code": { - "type": "string" + "deployments": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentListItem" + }, + "title": "The collection of deployments" + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" + }, + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "CreateOrganizationInvitationReply": { + "Archive": { "type": "object", "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation", - "title": "The organization invitation sent" + "id": { + "type": "string", + "description": "The archive id, that can be referenced when creating or updating a service." + }, + "organization_id": { + "type": "string", + "description": "Organization owning the archive." + }, + "upload_url": { + "type": "string", + "description": "The URL where to upload the archive. This URL is signed and can only be\nused to upload the archive until `valid_until`." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "The provisioned space for the archive." + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Date of creation of the archive." + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "description": "This field is automatically set by Koyeb when the\narchive is garbage collected." } } }, - "CreateOrganizationInvitationRequest": { + "CreateArchive": { "type": "object", "properties": { - "email": { + "size": { "type": "string", - "title": "The email of the person to invite" + "format": "uint64", + "description": "How much space to provision for the archive, in bytes." + }, + "project_id": { + "type": "string", + "title": "(Optional) The project ID to associate with the archive" } } }, - "DeleteOrganizationInvitationReply": { - "type": "object" - }, - "GetOrganizationInvitationReply": { + "CreateArchiveReply": { "type": "object", "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation" + "archive": { + "$ref": "#/definitions/Archive" } } }, - "ListOrganizationInvitationsReply": { + "CreatePersistentVolumeReply": { "type": "object", "properties": { - "invitations": { - "type": "array", - "items": { - "$ref": "#/definitions/OrganizationInvitation" - }, - "title": "The collection of organization invitations" - }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" - }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" - }, - "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" + "volume": { + "$ref": "#/definitions/PersistentVolume" } } }, - "OrganizationInvitation": { + "CreatePersistentVolumeRequest": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "email": { - "type": "string" - }, - "role": { - "$ref": "#/definitions/UserRole.Role" - }, - "status": { - "$ref": "#/definitions/OrganizationInvitation.Status" + "volume_type": { + "$ref": "#/definitions/PersistentVolumeBackingStore", + "title": "the volume backing store type" }, - "expires_at": { + "name": { "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string" + "title": "the volume name" }, - "organization": { - "$ref": "#/definitions/PublicOrganization" + "region": { + "type": "string", + "title": "the volume region" }, - "invitee_id": { - "type": "string" + "read_only": { + "type": "boolean", + "title": "whether the volume must be set as read only" }, - "invitee": { - "$ref": "#/definitions/PublicUser" + "max_size": { + "type": "integer", + "format": "int64", + "title": "the size of the volume (in Gigabyte / GB)" }, - "inviter_id": { - "type": "string" + "snapshot_id": { + "type": "string", + "title": "(optional) the id of the snapshot whence the volume comes from" }, - "inviter": { - "$ref": "#/definitions/PublicUser" - } - } - }, - "OrganizationInvitation.Status": { - "type": "string", - "enum": [ - "INVALID", - "PENDING", - "ACCEPTED", - "REFUSED", - "EXPIRED" - ], - "default": "INVALID" - }, - "ResendOrganizationInvitationReply": { - "type": "object", - "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation", - "title": "The organization invitation resent" + "project_id": { + "type": "string", + "title": "(Optional) The project ID to associate with the volume" } } }, - "DomainLoadBalancerQuotas": { + "DeletePersistentVolumeReply": { "type": "object", "properties": { - "max_koyeb": { - "type": "integer", - "format": "int64" + "volume": { + "$ref": "#/definitions/PersistentVolume" } } }, - "GetQuotasReply": { + "GetPersistentVolumeReply": { "type": "object", "properties": { - "quotas": { - "$ref": "#/definitions/Quotas" + "volume": { + "$ref": "#/definitions/PersistentVolume" } } }, - "LifecycleQuotas": { + "ListPersistentVolumeEventsReply": { "type": "object", "properties": { - "delete_after_sleep_min": { - "type": "integer", - "format": "int64", - "title": "delete after sleep limits" + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/PersistentVolumeEvent" + }, + "title": "The collection of events" }, - "delete_after_sleep_max": { + "limit": { "type": "integer", - "format": "int64" + "format": "int64", + "title": "The limit in the request" }, - "delete_after_create_min": { + "offset": { "type": "integer", "format": "int64", - "title": "delete after create limits" + "title": "The offset in the request" }, - "delete_after_create_max": { - "type": "integer", - "format": "int64" + "order": { + "type": "string", + "title": "The order in the request" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "PersistentVolumeQuotas": { + "ListPersistentVolumesReply": { "type": "object", "properties": { - "max_total_size": { - "type": "integer", - "format": "int64", - "description": "MaxTotalSize for all volumes on a region (in Gigabyte / GB)." + "volumes": { + "type": "array", + "items": { + "$ref": "#/definitions/PersistentVolume" + }, + "title": "The collection of persistent volumes" }, - "max_volume_size": { + "limit": { "type": "integer", "format": "int64", - "description": "MaxVolumeSize for one volume (in Gigabyte / GB)." + "title": "The limit in the request" }, - "max_per_instance_size": { + "offset": { "type": "integer", "format": "int64", - "description": "MaxPerInstanceSize for all volumes on an instance (in Gigabyte / GB)." + "title": "The offset in the request" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "Quotas": { + "PersistentVolume": { "type": "object", "properties": { - "apps": { - "type": "string", - "format": "int64" - }, - "services": { - "type": "string", - "format": "int64" - }, - "domains": { - "type": "string", - "format": "int64", - "title": "Deprecated, use custom_domains instead" - }, - "services_by_app": { + "id": { "type": "string", - "format": "int64" + "title": "the identifier for the volume object" }, - "service_provisioning_concurrency": { + "name": { "type": "string", - "format": "int64" + "title": "the volume name" }, - "memory_mb": { + "snapshot_id": { "type": "string", - "format": "int64" - }, - "instance_types": { - "type": "array", - "items": { - "type": "string" - } - }, - "regions": { - "type": "array", - "items": { - "type": "string" - } + "title": "(optional) the id of the snapshot whence the volume comes from" }, - "max_organization_members": { + "created_at": { "type": "string", - "format": "int64" - }, - "max_instances_by_type": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - } - }, - "persistent_volumes_by_region": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/PersistentVolumeQuotas" - } + "format": "date-time", + "title": "creation timestamp" }, - "custom_domains": { + "updated_at": { "type": "string", - "format": "int64" - }, - "domains_load_balancer": { - "$ref": "#/definitions/DomainLoadBalancerQuotas" - }, - "metrics_retention": { - "type": "integer", - "format": "int32", - "title": "Time in days" - }, - "logs_retention": { - "type": "integer", - "format": "int32", - "title": "Time in days" - }, - "access_reserved_subdomains": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The mapping between reserved_subdomain names and their value is in the code" - }, - "proxy_ports": { - "type": "integer", - "format": "int64" - }, - "scale_to_zero": { - "$ref": "#/definitions/ScaleToZeroQuotas" + "format": "date-time", + "title": "last change timestamp" }, - "archives": { + "deleted_at": { "type": "string", - "format": "int64" + "format": "date-time", + "title": "deletion timestamp" }, - "archive_max_size_mb": { + "organization_id": { "type": "string", - "format": "int64" - }, - "lifecycle": { - "$ref": "#/definitions/LifecycleQuotas" + "title": "the organization to which the volume belongs to" }, - "max_projects": { + "service_id": { "type": "string", - "format": "int64" - } - } - }, - "ScaleToZeroQuotas": { - "type": "object", - "properties": { - "is_deep_sleep_enabled": { - "type": "boolean", - "title": "deep sleep limits" - }, - "deep_sleep_idle_delay_min": { - "type": "integer", - "format": "int64" + "title": "the service_id to which the volume is eventually bound to" }, - "deep_sleep_idle_delay_max": { - "type": "integer", - "format": "int64" + "region": { + "type": "string", + "title": "the region where the volume exists" }, - "is_light_sleep_enabled": { + "read_only": { "type": "boolean", - "title": "light sleep limits" + "title": "whether to mount the volume in read-only mode" }, - "light_sleep_idle_delay_min": { + "max_size": { "type": "integer", - "format": "int64" + "format": "int64", + "title": "the maximum size of the volume (in Gigabyte / GB)" }, - "light_sleep_idle_delay_max": { + "cur_size": { "type": "integer", - "format": "int64" + "format": "int64", + "title": "the used amount of space as measured the last time (in Gigabyte / GB)" + }, + "status": { + "$ref": "#/definitions/PersistentVolumeStatus", + "title": "the status of the volume" + }, + "backing_store": { + "$ref": "#/definitions/PersistentVolumeBackingStore", + "title": "the backing store type" } - } + }, + "title": "The object that represent a volume to handle persistency for deployments" }, - "DeleteUserReply": { - "type": "object", - "properties": { - "user": { - "$ref": "#/definitions/User" - } - } + "PersistentVolumeBackingStore": { + "type": "string", + "enum": [ + "PERSISTENT_VOLUME_BACKING_STORE_INVALID", + "PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK" + ], + "default": "PERSISTENT_VOLUME_BACKING_STORE_INVALID", + "title": "- PERSISTENT_VOLUME_BACKING_STORE_INVALID: zero value, invalid\n - PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK: the backing store is a locally reachable block device" }, - "User": { + "PersistentVolumeEvent": { "type": "object", - "example": { - "id": "78352123-a06f-4ec2-81ed-27a056725385", - "email": "john@snow.com", - "name": "John Snow", - "avatar_url": "https://www.gravatar.com/avatar/00000000000000000000000000000000", - "is_admin": false, - "is_test": true, - "two_factor_authentication": false, - "last_login": "0001-01-01T00:00:00Z", - "last_login_id": "10.1.1.1", - "updated_at": "0001-01-01T00:00:00Z", - "created_at": "0001-01-01T00:00:00Z", - "newsletter_subscribed": true, - "email_validated": true - }, "properties": { "id": { "type": "string" }, - "email": { - "type": "string" - }, - "avatar_url": { - "type": "string" - }, - "two_factor_authentication": { - "type": "boolean" - }, - "last_login": { + "when": { "type": "string", "format": "date-time" }, - "last_login_ip": { + "organization_id": { "type": "string" }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "newsletter_subscribed": { - "type": "boolean" - }, - "github_id": { + "persistent_volume_id": { "type": "string" }, - "github_user": { + "type": { "type": "string" }, - "flags": { - "type": "array", - "items": { - "$ref": "#/definitions/UserFlags" - } - }, - "name": { + "message": { "type": "string" }, - "email_validated": { - "type": "boolean" - }, - "trialed": { - "type": "boolean" + "metadata": { + "type": "object" } - }, - "title": "Represent a User" + } }, - "UserFlags": { + "PersistentVolumeStatus": { "type": "string", "enum": [ - "ADMIN", - "TEST", - "RESTRICTED", - "ACTIVE", - "BETA", - "MAX_ORGANIZATIONS_25", - "MAX_ORGANIZATIONS_100", - "MAX_ORGANIZATIONS_1000", - "MAX_ORGANIZATIONS_10000", - "MAX_ORGANIZATIONS_100000", - "MAX_ORGANIZATIONS_1000000", - "PARTNER_CSP", - "IGNORE_ORGANIZATION_NAME_RESERVATION_RULE_NEON_PREFIX" + "PERSISTENT_VOLUME_STATUS_INVALID", + "PERSISTENT_VOLUME_STATUS_ATTACHED", + "PERSISTENT_VOLUME_STATUS_DETACHED", + "PERSISTENT_VOLUME_STATUS_DELETING", + "PERSISTENT_VOLUME_STATUS_DELETED", + "PERSISTENT_VOLUME_STATUS_ARCHIVING" ], - "default": "ADMIN", - "title": "- ADMIN: A user is an admin user\n - TEST: A user is a test user\n - RESTRICTED: Whether this account as restricted access\n - ACTIVE: Whether this account is active\n - BETA: Account in beta program\n - MAX_ORGANIZATIONS_25: User can create this much organizations, overriding the default amount\n - PARTNER_CSP: User can create sub-organizations\n - IGNORE_ORGANIZATION_NAME_RESERVATION_RULE_NEON_PREFIX: User can bypass organization name reservations rules" + "default": "PERSISTENT_VOLUME_STATUS_INVALID", + "title": "- PERSISTENT_VOLUME_STATUS_INVALID: zero value, invalid\n - PERSISTENT_VOLUME_STATUS_ATTACHED: the volume is attached to an instance\n - PERSISTENT_VOLUME_STATUS_DETACHED: the volume is free to use\n - PERSISTENT_VOLUME_STATUS_DELETING: the volume will be deleted\n - PERSISTENT_VOLUME_STATUS_DELETED: the volume was deleted\n - PERSISTENT_VOLUME_STATUS_ARCHIVING: the volume is being archived (snapshot being created and migrated to remote storage)" }, - "LoginReply": { + "UpdatePersistentVolumeReply": { "type": "object", "properties": { - "token": { - "$ref": "#/definitions/Token" + "volume": { + "$ref": "#/definitions/PersistentVolume" } } }, - "LoginRequest": { + "VerifyDockerImageReply": { "type": "object", - "example": { - "email": "john@snow.com", - "password": "..." - }, "properties": { - "email": { - "type": "string", - "title": "User email" + "success": { + "type": "boolean", + "title": "Whether the image is accessible or not" }, - "password": { + "reason": { "type": "string", - "title": "User password" + "title": "(Optional) If the image is not accessible, the reason" }, - "organization_id": { - "type": "string", - "title": "(Optional) Login into this organization" + "code": { + "$ref": "#/definitions/VerifyDockerImageReply.ErrCode", + "title": "(Optional) If the image is not accessible, return an error code" } } }, - "LogoutReply": { - "type": "object" + "VerifyDockerImageReply.ErrCode": { + "type": "string", + "enum": [ + "UNKNOWN", + "AUTH_ACCESS_DENIED", + "ANON_ACCESS_DENIED", + "AUTH_NOT_FOUND", + "ANON_NOT_FOUND", + "REGISTRY_ERROR", + "TIMEOUT", + "DNS", + "MALFORMED", + "INVALID_OS", + "INVALID_ARCH", + "INVALID_SCHEME", + "GENERIC" + ], + "default": "UNKNOWN", + "description": "- UNKNOWN: Default value\n - AUTH_ACCESS_DENIED: The registry denied access to an authenticated request\n - ANON_ACCESS_DENIED: The registry denied access to an anonymous request\n - AUTH_NOT_FOUND: The image has not been found after an authenticated request\n - ANON_NOT_FOUND: The image has not been found after an anonymous request\n - REGISTRY_ERROR: The registry returned an error\n - TIMEOUT: The request to the registry timed out\n - DNS: There was an error trying to resolve the name of the registry\n - MALFORMED: The provided image name is malformed\n - INVALID_OS: The operating system is not supported\n - INVALID_ARCH: The architecture is not supported\n - INVALID_SCHEME: The scheme is not https\n - GENERIC: Generic catch-all error code", + "title": "The error code associated to each specific failure mode" }, - "Token": { + "AzureContainerRegistryConfiguration": { "type": "object", - "example": { - "id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", - "expires": "2022-09-08T14:00:00Z", - "user_id": "996d7822-6b58-11e9-956f-32001b70f000", - "organization_id": "9f33b2c6-6b58-11e9-883c-32001b70f000" - }, "properties": { - "id": { + "registry_name": { "type": "string" }, - "user_id": { + "username": { "type": "string" }, - "organization_id": { + "password": { "type": "string" - }, - "expires_at": { - "type": "string", - "format": "date-time" } } }, - "ConfirmOrganizationActionReply": { - "type": "object" - }, - "CreateCredential": { + "CreateSecret": { "type": "object", "properties": { "name": { - "type": "string", - "title": "Credential name" - }, - "description": { - "type": "string", - "title": "Credential description" - }, - "type": { - "$ref": "#/definitions/Credential.Type", - "title": "Credential type" - }, - "organization_id": { - "type": "string", - "title": "Organization id for user credential" - } - } - }, - "CreateCredentialReply": { - "type": "object", - "properties": { - "credential": { - "$ref": "#/definitions/Credential" - } - } - }, - "Credential": { - "type": "object", - "properties": { - "id": { "type": "string" }, "type": { - "$ref": "#/definitions/Credential.Type" + "$ref": "#/definitions/SecretType" }, - "name": { + "value": { "type": "string" }, - "token": { - "type": "string" + "docker_hub_registry": { + "$ref": "#/definitions/DockerHubRegistryConfiguration" }, - "description": { - "type": "string" + "private_registry": { + "$ref": "#/definitions/PrivateRegistryConfiguration" }, - "user_id": { - "type": "string" + "digital_ocean_registry": { + "$ref": "#/definitions/DigitalOceanRegistryConfiguration" }, - "organization_id": { - "type": "string" + "github_registry": { + "$ref": "#/definitions/GitHubRegistryConfiguration" + }, + "gitlab_registry": { + "$ref": "#/definitions/GitLabRegistryConfiguration" }, - "updated_at": { - "type": "string", - "format": "date-time" + "gcp_container_registry": { + "$ref": "#/definitions/GCPContainerRegistryConfiguration" }, - "created_at": { - "type": "string", - "format": "date-time" + "azure_container_registry": { + "$ref": "#/definitions/AzureContainerRegistryConfiguration" }, - "expires_at": { + "project_id": { "type": "string", - "format": "date-time" + "title": "(Optional) The project ID to associate with the secret" } } }, - "Credential.Type": { - "type": "string", - "enum": [ - "INVALID", - "USER", - "ORGANIZATION" - ], - "default": "INVALID" - }, - "DeleteCredentialReply": { - "type": "object" - }, - "GetCredentialReply": { + "CreateSecretReply": { "type": "object", "properties": { - "credential": { - "$ref": "#/definitions/Credential" + "secret": { + "$ref": "#/definitions/Secret" } } }, - "ListCredentialsReply": { + "DatabaseRolePassword": { "type": "object", "properties": { - "credentials": { - "type": "array", - "items": { - "$ref": "#/definitions/Credential" - } - }, - "limit": { - "type": "integer", - "format": "int64" + "username": { + "type": "string" }, - "offset": { - "type": "integer", - "format": "int64" + "password": { + "type": "string" + } + } + }, + "DeleteSecretReply": { + "type": "object" + }, + "DigitalOceanRegistryConfiguration": { + "type": "object", + "properties": { + "username": { + "type": "string" }, - "count": { - "type": "integer", - "format": "int64" + "password": { + "type": "string" } } }, - "UpdateCredentialReply": { + "DockerHubRegistryConfiguration": { "type": "object", "properties": { - "credential": { - "$ref": "#/definitions/Credential" + "username": { + "type": "string" + }, + "password": { + "type": "string" } } }, - "CreateProject": { + "GCPContainerRegistryConfiguration": { "type": "object", "properties": { - "name": { - "type": "string", - "title": "Project name" + "keyfile_content": { + "type": "string" }, - "description": { - "type": "string", - "title": "Project description" + "url": { + "type": "string" } } }, - "CreateProjectReply": { + "GetSecretReply": { "type": "object", "properties": { - "project": { - "$ref": "#/definitions/Project" + "secret": { + "$ref": "#/definitions/Secret" } } }, - "DeleteProjectReply": { - "type": "object" + "GitHubRegistryConfiguration": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + } }, - "GetProjectReply": { + "GitLabRegistryConfiguration": { "type": "object", "properties": { - "project": { - "$ref": "#/definitions/Project" + "username": { + "type": "string" + }, + "password": { + "type": "string" } } }, - "ListProjectsReply": { + "ListSecretsReply": { "type": "object", "properties": { - "projects": { + "secrets": { "type": "array", "items": { - "$ref": "#/definitions/Project" + "$ref": "#/definitions/Secret" } }, "limit": { @@ -19093,24 +19088,48 @@ "offset": { "type": "integer", "format": "int64" + }, + "count": { + "type": "integer", + "format": "int64" } } }, - "Project": { + "PrivateRegistryConfiguration": { "type": "object", "properties": { - "id": { + "username": { "type": "string" }, - "name": { + "password": { "type": "string" }, - "description": { + "url": { + "type": "string" + } + } + }, + "RevealSecretReply": { + "type": "object", + "properties": { + "value": {} + } + }, + "Secret": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { "type": "string" }, "organization_id": { "type": "string" }, + "type": { + "$ref": "#/definitions/SecretType" + }, "updated_at": { "type": "string", "format": "date-time" @@ -19119,228 +19138,270 @@ "type": "string", "format": "date-time" }, - "service_count": { - "type": "string", - "format": "int64", - "title": "Number of services in this project" - } - } - }, - "UpdateProjectReply": { - "type": "object", - "properties": { - "project": { - "$ref": "#/definitions/Project" - } - } - }, - "AppsSummary": { - "type": "object", - "properties": { - "total": { + "project_id": { "type": "string", - "format": "int64", - "title": "Total number of apps" + "description": "The project ID this secret belongs to. Empty if the secret is organization-level." }, - "by_status": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of apps grouped by status" - } - } - }, - "DomainsSummary": { - "type": "object", - "properties": { - "total": { - "type": "string", - "format": "int64", - "title": "Total number of domains" + "value": { + "type": "string" }, - "by_status": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of domains grouped by status" + "docker_hub_registry": { + "$ref": "#/definitions/DockerHubRegistryConfiguration" + }, + "private_registry": { + "$ref": "#/definitions/PrivateRegistryConfiguration" + }, + "digital_ocean_registry": { + "$ref": "#/definitions/DigitalOceanRegistryConfiguration" + }, + "github_registry": { + "$ref": "#/definitions/GitHubRegistryConfiguration" + }, + "gitlab_registry": { + "$ref": "#/definitions/GitLabRegistryConfiguration" + }, + "gcp_container_registry": { + "$ref": "#/definitions/GCPContainerRegistryConfiguration" + }, + "azure_container_registry": { + "$ref": "#/definitions/AzureContainerRegistryConfiguration" + }, + "database_role_password": { + "$ref": "#/definitions/DatabaseRolePassword" } } }, - "GetOrganizationSummaryReply": { - "type": "object", - "properties": { - "summary": { - "$ref": "#/definitions/OrganizationSummary", - "title": "Organization usage summary" - } - } + "SecretType": { + "type": "string", + "enum": [ + "SIMPLE", + "REGISTRY", + "MANAGED" + ], + "default": "SIMPLE" }, - "InstancesSummary": { + "UpdateSecretReply": { "type": "object", "properties": { - "total": { - "type": "string", - "format": "int64", - "title": "Total number of instances" - }, - "by_type": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of instances grouped by type" + "secret": { + "$ref": "#/definitions/Secret" } } }, - "MembersSummary": { + "GetInstanceReply": { "type": "object", "properties": { - "total": { - "type": "string", - "format": "int64", - "title": "Number of members" - }, - "invitations_by_status": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of invitations grouped by status" + "instance": { + "$ref": "#/definitions/Instance" } } }, - "NeonPostgresSummary": { + "InstanceEvent": { "type": "object", "properties": { - "total": { + "id": { + "type": "string" + }, + "when": { "type": "string", - "format": "int64", - "title": "Total number of databases" + "format": "date-time" }, - "by_instance_type": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of databases grouped by instance type" + "organization_id": { + "type": "string" + }, + "instance_id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "type": "object" } } }, - "OrganizationSummary": { + "InstanceListItem": { "type": "object", "properties": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, "organization_id": { "type": "string" }, - "instances": { - "$ref": "#/definitions/InstancesSummary" + "app_id": { + "type": "string" }, - "apps": { - "$ref": "#/definitions/AppsSummary" + "service_id": { + "type": "string" }, - "services": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceSummary" - }, - "title": "Number of services grouped by type" + "regional_deployment_id": { + "type": "string" }, - "domains": { - "$ref": "#/definitions/DomainsSummary" + "allocation_id": { + "type": "string" }, - "secrets": { - "$ref": "#/definitions/SecretsSummary" + "type": { + "type": "string" }, - "neon_postgres": { - "$ref": "#/definitions/NeonPostgresSummary" + "replica_index": { + "type": "integer", + "format": "int64" }, - "members": { - "$ref": "#/definitions/MembersSummary" + "region": { + "type": "string" + }, + "datacenter": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/Instance.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "xyz_deployment_id": { + "type": "string", + "description": "WARNING: Please don't use the following attribute.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK." } } }, - "SecretsSummary": { + "ListInstanceEventsReply": { "type": "object", "properties": { - "total": { - "type": "string", + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceEvent" + }, + "title": "The collection of events" + }, + "limit": { + "type": "integer", "format": "int64", - "title": "Total number of secrets" + "title": "The limit in the request" }, - "by_type": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of secrets grouped by type" + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "order": { + "type": "string", + "title": "The order in the request" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "ServiceSummary": { + "ListInstancesReply": { "type": "object", "properties": { - "total": { - "type": "string", + "instances": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceListItem" + }, + "title": "The collection of instances" + }, + "limit": { + "type": "integer", "format": "int64", - "title": "Total number of services" + "title": "The limit in the request" }, - "by_status": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of services grouped by status" + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" + }, + "order": { + "type": "string", + "title": "The order in the request" } } }, - "ConfirmPaymentAuthorizationReply": { + "Env": { "type": "object", "properties": { - "payment_method": { - "$ref": "#/definitions/PaymentMethod" + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "secret": { + "type": "string" } } }, - "CreatePaymentAuthorizationReply": { + "GetRegionalDeploymentReply": { "type": "object", "properties": { - "payment_method": { - "$ref": "#/definitions/PaymentMethod" + "regional_deployment": { + "$ref": "#/definitions/RegionalDeployment" } } }, - "CreatePaymentAuthorizationRequest": { - "type": "object" - }, - "DeletePaymentMethodReply": { - "type": "object" - }, - "GetPaymentMethodReply": { + "ListRegionalDeploymentEventsReply": { "type": "object", "properties": { - "payment_method": { - "$ref": "#/definitions/PaymentMethod" + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/RegionalDeploymentEvent" + }, + "title": "The collection of events" + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" + }, + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "order": { + "type": "string", + "title": "The order in the request" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "ListPaymentMethodsReply": { + "ListRegionalDeploymentsReply": { "type": "object", "properties": { - "payment_methods": { + "regional_deployments": { "type": "array", "items": { - "$ref": "#/definitions/PaymentMethod" + "$ref": "#/definitions/RegionalDeploymentListItem" }, - "title": "The collection of payment methods" + "title": "The collection of regional deployments" }, "limit": { "type": "integer", @@ -19349,17 +19410,33 @@ }, "offset": { "type": "integer", - "format": "int64", - "title": "The offset in the request" + "format": "int64", + "title": "The offset in the request" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" + } + } + }, + "Port": { + "type": "object", + "properties": { + "port": { + "type": "integer", + "format": "int64" }, - "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" + "protocol": { + "type": "string" } } }, - "PaymentMethod": { + "RegionalDeployment": { "type": "object", "properties": { "id": { @@ -19373,404 +19450,420 @@ "type": "string", "format": "date-time" }, - "version": { + "scheduled_at": { "type": "string", - "format": "uint64" - }, - "organization_id": { - "type": "string" - }, - "type": { - "type": "string" - }, - "provider": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/PaymentMethod.Status" + "format": "date-time" }, - "messages": { - "type": "array", - "items": { - "type": "string" - } + "allocated_at": { + "type": "string", + "format": "date-time" }, - "stripe_payment_method_id": { - "type": "string" + "started_at": { + "type": "string", + "format": "date-time" }, - "authorization_verified_at": { + "succeeded_at": { "type": "string", "format": "date-time" }, - "authorization_canceled_at": { + "terminated_at": { "type": "string", "format": "date-time" }, - "authorization_stripe_payment_intent_id": { + "organization_id": { "type": "string" }, - "authorization_stripe_payment_intent_client_secret": { + "app_id": { "type": "string" }, - "card_brand": { + "service_id": { "type": "string" }, - "card_country": { + "region": { "type": "string" }, - "card_funding": { + "parent_id": { "type": "string" }, - "card_fingerprint": { + "child_id": { "type": "string" }, - "card_last_digits": { - "type": "string" + "status": { + "$ref": "#/definitions/RegionalDeployment.Status" }, - "card_expiration_month": { - "type": "integer", - "format": "int64" + "messages": { + "type": "array", + "items": { + "type": "string" + } }, - "card_expiration_year": { - "type": "integer", - "format": "int64" - } - } - }, - "PaymentMethod.Status": { - "type": "string", - "enum": [ - "INVALID", - "CREATED", - "AUTHORIZED", - "DECLINED", - "CANCELED", - "EXPIRED", - "UNCHECKED" - ], - "default": "INVALID" - }, - "AcceptOrganizationInvitationReply": { - "type": "object", - "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation", - "title": "The organization invitation accepted" - } - } - }, - "Action": { - "type": "string", - "enum": [ - "signin", - "signup", - "register" - ], - "default": "signin" - }, - "Budget": { - "type": "object", - "properties": { - "amount": { - "type": "string", - "format": "int64" + "definition": { + "$ref": "#/definitions/RegionalDeploymentDefinition" }, - "thresholds": { + "datacenters": { "type": "array", "items": { - "type": "string", - "format": "int64" + "type": "string" } - } - } - }, - "CannyAuthReply": { - "type": "object", - "properties": { - "token": { - "type": "string" - } - } - }, - "CannyAuthRequest": { - "type": "object" - }, - "ClearIdenfyVerificationResultReply": { - "type": "object" - }, - "ClearIdenfyVerificationResultRequest": { - "type": "object", - "properties": { - "user_id": { - "type": "string" }, - "organization_id": { - "type": "string" - } - } - }, - "CreateAccessTokenReply": { - "type": "object", - "properties": { - "token": { - "type": "string" - } - } - }, - "CreateAccountRequest": { - "type": "object", - "example": { - "email": "john@snow.com", - "password": "..." - }, - "properties": { - "email": { - "type": "string" + "metadata": { + "$ref": "#/definitions/RegionalDeploymentMetadata" }, - "password": { - "type": "string" + "provisioning_info": { + "$ref": "#/definitions/DeploymentProvisioningInfo" }, - "name": { - "type": "string" + "role": { + "$ref": "#/definitions/RegionalDeployment.Role" }, - "captcha": { - "type": "string" - } - }, - "description": "Create new account", - "title": "Create new account", - "required": [ - "email", - "password" - ] - }, - "CreateBudgetReply": { - "type": "object", - "properties": { - "budget": { - "$ref": "#/definitions/Budget" - } - } - }, - "CreateOrganizationReply": { - "type": "object", - "properties": { - "organization": { - "$ref": "#/definitions/Organization" - } - } - }, - "CreateOrganizationRequest": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - } - }, - "DeactivateOrganizationReply": { - "type": "object", - "properties": { - "organization": { - "$ref": "#/definitions/Organization" - } - } - }, - "DeclineOrganizationInvitationReply": { - "type": "object", - "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation", - "title": "The organization invitation declined" - } - } - }, - "DeleteBudgetReply": { - "type": "object" - }, - "DeleteOrganizationReply": { - "type": "object", - "properties": { - "organization": { - "$ref": "#/definitions/Organization" - } - } - }, - "DiscourseAuthReply": { - "type": "object", - "properties": { - "sso": { - "type": "string" + "version": { + "type": "string", + "format": "uint64" }, - "sig": { - "type": "string" - } - } - }, - "DiscourseAuthRequest": { - "type": "object", - "properties": { - "payload": { - "type": "string" + "deployment_group": { + "type": "string", + "title": "Legacy stuff" }, - "sig": { + "deployment_id": { "type": "string" } } }, - "GetBudgetReply": { - "type": "object", - "properties": { - "budget": { - "$ref": "#/definitions/Budget" - } - } + "RegionalDeployment.Role": { + "type": "string", + "enum": [ + "INVALID", + "ACTIVE", + "UPCOMING", + "CURRENT" + ], + "default": "INVALID" }, - "GetGithubInstallationReply": { + "RegionalDeployment.Status": { + "type": "string", + "enum": [ + "PENDING", + "PROVISIONING", + "SCHEDULED", + "CANCELING", + "CANCELED", + "ALLOCATING", + "STARTING", + "HEALTHY", + "DEGRADED", + "UNHEALTHY", + "STOPPING", + "STOPPED", + "ERRORING", + "ERROR", + "SLEEPING" + ], + "default": "PENDING" + }, + "RegionalDeploymentDefinition": { "type": "object", "properties": { - "installation_id": { + "name": { "type": "string" }, - "installation_url": { + "type": { + "$ref": "#/definitions/RegionalDeploymentDefinition.Type" + }, + "strategy": { + "$ref": "#/definitions/DeploymentStrategy" + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/definitions/Route" + } + }, + "ports": { + "type": "array", + "items": { + "$ref": "#/definitions/Port" + } + }, + "env": { + "type": "array", + "items": { + "$ref": "#/definitions/Env" + } + }, + "region": { "type": "string" }, - "name": { + "scaling": { + "$ref": "#/definitions/Scaling" + }, + "instance_type": { "type": "string" }, - "avatar_url": { + "deployment_group": { "type": "string" }, - "status": { - "$ref": "#/definitions/kgitproxy.GithubInstallation.Status" + "health_checks": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentHealthCheck" + } }, - "installed_at": { - "type": "string", - "format": "date-time" + "volumes": { + "type": "array", + "items": { + "$ref": "#/definitions/RegionalDeploymentVolume" + } }, - "suspended_at": { - "type": "string", - "format": "date-time" + "config_files": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigFile" + } }, - "indexing_status": { - "$ref": "#/definitions/kgitproxy.IndexingStatus" + "skip_cache": { + "type": "boolean" }, - "indexed_repositories": { - "type": "integer", - "format": "int64" + "mesh": { + "$ref": "#/definitions/RegionalDeploymentMesh" }, - "total_repositories": { - "type": "integer", - "format": "int64" + "docker": { + "$ref": "#/definitions/DockerSource" + }, + "git": { + "$ref": "#/definitions/GitSource" + }, + "archive": { + "$ref": "#/definitions/ArchiveSource" } } }, - "GetIdenfyTokenReply": { + "RegionalDeploymentDefinition.Type": { + "type": "string", + "enum": [ + "INVALID", + "WEB", + "WORKER", + "_", + "SANDBOX" + ], + "default": "INVALID", + "title": "- _: We match with DeploymentDefinition.Type, so we skip 3 which is DATABASE" + }, + "RegionalDeploymentEvent": { "type": "object", "properties": { - "auth_token": { + "id": { + "type": "string" + }, + "when": { + "type": "string", + "format": "date-time" + }, + "organization_id": { + "type": "string" + }, + "regional_deployment_id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "message": { "type": "string" + }, + "metadata": { + "type": "object" } } }, - "GetOAuthOptionsReply": { + "RegionalDeploymentListItem": { "type": "object", "properties": { - "oauth_providers": { + "id": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "region": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/RegionalDeployment.Status" + }, + "messages": { "type": "array", "items": { - "$ref": "#/definitions/OAuthProvider" + "type": "string" } - } - }, - "description": "A list of providers which you can use for single sign-on." - }, - "GetOrganizationReply": { - "type": "object", - "properties": { - "organization": { - "$ref": "#/definitions/Organization" + }, + "definition": { + "$ref": "#/definitions/RegionalDeploymentDefinition" } } }, - "GetUserOrganizationInvitationReply": { + "RegionalDeploymentMesh": { + "type": "string", + "enum": [ + "REGIONAL_DEPLOYMENT_MESH_AUTO", + "REGIONAL_DEPLOYMENT_MESH_ENABLED", + "REGIONAL_DEPLOYMENT_MESH_DISABLED" + ], + "default": "REGIONAL_DEPLOYMENT_MESH_AUTO" + }, + "RegionalDeploymentMetadata": { + "type": "object" + }, + "RegionalDeploymentVolume": { "type": "object", "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation" + "id": { + "type": "string", + "title": "the id of the volume" + }, + "path": { + "type": "string", + "title": "the path where the volume is mounted to" + }, + "replica_index": { + "type": "integer", + "format": "int64", + "title": "the replica index to mount the volume to" } } }, - "GetUserSettingsReply": { + "Route": { "type": "object", "properties": { - "settings": { - "$ref": "#/definitions/UserSettings" + "port": { + "type": "integer", + "format": "int64" + }, + "path": { + "type": "string" + }, + "security_policies": { + "$ref": "#/definitions/SecurityPolicies" } } }, - "GithubInstallationReply": { + "Scaling": { "type": "object", "properties": { - "app_name": { - "type": "string", - "title": "The github app name" - }, - "app_id": { - "type": "string", - "format": "int64", - "title": "The github app id" + "min": { + "type": "integer", + "format": "int64" }, - "url": { - "type": "string", - "title": "The url to start the installation flow" + "max": { + "type": "integer", + "format": "int64" }, - "state": { - "type": "string", - "title": "The state required by the protocol, it is only valid 10 minutes and encodes\ninformation about the type of flow" + "targets": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentScalingTarget" + } } } }, - "GithubInstallationRequest": { + "AppUsage": { "type": "object", "properties": { - "metadata": { - "type": "string", - "title": "A small (limited to 400 characters) string of arbitrary metadata which will\nbe encoded in the state" + "app_id": { + "type": "string" + }, + "app_name": { + "type": "string" + }, + "services": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceUsage" + } + }, + "databases": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseUsage" + } } } }, - "HasUnpaidInvoicesReply": { + "DatabaseUsage": { "type": "object", "properties": { - "has_unpaid_invoices": { - "type": "boolean" + "service_id": { + "type": "string" + }, + "service_name": { + "type": "string" + }, + "compute_time_seconds": { + "type": "integer", + "format": "int64" + }, + "data_storage_megabytes_hours": { + "type": "integer", + "format": "int64" } } }, - "InviteUserRequest": { + "DatabaseUsageDetails": { "type": "object", "properties": { - "email": { + "organization_id": { "type": "string" }, - "name": { + "app_id": { "type": "string" }, - "message": { + "app_name": { + "type": "string" + }, + "service_id": { "type": "string" + }, + "service_name": { + "type": "string" + }, + "compute_time_seconds": { + "type": "integer", + "format": "int64" + }, + "data_storage_megabytes_hour": { + "type": "integer", + "format": "int64" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "terminated_at": { + "type": "string", + "format": "date-time" } } }, - "ListUserOrganizationInvitationsReply": { + "GetOrganizationUsageDetailsReply": { "type": "object", "properties": { - "invitations": { + "usage_details": { "type": "array", "items": { - "$ref": "#/definitions/OrganizationInvitation" + "$ref": "#/definitions/UsageDetails" }, - "title": "The collection of organization invitations" + "title": "The collection of usage instances" + }, + "database_details": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseUsageDetails" + }, + "title": "The collection of database deployments used during the month" }, "limit": { "type": "integer", @@ -19786,508 +19879,710 @@ "type": "integer", "format": "int64", "title": "The total number of items" + }, + "order": { + "type": "string", + "title": "The order in the request" } } }, - "ListUserOrganizationsReply": { + "GetOrganizationUsageReply": { "type": "object", "properties": { - "organizations": { - "type": "array", - "items": { - "$ref": "#/definitions/Organization" - }, - "title": "The collection of organizations" - }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" - }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "usage": { + "$ref": "#/definitions/Usage", + "title": "The computed usage of instances per month" } } }, - "LoginMethodReply": { + "InstanceUsage": { "type": "object", "properties": { - "method": { - "$ref": "#/definitions/LoginMethodReply.Method" + "duration_seconds": { + "type": "integer", + "format": "int64" } } }, - "LoginMethodReply.Method": { - "type": "string", - "enum": [ - "KOYEB", - "WORKOS" - ], - "default": "KOYEB" + "PeriodUsage": { + "type": "object", + "properties": { + "starting_time": { + "type": "string", + "format": "date-time" + }, + "ending_time": { + "type": "string", + "format": "date-time" + }, + "apps": { + "type": "array", + "items": { + "$ref": "#/definitions/AppUsage" + } + } + } }, - "ManageReply": { + "RegionUsage": { "type": "object", "properties": { - "url": { - "type": "string" + "instances": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/InstanceUsage" + } } } }, - "NextInvoiceReply": { + "ServiceUsage": { "type": "object", "properties": { - "stripe_invoice": { - "type": "object" + "service_id": { + "type": "string" }, - "lines": { - "type": "array", - "items": { - "$ref": "#/definitions/NextInvoiceReply.Line" - } + "service_name": { + "type": "string" }, - "discounts": { - "type": "array", - "items": { - "$ref": "#/definitions/NextInvoiceReply.Discount" + "regions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RegionUsage" } } } }, - "NextInvoiceReply.Discount": { + "Usage": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/NextInvoiceReply.Discount.Type" - }, - "name": { + "organization_id": { "type": "string" }, - "amount": { - "type": "string", - "format": "int64" + "periods": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/PeriodUsage" + } } } }, - "NextInvoiceReply.Discount.Type": { - "type": "string", - "enum": [ - "PERCENT_OFF", - "AMOUNT_OFF" - ], - "default": "PERCENT_OFF" - }, - "NextInvoiceReply.Line": { + "UsageDetails": { "type": "object", "properties": { - "amount_excluding_tax": { - "type": "integer", - "format": "int32" + "organization_id": { + "type": "string" }, - "period": { - "$ref": "#/definitions/NextInvoiceReply.Line.Period" + "instance_id": { + "type": "string" }, - "plan_nickname": { + "app_id": { "type": "string" }, - "price": { - "$ref": "#/definitions/NextInvoiceReply.Line.Price" + "app_name": { + "type": "string" }, - "quantity": { + "service_id": { + "type": "string" + }, + "service_name": { + "type": "string" + }, + "regional_deployment_id": { + "type": "string" + }, + "region": { + "type": "string" + }, + "deployment_id": { + "type": "string" + }, + "instance_type": { + "type": "string" + }, + "duration_seconds": { "type": "integer", - "format": "int32" + "format": "int64" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "terminated_at": { + "type": "string", + "format": "date-time" } } }, - "NextInvoiceReply.Line.Period": { + "CreateSnapshotReply": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "CreateSnapshotRequest": { "type": "object", "properties": { - "start": { + "parent_volume_id": { "type": "string", - "format": "date-time" + "title": "The id of the volume to snapshot" }, - "end": { + "name": { "type": "string", - "format": "date-time" + "title": "The name of the snapshot" + }, + "project_id": { + "type": "string", + "title": "(Optional) The project ID to associate with the snapshot" } } }, - "NextInvoiceReply.Line.Price": { + "DeleteSnapshotReply": { "type": "object", "properties": { - "unit_amount_decimal": { - "type": "number", - "format": "double" + "snapshot": { + "$ref": "#/definitions/Snapshot" } } }, - "OAuthCallbackReply": { + "GetSnapshotReply": { "type": "object", "properties": { - "token": { - "$ref": "#/definitions/Token", - "title": "A jwt token to be used for session" + "snapshot": { + "$ref": "#/definitions/Snapshot" } } }, - "OAuthCallbackRequest": { + "ListSnapshotsReply": { "type": "object", "properties": { - "state": { - "type": "string", - "title": "The state created at the origin of the OAuth flow" + "snapshots": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "title": "The collection of snapshots" }, - "code": { - "type": "string", - "title": "The code returned by the OAuth provider" + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" }, - "setup_action": { - "type": "string", - "description": "setup_action is populated in the context of a GitHub app installation\nrequest. For logins and signups, it is not set." + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" }, - "installation_id": { - "type": "string", - "description": "installation_id is populated in the context of a GitHub app installation\nrequest. For logins and signups, it is not set." + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "OAuthProvider": { + "Snapshot": { "type": "object", "properties": { "id": { "type": "string", - "title": "The name of the provider (.e.g github, google)" - }, - "url": { - "type": "string", - "title": "The URL to call to initiate the OAuth flow" + "title": "the identifier of the snapshot object" }, - "state": { + "name": { "type": "string", - "title": "The OAuth state required by the protocol, it is only valid 10 minutes and\nencodes information about the type of flow" - } - } - }, - "Organization": { - "type": "object", - "properties": { - "id": { - "type": "string" + "title": "the snapshot name" }, - "external_id": { - "type": "string" + "size": { + "type": "integer", + "format": "int64", + "title": "the original volume size" }, - "provisioning": { - "type": "boolean" + "created_at": { + "type": "string", + "format": "date-time", + "title": "creation timestamp" }, - "address1": { - "type": "string" + "updated_at": { + "type": "string", + "format": "date-time", + "title": "last change timestamp" }, - "address2": { - "type": "string" + "deleted_at": { + "type": "string", + "format": "date-time", + "title": "deletion timestamp" }, - "city": { - "type": "string" + "organization_id": { + "type": "string", + "title": "the organization to which the snapshot belongs to" }, - "postal_code": { - "type": "string" + "parent_volume_id": { + "type": "string", + "title": "the volume from which the snapshot has been created" }, - "state": { - "type": "string" + "region": { + "type": "string", + "title": "the region where the snapshot resides, if any" }, - "country": { - "type": "string" + "status": { + "$ref": "#/definitions/SnapshotStatus", + "title": "the status of the snapshot" }, - "company": { + "type": { + "$ref": "#/definitions/SnapshotType", + "title": "the type of snapshot (can be local or remote)" + } + }, + "description": "The object that represents a snapshot. It can either be local, on a node, or remote, in a cold storage." + }, + "SnapshotStatus": { + "type": "string", + "enum": [ + "SNAPSHOT_STATUS_INVALID", + "SNAPSHOT_STATUS_CREATING", + "SNAPSHOT_STATUS_AVAILABLE", + "SNAPSHOT_STATUS_MIGRATING", + "SNAPSHOT_STATUS_DELETING", + "SNAPSHOT_STATUS_DELETED" + ], + "default": "SNAPSHOT_STATUS_INVALID", + "title": "- SNAPSHOT_STATUS_INVALID: zero value, invalid\n - SNAPSHOT_STATUS_CREATING: the snapshot is being created\n - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available\n - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated\n - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted\n - SNAPSHOT_STATUS_DELETED: the snapshot is deleted" + }, + "SnapshotType": { + "type": "string", + "enum": [ + "SNAPSHOT_TYPE_INVALID", + "SNAPSHOT_TYPE_LOCAL", + "SNAPSHOT_TYPE_REMOTE" + ], + "default": "SNAPSHOT_TYPE_INVALID", + "title": "- SNAPSHOT_TYPE_INVALID: zero value, invalid\n - SNAPSHOT_TYPE_LOCAL: the snapshot is local to the machine\n - SNAPSHOT_TYPE_REMOTE: the snapshot is remote in a cold storage" + }, + "UpdateSnapshotReply": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "ReviewOrganizationCapacityReply": { + "type": "object", + "properties": { + "has_capacity": { "type": "boolean" - }, - "vat_number": { - "type": "string" - }, - "billing_name": { - "type": "string" - }, - "billing_email": { + } + } + }, + "ReviewOrganizationCapacityRequest": { + "type": "object", + "properties": { + "plan": { "type": "string" }, - "name": { + "trialing": { + "type": "boolean" + } + } + }, + "LogEntry": { + "type": "object", + "properties": { + "msg": { "type": "string" }, - "plan": { - "$ref": "#/definitions/Plan" - }, - "plan_updated_at": { + "created_at": { "type": "string", "format": "date-time" }, - "has_payment_method": { - "type": "boolean" - }, - "subscription_id": { - "type": "string" - }, - "current_subscription_id": { - "type": "string" - }, - "latest_subscription_id": { - "type": "string" - }, - "signup_qualification": { + "labels": { "type": "object" + } + } + }, + "QueryLogsReply": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/LogEntry" + } }, - "status": { - "$ref": "#/definitions/Organization.Status" - }, - "status_message": { - "$ref": "#/definitions/OrganizationDetailedStatus" - }, - "deactivation_reason": { - "$ref": "#/definitions/Organization.DeactivationReason" - }, - "verified": { - "type": "boolean" - }, - "qualifies_for_hobby23": { - "type": "boolean" - }, - "reprocess_after": { - "type": "string", - "format": "date-time" - }, - "trialing": { + "pagination": { + "$ref": "#/definitions/QueryLogsReplyPagination" + } + } + }, + "QueryLogsReplyPagination": { + "type": "object", + "properties": { + "has_more": { "type": "boolean" }, - "trial_starts_at": { + "next_start": { "type": "string", "format": "date-time" }, - "trial_ends_at": { + "next_end": { "type": "string", - "format": "date-time" - }, - "email_domain_allowlist": { + "format": "date-time" + } + } + }, + "GetMetricsReply": { + "type": "object", + "properties": { + "metrics": { "type": "array", "items": { + "$ref": "#/definitions/GetMetricsReply.Metric" + } + } + } + }, + "GetMetricsReply.Metric": { + "type": "object", + "properties": { + "labels": { + "type": "object", + "additionalProperties": { "type": "string" } }, - "default_project_id": { - "type": "string" + "samples": { + "type": "array", + "items": { + "$ref": "#/definitions/Sample" + } } - }, - "title": "Represent an Organization" - }, - "Organization.DeactivationReason": { - "type": "string", - "enum": [ - "INVALID", - "REQUESTED_BY_OWNER", - "SUBSCRIPTION_TERMINATION", - "LOCKED_BY_ADMIN", - "VERIFICATION_FAILED", - "TRIAL_DID_NOT_CONVERT" - ], - "default": "INVALID" + } }, - "OrganizationDetailedStatus": { + "MetricName": { "type": "string", "enum": [ - "NEW", - "EMAIL_NOT_VALIDATED", - "BILLING_INFO_MISSING", - "LOCKED", - "PAYMENT_FAILURE", - "VALID", - "PENDING_VERIFICATION", - "VERIFICATION_FAILED", - "REVIEWING_ACCOUNT", - "PLAN_UPGRADE_REQUIRED" + "UNKNOWN", + "CPU_TOTAL_PERCENT", + "MEM_RSS", + "HTTP_THROUGHPUT", + "HTTP_RESPONSE_TIME_50P", + "HTTP_RESPONSE_TIME_90P", + "HTTP_RESPONSE_TIME_99P", + "HTTP_RESPONSE_TIME_MAX", + "PUBLIC_DATA_TRANSFER_IN", + "PUBLIC_DATA_TRANSFER_OUT" ], - "default": "NEW" + "default": "UNKNOWN" }, - "ReactivateOrganizationReply": { + "Sample": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "timestamp": { + "type": "string" + }, + "value": { + "type": "number", + "format": "double" } } }, - "ResendEmailValidationReply": { - "type": "object" - }, - "ResendEmailValidationRequest": { - "type": "object" - }, - "ResetPasswordReply": { - "type": "object" - }, - "ResetPasswordRequest": { + "ExecCommandIO": { "type": "object", - "example": { - "email": "john@snow.com" - }, "properties": { - "email": { - "type": "string" + "data": { + "type": "string", + "format": "byte", + "description": "Data is base64 encoded" + }, + "close": { + "type": "boolean", + "description": "Indicate last data frame" } } }, - "UnscopeOrganizationTokenRequest": { - "type": "object" - }, - "UpdateBudgetReply": { + "ExecCommandReply": { "type": "object", "properties": { - "budget": { - "$ref": "#/definitions/Budget" + "stdout": { + "$ref": "#/definitions/ExecCommandIO" + }, + "stderr": { + "$ref": "#/definitions/ExecCommandIO" + }, + "exited": { + "type": "boolean" + }, + "exit_code": { + "type": "integer", + "format": "int32" } } }, - "UpdateOrganizationDefaultProjectReply": { + "ExecCommandRequest.Body": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "command": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Command to exec. Mandatory in the first frame sent" + }, + "tty_size": { + "$ref": "#/definitions/ExecCommandRequest.TerminalSize" + }, + "stdin": { + "$ref": "#/definitions/ExecCommandIO" + }, + "disableTty": { + "type": "boolean", + "description": "Disable TTY. It's enough to specify it in the first frame" } } }, - "UpdateOrganizationNameReply": { + "ExecCommandRequest.IdType": { + "type": "string", + "enum": [ + "INVALID", + "INSTANCE_ID", + "SERVICE_ID" + ], + "default": "INVALID" + }, + "ExecCommandRequest.TerminalSize": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "height": { + "type": "integer", + "format": "int32" + }, + "width": { + "type": "integer", + "format": "int32" } } }, - "UpdateOrganizationPlanReply": { + "Notification": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "id": { + "type": "string" + }, + "activity": { + "$ref": "#/definitions/Activity" + }, + "is_read": { + "type": "boolean" + }, + "is_seen": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" } } }, - "UpdateOrganizationReply": { + "NotificationList": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "notifications": { + "type": "array", + "items": { + "$ref": "#/definitions/Notification" + } + }, + "limit": { + "type": "integer", + "format": "int64" + }, + "offset": { + "type": "integer", + "format": "int64" + }, + "count": { + "type": "integer", + "format": "int64" + }, + "is_read": { + "type": "boolean" + }, + "is_seen": { + "type": "boolean" + }, + "unread": { + "type": "integer", + "format": "int64" + }, + "unseen": { + "type": "integer", + "format": "int64" } } }, - "UpdatePasswordRequest": { + "ktest.TestAnonReply": { + "type": "object" + }, + "ktest.TestAuthReply": { "type": "object", - "example": { - "id": "...", - "password": "..." - }, "properties": { - "id": { + "payload": { "type": "string" }, - "password": { + "user_id": { + "type": "string" + }, + "organization_id": { + "type": "string" + }, + "workspace_id": { "type": "string" } } }, - "UpdateUserRequest.UserUpdateBody": { + "ktest.TestAuthRequest": { + "type": "object", + "properties": { + "payload": { + "type": "string" + } + } + }, + "kgitproxy.Branch": { "type": "object", "properties": { "id": { "type": "string" }, - "email": { + "organization_id": { "type": "string" }, - "current_password": { + "repository_id": { "type": "string" }, - "password": { + "name": { "type": "string" }, - "newsletter_subscribed": { + "is_default": { "type": "boolean" - }, - "name": { - "type": "string" - } - } - }, - "UpdateUserSettingsReply": { - "type": "object", - "properties": { - "settings": { - "$ref": "#/definitions/UserSettings" + }, + "is_protected": { + "type": "boolean" + }, + "provider": { + "$ref": "#/definitions/kgitproxy.RepositoryProvider" } } }, - "UpdateUserSettingsRequest": { + "kgitproxy.GitHubRepository": { "type": "object", "properties": { - "failed_deployment_email_notification": { - "type": "boolean", - "description": "(Optional) Toggle failed deployment email notification." + "github_id": { + "type": "string" } } }, - "UpsertSignupQualificationReply": { + "kgitproxy.ListBranchesReply": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "branches": { + "type": "array", + "items": { + "$ref": "#/definitions/kgitproxy.Branch" + }, + "description": "The collection of branches." + }, + "limit": { + "type": "integer", + "format": "int64", + "description": "The limit in the request." + }, + "offset": { + "type": "integer", + "format": "int64", + "description": "The offset in the request." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "The total number of items." } } }, - "UserReply": { + "kgitproxy.ListRepositoriesReply": { "type": "object", "properties": { - "user": { - "$ref": "#/definitions/User" + "repositories": { + "type": "array", + "items": { + "$ref": "#/definitions/kgitproxy.Repository" + }, + "description": "The collection of repositories." + }, + "limit": { + "type": "integer", + "format": "int64", + "description": "The limit in the request." + }, + "offset": { + "type": "integer", + "format": "int64", + "description": "The offset in the request." + }, + "count": { + "type": "integer", + "format": "int64", + "description": "The total number of items." } } }, - "UserSettings": { + "kgitproxy.Repository": { "type": "object", "properties": { "id": { "type": "string" }, - "user_id": { + "organization_id": { "type": "string" }, - "failed_deployment_email_notification": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + }, + "description": { + "type": "string" + }, + "is_private": { + "type": "boolean" + }, + "is_disabled": { "type": "boolean" + }, + "default_branch": { + "type": "string" + }, + "provider": { + "$ref": "#/definitions/kgitproxy.RepositoryProvider" + }, + "last_push_date": { + "type": "string", + "format": "date-time" + }, + "github": { + "$ref": "#/definitions/kgitproxy.GitHubRepository" } } }, - "Empty": { - "type": "object" - }, - "kgitproxy.GithubInstallation.Status": { + "kgitproxy.RepositoryProvider": { "type": "string", "enum": [ - "INVALID", - "INSTALLED", - "SUSPENDED", - "DELETED" + "INVALID_PROVIDER", + "GITHUB" ], - "default": "INVALID" + "default": "INVALID_PROVIDER" }, - "kgitproxy.IndexingStatus": { - "type": "string", - "enum": [ - "INVALID_INDEXING_STATUS", - "NOT_STARTED", - "IN_PROGRESS", - "COMPLETED" - ], - "default": "INVALID_INDEXING_STATUS" + "kgitproxy.ResyncOrganizationReply": { + "type": "object" }, "ksearch.App": { "type": "object", @@ -20451,144 +20746,6 @@ "type": "string" } } - }, - "kgitproxy.Branch": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "organization_id": { - "type": "string" - }, - "repository_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "is_default": { - "type": "boolean" - }, - "is_protected": { - "type": "boolean" - }, - "provider": { - "$ref": "#/definitions/kgitproxy.RepositoryProvider" - } - } - }, - "kgitproxy.GitHubRepository": { - "type": "object", - "properties": { - "github_id": { - "type": "string" - } - } - }, - "kgitproxy.ListBranchesReply": { - "type": "object", - "properties": { - "branches": { - "type": "array", - "items": { - "$ref": "#/definitions/kgitproxy.Branch" - }, - "description": "The collection of branches." - }, - "limit": { - "type": "integer", - "format": "int64", - "description": "The limit in the request." - }, - "offset": { - "type": "integer", - "format": "int64", - "description": "The offset in the request." - }, - "count": { - "type": "integer", - "format": "int64", - "description": "The total number of items." - } - } - }, - "kgitproxy.ListRepositoriesReply": { - "type": "object", - "properties": { - "repositories": { - "type": "array", - "items": { - "$ref": "#/definitions/kgitproxy.Repository" - }, - "description": "The collection of repositories." - }, - "limit": { - "type": "integer", - "format": "int64", - "description": "The limit in the request." - }, - "offset": { - "type": "integer", - "format": "int64", - "description": "The offset in the request." - }, - "count": { - "type": "integer", - "format": "int64", - "description": "The total number of items." - } - } - }, - "kgitproxy.Repository": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "organization_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "description": { - "type": "string" - }, - "is_private": { - "type": "boolean" - }, - "is_disabled": { - "type": "boolean" - }, - "default_branch": { - "type": "string" - }, - "provider": { - "$ref": "#/definitions/kgitproxy.RepositoryProvider" - }, - "last_push_date": { - "type": "string", - "format": "date-time" - }, - "github": { - "$ref": "#/definitions/kgitproxy.GitHubRepository" - } - } - }, - "kgitproxy.RepositoryProvider": { - "type": "string", - "enum": [ - "INVALID_PROVIDER", - "GITHUB" - ], - "default": "INVALID_PROVIDER" - }, - "kgitproxy.ResyncOrganizationReply": { - "type": "object" } }, "securityDefinitions": { diff --git a/uv.lock b/uv.lock index 3d35edbb..863e0f6d 100644 --- a/uv.lock +++ b/uv.lock @@ -19,6 +19,40 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, ] +[[package]] +name = "anyio" +version = "4.12.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.10'" }, + { name = "idna", marker = "python_full_version < '3.10'" }, + { name = "typing-extensions", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", size = 228685, upload-time = "2026-01-06T11:45:21.246Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c", size = 113592, upload-time = "2026-01-06T11:45:19.497Z" }, +] + +[[package]] +name = "anyio" +version = "4.13.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.10'", +] +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" }, + { name = "idna", marker = "python_full_version >= '3.10'" }, + { name = "typing-extensions", marker = "python_full_version >= '3.10' and python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz", hash = "sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc", size = 231622, upload-time = "2026-03-24T12:59:09.671Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl", hash = "sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708", size = 114353, upload-time = "2026-03-24T12:59:08.246Z" }, +] + [[package]] name = "autopep8" version = "2.3.2" @@ -349,6 +383,44 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9f/56/13ab06b4f93ca7cac71078fbe37fcea175d3216f31f85c3168a6bbd0bb9a/flake8-7.3.0-py2.py3-none-any.whl", hash = "sha256:b9696257b9ce8beb888cdbe31cf885c90d31928fe202be0889a7cdafad32f01e", size = 57922, upload-time = "2025-06-20T19:31:34.425Z" }, ] +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio", version = "4.12.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "anyio", version = "4.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + [[package]] name = "idna" version = "3.11" @@ -399,9 +471,9 @@ name = "koyeb-sdk" version = "1.4.8" source = { editable = "." } dependencies = [ + { name = "httpx" }, { name = "pydantic" }, { name = "python-dateutil" }, - { name = "requests" }, { name = "typing-extensions" }, { name = "urllib3" }, { name = "websockets" }, @@ -419,9 +491,9 @@ dev = [ [package.metadata] requires-dist = [ + { name = "httpx", specifier = ">=0.28.1" }, { name = "pydantic", specifier = ">=2" }, { name = "python-dateutil", specifier = ">=2.8.2" }, - { name = "requests", specifier = ">=2.32.5" }, { name = "typing-extensions", specifier = ">=4.7.1" }, { name = "urllib3", specifier = ">=2.1.0,<3.0.0" }, { name = "websockets", specifier = ">=15.0.1" },