diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index 6744818f..74668f25 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -5,3 +5,4 @@ ## Refactorings * #160: Updated PTB to version 7.0.0 +* #162: Updated Open API client diff --git a/exasol/saas/client/openapi/api/clusters/create_cluster.py b/exasol/saas/client/openapi/api/clusters/create_cluster.py index bec6f73f..3c926fe7 100644 --- a/exasol/saas/client/openapi/api/clusters/create_cluster.py +++ b/exasol/saas/client/openapi/api/clusters/create_cluster.py @@ -66,7 +66,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateCluster, ) -> Response[ApiError | Cluster]: """ @@ -100,7 +100,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateCluster, ) -> ApiError | Cluster | None: """ @@ -129,7 +129,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateCluster, ) -> Response[ApiError | Cluster]: """ @@ -161,7 +161,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateCluster, ) -> ApiError | Cluster | None: """ diff --git a/exasol/saas/client/openapi/api/clusters/delete_cluster.py b/exasol/saas/client/openapi/api/clusters/delete_cluster.py index 8d6863db..6a326ecf 100644 --- a/exasol/saas/client/openapi/api/clusters/delete_cluster.py +++ b/exasol/saas/client/openapi/api/clusters/delete_cluster.py @@ -61,7 +61,7 @@ def sync_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -95,7 +95,7 @@ def sync( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -124,7 +124,7 @@ async def asyncio_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -156,7 +156,7 @@ async def asyncio( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/clusters/get_cluster.py b/exasol/saas/client/openapi/api/clusters/get_cluster.py index 4d73cf5e..f813ad7f 100644 --- a/exasol/saas/client/openapi/api/clusters/get_cluster.py +++ b/exasol/saas/client/openapi/api/clusters/get_cluster.py @@ -60,7 +60,7 @@ def sync_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | Cluster]: """ Args: @@ -94,7 +94,7 @@ def sync( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | Cluster | None: """ Args: @@ -123,7 +123,7 @@ async def asyncio_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | Cluster]: """ Args: @@ -155,7 +155,7 @@ async def asyncio( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | Cluster | None: """ Args: diff --git a/exasol/saas/client/openapi/api/clusters/get_cluster_connection.py b/exasol/saas/client/openapi/api/clusters/get_cluster_connection.py index af008e83..74fc2c65 100644 --- a/exasol/saas/client/openapi/api/clusters/get_cluster_connection.py +++ b/exasol/saas/client/openapi/api/clusters/get_cluster_connection.py @@ -60,7 +60,7 @@ def sync_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | ClusterConnection]: """ Args: @@ -94,7 +94,7 @@ def sync( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | ClusterConnection | None: """ Args: @@ -123,7 +123,7 @@ async def asyncio_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | ClusterConnection]: """ Args: @@ -155,7 +155,7 @@ async def asyncio( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | ClusterConnection | None: """ Args: diff --git a/exasol/saas/client/openapi/api/clusters/list_clusters.py b/exasol/saas/client/openapi/api/clusters/list_clusters.py index cc671ee5..718c459e 100644 --- a/exasol/saas/client/openapi/api/clusters/list_clusters.py +++ b/exasol/saas/client/openapi/api/clusters/list_clusters.py @@ -62,7 +62,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[Cluster]]: """ Args: @@ -93,7 +93,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[Cluster] | None: """ Args: @@ -119,7 +119,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[Cluster]]: """ Args: @@ -148,7 +148,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[Cluster] | None: """ Args: diff --git a/exasol/saas/client/openapi/api/clusters/scale_cluster.py b/exasol/saas/client/openapi/api/clusters/scale_cluster.py index 12f25ac0..a7541263 100644 --- a/exasol/saas/client/openapi/api/clusters/scale_cluster.py +++ b/exasol/saas/client/openapi/api/clusters/scale_cluster.py @@ -70,7 +70,7 @@ def sync_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: ScaleCluster, ) -> Response[Any | ApiError]: """ @@ -107,7 +107,7 @@ def sync( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: ScaleCluster, ) -> Any | ApiError | None: """ @@ -139,7 +139,7 @@ async def asyncio_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: ScaleCluster, ) -> Response[Any | ApiError]: """ @@ -174,7 +174,7 @@ async def asyncio( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: ScaleCluster, ) -> Any | ApiError | None: """ diff --git a/exasol/saas/client/openapi/api/clusters/start_cluster.py b/exasol/saas/client/openapi/api/clusters/start_cluster.py index 88744c4b..6d6edbad 100644 --- a/exasol/saas/client/openapi/api/clusters/start_cluster.py +++ b/exasol/saas/client/openapi/api/clusters/start_cluster.py @@ -61,7 +61,7 @@ def sync_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -95,7 +95,7 @@ def sync( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -124,7 +124,7 @@ async def asyncio_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -156,7 +156,7 @@ async def asyncio( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/clusters/stop_cluster.py b/exasol/saas/client/openapi/api/clusters/stop_cluster.py index 2fcdc37a..0d910538 100644 --- a/exasol/saas/client/openapi/api/clusters/stop_cluster.py +++ b/exasol/saas/client/openapi/api/clusters/stop_cluster.py @@ -11,16 +11,33 @@ AuthenticatedClient, Client, ) +from ...models.actor import Actor from ...models.api_error import ApiError -from ...types import Response +from ...types import ( + UNSET, + Response, + Unset, +) def _get_kwargs( account_id: str, database_id: str, cluster_id: str, + *, + actor: Actor | Unset = UNSET, ) -> dict[str, Any]: + params: dict[str, Any] = {} + + json_actor: str | Unset = UNSET + if not isinstance(actor, Unset): + json_actor = actor.value + + params["actor"] = json_actor + + params = {k: v for k, v in params.items() if v is not UNSET and v is not None} + _kwargs: dict[str, Any] = { "method": "put", "url": "/api/v1/accounts/{account_id}/databases/{database_id}/clusters/{cluster_id}/stop".format( @@ -28,6 +45,7 @@ def _get_kwargs( database_id=quote(str(database_id), safe=""), cluster_id=quote(str(cluster_id), safe=""), ), + "params": params, } return _kwargs @@ -61,13 +79,15 @@ def sync_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, + actor: Actor | Unset = UNSET, ) -> Response[Any | ApiError]: """ Args: account_id (str): database_id (str): cluster_id (str): + actor (Actor | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -81,6 +101,7 @@ def sync_detailed( account_id=account_id, database_id=database_id, cluster_id=cluster_id, + actor=actor, ) response = client.get_httpx_client().request( @@ -95,13 +116,15 @@ def sync( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, + actor: Actor | Unset = UNSET, ) -> Any | ApiError | None: """ Args: account_id (str): database_id (str): cluster_id (str): + actor (Actor | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -116,6 +139,7 @@ def sync( database_id=database_id, cluster_id=cluster_id, client=client, + actor=actor, ).parsed @@ -124,13 +148,15 @@ async def asyncio_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, + actor: Actor | Unset = UNSET, ) -> Response[Any | ApiError]: """ Args: account_id (str): database_id (str): cluster_id (str): + actor (Actor | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -144,6 +170,7 @@ async def asyncio_detailed( account_id=account_id, database_id=database_id, cluster_id=cluster_id, + actor=actor, ) response = await client.get_async_httpx_client().request(**kwargs) @@ -156,13 +183,15 @@ async def asyncio( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, + actor: Actor | Unset = UNSET, ) -> Any | ApiError | None: """ Args: account_id (str): database_id (str): cluster_id (str): + actor (Actor | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -178,5 +207,6 @@ async def asyncio( database_id=database_id, cluster_id=cluster_id, client=client, + actor=actor, ) ).parsed diff --git a/exasol/saas/client/openapi/api/clusters/update_cluster.py b/exasol/saas/client/openapi/api/clusters/update_cluster.py index 2c4720b1..19ce1478 100644 --- a/exasol/saas/client/openapi/api/clusters/update_cluster.py +++ b/exasol/saas/client/openapi/api/clusters/update_cluster.py @@ -70,7 +70,7 @@ def sync_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateCluster, ) -> Response[Any | ApiError]: """ @@ -107,7 +107,7 @@ def sync( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateCluster, ) -> Any | ApiError | None: """ @@ -139,7 +139,7 @@ async def asyncio_detailed( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateCluster, ) -> Response[Any | ApiError]: """ @@ -174,7 +174,7 @@ async def asyncio( database_id: str, cluster_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateCluster, ) -> Any | ApiError | None: """ diff --git a/exasol/saas/client/openapi/api/databases/create_database.py b/exasol/saas/client/openapi/api/databases/create_database.py index 22f12a30..db8d8b63 100644 --- a/exasol/saas/client/openapi/api/databases/create_database.py +++ b/exasol/saas/client/openapi/api/databases/create_database.py @@ -63,7 +63,7 @@ def _build_response( def sync_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateDatabase, ) -> Response[ApiError | ExasolDatabase]: """ @@ -94,7 +94,7 @@ def sync_detailed( def sync( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateDatabase, ) -> ApiError | ExasolDatabase | None: """ @@ -120,7 +120,7 @@ def sync( async def asyncio_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateDatabase, ) -> Response[ApiError | ExasolDatabase]: """ @@ -149,7 +149,7 @@ async def asyncio_detailed( async def asyncio( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateDatabase, ) -> ApiError | ExasolDatabase | None: """ diff --git a/exasol/saas/client/openapi/api/databases/create_schedule.py b/exasol/saas/client/openapi/api/databases/create_schedule.py index 0deab4c8..41fddab7 100644 --- a/exasol/saas/client/openapi/api/databases/create_schedule.py +++ b/exasol/saas/client/openapi/api/databases/create_schedule.py @@ -65,7 +65,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: Schedule, ) -> Response[ApiError | Schedule]: """ @@ -99,7 +99,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: Schedule, ) -> ApiError | Schedule | None: """ @@ -128,7 +128,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: Schedule, ) -> Response[ApiError | Schedule]: """ @@ -160,7 +160,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: Schedule, ) -> ApiError | Schedule | None: """ diff --git a/exasol/saas/client/openapi/api/databases/delete_database.py b/exasol/saas/client/openapi/api/databases/delete_database.py index 41e22b2d..bdd886ae 100644 --- a/exasol/saas/client/openapi/api/databases/delete_database.py +++ b/exasol/saas/client/openapi/api/databases/delete_database.py @@ -58,7 +58,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -89,7 +89,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -115,7 +115,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -144,7 +144,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/databases/delete_schedule.py b/exasol/saas/client/openapi/api/databases/delete_schedule.py index 63af683e..1420705f 100644 --- a/exasol/saas/client/openapi/api/databases/delete_schedule.py +++ b/exasol/saas/client/openapi/api/databases/delete_schedule.py @@ -61,7 +61,7 @@ def sync_detailed( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -95,7 +95,7 @@ def sync( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -124,7 +124,7 @@ async def asyncio_detailed( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -156,7 +156,7 @@ async def asyncio( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/databases/dlhc_activate.py b/exasol/saas/client/openapi/api/databases/dlhc_activate.py index 9ea8ce90..620b29cc 100644 --- a/exasol/saas/client/openapi/api/databases/dlhc_activate.py +++ b/exasol/saas/client/openapi/api/databases/dlhc_activate.py @@ -58,7 +58,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -89,7 +89,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -115,7 +115,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -144,7 +144,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/databases/get_database.py b/exasol/saas/client/openapi/api/databases/get_database.py index 563ae8e0..f0d0a54d 100644 --- a/exasol/saas/client/openapi/api/databases/get_database.py +++ b/exasol/saas/client/openapi/api/databases/get_database.py @@ -57,7 +57,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | ExasolDatabase]: """ Args: @@ -88,7 +88,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | ExasolDatabase | None: """ Args: @@ -114,7 +114,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | ExasolDatabase]: """ Args: @@ -143,7 +143,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | ExasolDatabase | None: """ Args: diff --git a/exasol/saas/client/openapi/api/databases/get_database_settings.py b/exasol/saas/client/openapi/api/databases/get_database_settings.py index 65631339..3aa8181b 100644 --- a/exasol/saas/client/openapi/api/databases/get_database_settings.py +++ b/exasol/saas/client/openapi/api/databases/get_database_settings.py @@ -57,7 +57,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | DatabaseSettings]: """ Args: @@ -88,7 +88,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | DatabaseSettings | None: """ Args: @@ -114,7 +114,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | DatabaseSettings]: """ Args: @@ -143,7 +143,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | DatabaseSettings | None: """ Args: diff --git a/exasol/saas/client/openapi/api/databases/get_database_upgrade_info.py b/exasol/saas/client/openapi/api/databases/get_database_upgrade_info.py index c81bb002..5e723939 100644 --- a/exasol/saas/client/openapi/api/databases/get_database_upgrade_info.py +++ b/exasol/saas/client/openapi/api/databases/get_database_upgrade_info.py @@ -57,7 +57,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | DatabaseUpgradeInfo]: """ Args: @@ -88,7 +88,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | DatabaseUpgradeInfo | None: """ Args: @@ -114,7 +114,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | DatabaseUpgradeInfo]: """ Args: @@ -143,7 +143,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | DatabaseUpgradeInfo | None: """ Args: diff --git a/exasol/saas/client/openapi/api/databases/get_dlhc_activate_status.py b/exasol/saas/client/openapi/api/databases/get_dlhc_activate_status.py index 8a02355b..a5a321be 100644 --- a/exasol/saas/client/openapi/api/databases/get_dlhc_activate_status.py +++ b/exasol/saas/client/openapi/api/databases/get_dlhc_activate_status.py @@ -57,7 +57,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | DlhcActivateStatus]: """ Args: @@ -88,7 +88,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | DlhcActivateStatus | None: """ Args: @@ -114,7 +114,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | DlhcActivateStatus]: """ Args: @@ -143,7 +143,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | DlhcActivateStatus | None: """ Args: diff --git a/exasol/saas/client/openapi/api/databases/list_databases.py b/exasol/saas/client/openapi/api/databases/list_databases.py index 056bb0c4..d689389c 100644 --- a/exasol/saas/client/openapi/api/databases/list_databases.py +++ b/exasol/saas/client/openapi/api/databases/list_databases.py @@ -59,7 +59,7 @@ def _build_response( def sync_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[ExasolDatabase]]: """ Args: @@ -87,7 +87,7 @@ def sync_detailed( def sync( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[ExasolDatabase] | None: """ Args: @@ -110,7 +110,7 @@ def sync( async def asyncio_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[ExasolDatabase]]: """ Args: @@ -136,7 +136,7 @@ async def asyncio_detailed( async def asyncio( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[ExasolDatabase] | None: """ Args: diff --git a/exasol/saas/client/openapi/api/databases/list_schedules.py b/exasol/saas/client/openapi/api/databases/list_schedules.py index 3ff16f2e..1728ab96 100644 --- a/exasol/saas/client/openapi/api/databases/list_schedules.py +++ b/exasol/saas/client/openapi/api/databases/list_schedules.py @@ -62,7 +62,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[Schedule]]: """ Args: @@ -93,7 +93,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[Schedule] | None: """ Args: @@ -119,7 +119,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[Schedule]]: """ Args: @@ -148,7 +148,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[Schedule] | None: """ Args: diff --git a/exasol/saas/client/openapi/api/databases/set_auto_updates_database.py b/exasol/saas/client/openapi/api/databases/set_auto_updates_database.py index ce78d29b..aa4f371d 100644 --- a/exasol/saas/client/openapi/api/databases/set_auto_updates_database.py +++ b/exasol/saas/client/openapi/api/databases/set_auto_updates_database.py @@ -67,7 +67,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: SetAutoUpdatesDatabase, ) -> Response[Any | ApiError]: """ @@ -101,7 +101,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: SetAutoUpdatesDatabase, ) -> Any | ApiError | None: """ @@ -130,7 +130,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: SetAutoUpdatesDatabase, ) -> Response[Any | ApiError]: """ @@ -162,7 +162,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: SetAutoUpdatesDatabase, ) -> Any | ApiError | None: """ diff --git a/exasol/saas/client/openapi/api/databases/start_database.py b/exasol/saas/client/openapi/api/databases/start_database.py index 9c2aae9f..ffc8ea94 100644 --- a/exasol/saas/client/openapi/api/databases/start_database.py +++ b/exasol/saas/client/openapi/api/databases/start_database.py @@ -58,7 +58,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -89,7 +89,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -115,7 +115,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -144,7 +144,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/databases/stop_database.py b/exasol/saas/client/openapi/api/databases/stop_database.py index 3eb7b687..147356b4 100644 --- a/exasol/saas/client/openapi/api/databases/stop_database.py +++ b/exasol/saas/client/openapi/api/databases/stop_database.py @@ -58,7 +58,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -89,7 +89,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -115,7 +115,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -144,7 +144,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/databases/update_database.py b/exasol/saas/client/openapi/api/databases/update_database.py index 3359d16c..149f32e1 100644 --- a/exasol/saas/client/openapi/api/databases/update_database.py +++ b/exasol/saas/client/openapi/api/databases/update_database.py @@ -67,7 +67,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateDatabase, ) -> Response[Any | ApiError]: """ @@ -101,7 +101,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateDatabase, ) -> Any | ApiError | None: """ @@ -130,7 +130,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateDatabase, ) -> Response[Any | ApiError]: """ @@ -162,7 +162,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateDatabase, ) -> Any | ApiError | None: """ diff --git a/exasol/saas/client/openapi/api/databases/update_schedule_cron_rule.py b/exasol/saas/client/openapi/api/databases/update_schedule_cron_rule.py index 0c900437..2e962352 100644 --- a/exasol/saas/client/openapi/api/databases/update_schedule_cron_rule.py +++ b/exasol/saas/client/openapi/api/databases/update_schedule_cron_rule.py @@ -70,7 +70,7 @@ def sync_detailed( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateScheduleCronRule, ) -> Response[Any | ApiError]: """ @@ -107,7 +107,7 @@ def sync( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateScheduleCronRule, ) -> Any | ApiError | None: """ @@ -139,7 +139,7 @@ async def asyncio_detailed( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateScheduleCronRule, ) -> Response[Any | ApiError]: """ @@ -174,7 +174,7 @@ async def asyncio( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateScheduleCronRule, ) -> Any | ApiError | None: """ diff --git a/exasol/saas/client/openapi/api/databases/update_schedule_state.py b/exasol/saas/client/openapi/api/databases/update_schedule_state.py index a18f9f36..47465a7a 100644 --- a/exasol/saas/client/openapi/api/databases/update_schedule_state.py +++ b/exasol/saas/client/openapi/api/databases/update_schedule_state.py @@ -70,7 +70,7 @@ def sync_detailed( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateScheduleState, ) -> Response[Any | ApiError]: """ @@ -107,7 +107,7 @@ def sync( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateScheduleState, ) -> Any | ApiError | None: """ @@ -139,7 +139,7 @@ async def asyncio_detailed( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateScheduleState, ) -> Response[Any | ApiError]: """ @@ -174,7 +174,7 @@ async def asyncio( database_id: str, action_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateScheduleState, ) -> Any | ApiError | None: """ diff --git a/exasol/saas/client/openapi/api/databases/upgrade_database.py b/exasol/saas/client/openapi/api/databases/upgrade_database.py index 19d07784..514b3849 100644 --- a/exasol/saas/client/openapi/api/databases/upgrade_database.py +++ b/exasol/saas/client/openapi/api/databases/upgrade_database.py @@ -58,7 +58,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -89,7 +89,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -115,7 +115,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -144,7 +144,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/extensions/create_extension_instance.py b/exasol/saas/client/openapi/api/extensions/create_extension_instance.py index 868b2caf..e0c78d84 100644 --- a/exasol/saas/client/openapi/api/extensions/create_extension_instance.py +++ b/exasol/saas/client/openapi/api/extensions/create_extension_instance.py @@ -77,7 +77,7 @@ def sync_detailed( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateExtensionInstance, ) -> Response[ApiError | ExtensionInstance]: """ @@ -117,7 +117,7 @@ def sync( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateExtensionInstance, ) -> ApiError | ExtensionInstance | None: """ @@ -152,7 +152,7 @@ async def asyncio_detailed( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateExtensionInstance, ) -> Response[ApiError | ExtensionInstance]: """ @@ -190,7 +190,7 @@ async def asyncio( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateExtensionInstance, ) -> ApiError | ExtensionInstance | None: """ diff --git a/exasol/saas/client/openapi/api/extensions/delete_extension_instance.py b/exasol/saas/client/openapi/api/extensions/delete_extension_instance.py index c1fd2f5b..e92f03a4 100644 --- a/exasol/saas/client/openapi/api/extensions/delete_extension_instance.py +++ b/exasol/saas/client/openapi/api/extensions/delete_extension_instance.py @@ -67,7 +67,7 @@ def sync_detailed( extension_version: str, instance_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -107,7 +107,7 @@ def sync( extension_version: str, instance_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -142,7 +142,7 @@ async def asyncio_detailed( extension_version: str, instance_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -180,7 +180,7 @@ async def asyncio( extension_version: str, instance_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/extensions/get_extension.py b/exasol/saas/client/openapi/api/extensions/get_extension.py index 25dcb5da..81af2637 100644 --- a/exasol/saas/client/openapi/api/extensions/get_extension.py +++ b/exasol/saas/client/openapi/api/extensions/get_extension.py @@ -68,7 +68,7 @@ def sync_detailed( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | ExtensionDetail]: """ Args: @@ -105,7 +105,7 @@ def sync( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | ExtensionDetail | None: """ Args: @@ -137,7 +137,7 @@ async def asyncio_detailed( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | ExtensionDetail]: """ Args: @@ -172,7 +172,7 @@ async def asyncio( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | ExtensionDetail | None: """ Args: diff --git a/exasol/saas/client/openapi/api/extensions/install_extension.py b/exasol/saas/client/openapi/api/extensions/install_extension.py index d2640ff8..056b2beb 100644 --- a/exasol/saas/client/openapi/api/extensions/install_extension.py +++ b/exasol/saas/client/openapi/api/extensions/install_extension.py @@ -64,7 +64,7 @@ def sync_detailed( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -101,7 +101,7 @@ def sync( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -133,7 +133,7 @@ async def asyncio_detailed( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -168,7 +168,7 @@ async def asyncio( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/extensions/list_extension_instances.py b/exasol/saas/client/openapi/api/extensions/list_extension_instances.py index f796878a..87973e76 100644 --- a/exasol/saas/client/openapi/api/extensions/list_extension_instances.py +++ b/exasol/saas/client/openapi/api/extensions/list_extension_instances.py @@ -9,7 +9,7 @@ Client, ) from ...models.api_error import ApiError -from ...models.extension_instance import ExtensionInstance +from ...models.worksheet_connection import WorksheetConnection from ...types import Response @@ -35,12 +35,12 @@ def _get_kwargs( def _parse_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> ApiError | list[ExtensionInstance]: +) -> ApiError | list[WorksheetConnection]: if response.status_code == 200: response_200 = [] _response_200 = response.json() for response_200_item_data in _response_200: - response_200_item = ExtensionInstance.from_dict(response_200_item_data) + response_200_item = WorksheetConnection.from_dict(response_200_item_data) response_200.append(response_200_item) @@ -58,7 +58,7 @@ def _parse_response( def _build_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[ApiError | list[ExtensionInstance]]: +) -> Response[ApiError | list[WorksheetConnection]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -73,8 +73,8 @@ def sync_detailed( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, -) -> Response[ApiError | list[ExtensionInstance]]: + client: AuthenticatedClient | Client, +) -> Response[ApiError | list[WorksheetConnection]]: """ Args: account_id (str): @@ -87,7 +87,7 @@ def sync_detailed( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[ApiError | list[ExtensionInstance]] + Response[ApiError | list[WorksheetConnection]] """ kwargs = _get_kwargs( @@ -110,8 +110,8 @@ def sync( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, -) -> ApiError | list[ExtensionInstance] | None: + client: AuthenticatedClient | Client, +) -> ApiError | list[WorksheetConnection] | None: """ Args: account_id (str): @@ -124,7 +124,7 @@ def sync( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - ApiError | list[ExtensionInstance] + ApiError | list[WorksheetConnection] """ return sync_detailed( @@ -142,8 +142,8 @@ async def asyncio_detailed( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, -) -> Response[ApiError | list[ExtensionInstance]]: + client: AuthenticatedClient | Client, +) -> Response[ApiError | list[WorksheetConnection]]: """ Args: account_id (str): @@ -156,7 +156,7 @@ async def asyncio_detailed( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[ApiError | list[ExtensionInstance]] + Response[ApiError | list[WorksheetConnection]] """ kwargs = _get_kwargs( @@ -177,8 +177,8 @@ async def asyncio( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, -) -> ApiError | list[ExtensionInstance] | None: + client: AuthenticatedClient | Client, +) -> ApiError | list[WorksheetConnection] | None: """ Args: account_id (str): @@ -191,7 +191,7 @@ async def asyncio( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - ApiError | list[ExtensionInstance] + ApiError | list[WorksheetConnection] """ return ( diff --git a/exasol/saas/client/openapi/api/extensions/list_extensions.py b/exasol/saas/client/openapi/api/extensions/list_extensions.py index 26dcce55..8d2071e2 100644 --- a/exasol/saas/client/openapi/api/extensions/list_extensions.py +++ b/exasol/saas/client/openapi/api/extensions/list_extensions.py @@ -62,7 +62,7 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[Extension]]: """ Args: @@ -93,7 +93,7 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[Extension] | None: """ Args: @@ -119,7 +119,7 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[Extension]]: """ Args: @@ -148,7 +148,7 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[Extension] | None: """ Args: diff --git a/exasol/saas/client/openapi/api/extensions/uninstall_extension.py b/exasol/saas/client/openapi/api/extensions/uninstall_extension.py index 8a112030..579b6b11 100644 --- a/exasol/saas/client/openapi/api/extensions/uninstall_extension.py +++ b/exasol/saas/client/openapi/api/extensions/uninstall_extension.py @@ -64,7 +64,7 @@ def sync_detailed( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -101,7 +101,7 @@ def sync( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -133,7 +133,7 @@ async def asyncio_detailed( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -168,7 +168,7 @@ async def asyncio( extension_id: str, extension_version: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/files/create_folder.py b/exasol/saas/client/openapi/api/files/create_folder.py index f09ffa4c..d0220420 100644 --- a/exasol/saas/client/openapi/api/files/create_folder.py +++ b/exasol/saas/client/openapi/api/files/create_folder.py @@ -61,7 +61,7 @@ def sync_detailed( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -95,7 +95,7 @@ def sync( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -124,7 +124,7 @@ async def asyncio_detailed( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -156,7 +156,7 @@ async def asyncio( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/files/delete_file.py b/exasol/saas/client/openapi/api/files/delete_file.py index 8419e8f0..fbe872a2 100644 --- a/exasol/saas/client/openapi/api/files/delete_file.py +++ b/exasol/saas/client/openapi/api/files/delete_file.py @@ -61,7 +61,7 @@ def sync_detailed( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -95,7 +95,7 @@ def sync( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -124,7 +124,7 @@ async def asyncio_detailed( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -156,7 +156,7 @@ async def asyncio( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/files/delete_folder.py b/exasol/saas/client/openapi/api/files/delete_folder.py index a59cae9b..e7b1f4ed 100644 --- a/exasol/saas/client/openapi/api/files/delete_folder.py +++ b/exasol/saas/client/openapi/api/files/delete_folder.py @@ -61,7 +61,7 @@ def sync_detailed( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -95,7 +95,7 @@ def sync( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -124,7 +124,7 @@ async def asyncio_detailed( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -156,7 +156,7 @@ async def asyncio( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/files/download_file.py b/exasol/saas/client/openapi/api/files/download_file.py index efb60f55..9bd71b95 100644 --- a/exasol/saas/client/openapi/api/files/download_file.py +++ b/exasol/saas/client/openapi/api/files/download_file.py @@ -60,7 +60,7 @@ def sync_detailed( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | DownloadFile]: """ Args: @@ -94,7 +94,7 @@ def sync( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | DownloadFile | None: """ Args: @@ -123,7 +123,7 @@ async def asyncio_detailed( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | DownloadFile]: """ Args: @@ -155,7 +155,7 @@ async def asyncio( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | DownloadFile | None: """ Args: diff --git a/exasol/saas/client/openapi/api/files/list_files.py b/exasol/saas/client/openapi/api/files/list_files.py index 92a0e0ea..24cfeb3a 100644 --- a/exasol/saas/client/openapi/api/files/list_files.py +++ b/exasol/saas/client/openapi/api/files/list_files.py @@ -9,7 +9,7 @@ Client, ) from ...models.api_error import ApiError -from ...models.file import File +from ...models.file_openapi import FileOpenapi from ...types import Response @@ -31,12 +31,12 @@ def _get_kwargs( def _parse_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> ApiError | list[File]: +) -> ApiError | list[FileOpenapi]: if response.status_code == 200: response_200 = [] _response_200 = response.json() for response_200_item_data in _response_200: - response_200_item = File.from_dict(response_200_item_data) + response_200_item = FileOpenapi.from_dict(response_200_item_data) response_200.append(response_200_item) @@ -49,7 +49,7 @@ def _parse_response( def _build_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[ApiError | list[File]]: +) -> Response[ApiError | list[FileOpenapi]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -62,8 +62,8 @@ def sync_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, -) -> Response[ApiError | list[File]]: + client: AuthenticatedClient | Client, +) -> Response[ApiError | list[FileOpenapi]]: """ Args: account_id (str): @@ -74,7 +74,7 @@ def sync_detailed( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[ApiError | list[File]] + Response[ApiError | list[FileOpenapi]] """ kwargs = _get_kwargs( @@ -93,8 +93,8 @@ def sync( account_id: str, database_id: str, *, - client: AuthenticatedClient, -) -> ApiError | list[File] | None: + client: AuthenticatedClient | Client, +) -> ApiError | list[FileOpenapi] | None: """ Args: account_id (str): @@ -105,7 +105,7 @@ def sync( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - ApiError | list[File] + ApiError | list[FileOpenapi] """ return sync_detailed( @@ -119,8 +119,8 @@ async def asyncio_detailed( account_id: str, database_id: str, *, - client: AuthenticatedClient, -) -> Response[ApiError | list[File]]: + client: AuthenticatedClient | Client, +) -> Response[ApiError | list[FileOpenapi]]: """ Args: account_id (str): @@ -131,7 +131,7 @@ async def asyncio_detailed( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[ApiError | list[File]] + Response[ApiError | list[FileOpenapi]] """ kwargs = _get_kwargs( @@ -148,8 +148,8 @@ async def asyncio( account_id: str, database_id: str, *, - client: AuthenticatedClient, -) -> ApiError | list[File] | None: + client: AuthenticatedClient | Client, +) -> ApiError | list[FileOpenapi] | None: """ Args: account_id (str): @@ -160,7 +160,7 @@ async def asyncio( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - ApiError | list[File] + ApiError | list[FileOpenapi] """ return ( diff --git a/exasol/saas/client/openapi/api/files/upload_file.py b/exasol/saas/client/openapi/api/files/upload_file.py index 1730398e..df264e99 100644 --- a/exasol/saas/client/openapi/api/files/upload_file.py +++ b/exasol/saas/client/openapi/api/files/upload_file.py @@ -60,7 +60,7 @@ def sync_detailed( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | UploadFile]: """ Args: @@ -94,7 +94,7 @@ def sync( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | UploadFile | None: """ Args: @@ -123,7 +123,7 @@ async def asyncio_detailed( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | UploadFile]: """ Args: @@ -155,7 +155,7 @@ async def asyncio( database_id: str, key: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | UploadFile | None: """ Args: diff --git a/exasol/saas/client/openapi/api/platform/list_cluster_sizes.py b/exasol/saas/client/openapi/api/platform/list_cluster_sizes.py index df0dc142..0c8ab7af 100644 --- a/exasol/saas/client/openapi/api/platform/list_cluster_sizes.py +++ b/exasol/saas/client/openapi/api/platform/list_cluster_sizes.py @@ -9,7 +9,9 @@ Client, ) from ...models.api_error import ApiError -from ...models.cluster_size_1 import ClusterSize1 +from ...models.list_cluster_sizes_response_200_item import ( + ListClusterSizesResponse200Item, +) from ...types import Response @@ -29,12 +31,14 @@ def _get_kwargs( def _parse_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> ApiError | list[ClusterSize1]: +) -> ApiError | list[ListClusterSizesResponse200Item]: if response.status_code == 200: response_200 = [] _response_200 = response.json() for response_200_item_data in _response_200: - response_200_item = ClusterSize1.from_dict(response_200_item_data) + response_200_item = ListClusterSizesResponse200Item.from_dict( + response_200_item_data + ) response_200.append(response_200_item) @@ -47,7 +51,7 @@ def _parse_response( def _build_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[ApiError | list[ClusterSize1]]: +) -> Response[ApiError | list[ListClusterSizesResponse200Item]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -59,8 +63,8 @@ def _build_response( def sync_detailed( platform: str, *, - client: AuthenticatedClient, -) -> Response[ApiError | list[ClusterSize1]]: + client: AuthenticatedClient | Client, +) -> Response[ApiError | list[ListClusterSizesResponse200Item]]: """ Args: platform (str): @@ -70,7 +74,7 @@ def sync_detailed( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[ApiError | list[ClusterSize1]] + Response[ApiError | list[ListClusterSizesResponse200Item]] """ kwargs = _get_kwargs( @@ -87,8 +91,8 @@ def sync_detailed( def sync( platform: str, *, - client: AuthenticatedClient, -) -> ApiError | list[ClusterSize1] | None: + client: AuthenticatedClient | Client, +) -> ApiError | list[ListClusterSizesResponse200Item] | None: """ Args: platform (str): @@ -98,7 +102,7 @@ def sync( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - ApiError | list[ClusterSize1] + ApiError | list[ListClusterSizesResponse200Item] """ return sync_detailed( @@ -110,8 +114,8 @@ def sync( async def asyncio_detailed( platform: str, *, - client: AuthenticatedClient, -) -> Response[ApiError | list[ClusterSize1]]: + client: AuthenticatedClient | Client, +) -> Response[ApiError | list[ListClusterSizesResponse200Item]]: """ Args: platform (str): @@ -121,7 +125,7 @@ async def asyncio_detailed( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[ApiError | list[ClusterSize1]] + Response[ApiError | list[ListClusterSizesResponse200Item]] """ kwargs = _get_kwargs( @@ -136,8 +140,8 @@ async def asyncio_detailed( async def asyncio( platform: str, *, - client: AuthenticatedClient, -) -> ApiError | list[ClusterSize1] | None: + client: AuthenticatedClient | Client, +) -> ApiError | list[ListClusterSizesResponse200Item] | None: """ Args: platform (str): @@ -147,7 +151,7 @@ async def asyncio( httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - ApiError | list[ClusterSize1] + ApiError | list[ListClusterSizesResponse200Item] """ return ( diff --git a/exasol/saas/client/openapi/api/platform/list_platforms.py b/exasol/saas/client/openapi/api/platform/list_platforms.py index 7c50835e..8eed776d 100644 --- a/exasol/saas/client/openapi/api/platform/list_platforms.py +++ b/exasol/saas/client/openapi/api/platform/list_platforms.py @@ -8,7 +8,7 @@ Client, ) from ...models.api_error import ApiError -from ...models.platform import Platform +from ...models.worksheet_connection import WorksheetConnection from ...types import Response @@ -24,12 +24,12 @@ def _get_kwargs() -> dict[str, Any]: def _parse_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> ApiError | list[Platform]: +) -> ApiError | list[WorksheetConnection]: if response.status_code == 200: response_200 = [] _response_200 = response.json() for response_200_item_data in _response_200: - response_200_item = Platform.from_dict(response_200_item_data) + response_200_item = WorksheetConnection.from_dict(response_200_item_data) response_200.append(response_200_item) @@ -42,7 +42,7 @@ def _parse_response( def _build_response( *, client: AuthenticatedClient | Client, response: httpx.Response -) -> Response[ApiError | list[Platform]]: +) -> Response[ApiError | list[WorksheetConnection]]: return Response( status_code=HTTPStatus(response.status_code), content=response.content, @@ -53,15 +53,15 @@ def _build_response( def sync_detailed( *, - client: AuthenticatedClient, -) -> Response[ApiError | list[Platform]]: + client: AuthenticatedClient | Client, +) -> Response[ApiError | list[WorksheetConnection]]: """ Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[ApiError | list[Platform]] + Response[ApiError | list[WorksheetConnection]] """ kwargs = _get_kwargs() @@ -75,15 +75,15 @@ def sync_detailed( def sync( *, - client: AuthenticatedClient, -) -> ApiError | list[Platform] | None: + client: AuthenticatedClient | Client, +) -> ApiError | list[WorksheetConnection] | None: """ Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - ApiError | list[Platform] + ApiError | list[WorksheetConnection] """ return sync_detailed( @@ -93,15 +93,15 @@ def sync( async def asyncio_detailed( *, - client: AuthenticatedClient, -) -> Response[ApiError | list[Platform]]: + client: AuthenticatedClient | Client, +) -> Response[ApiError | list[WorksheetConnection]]: """ Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - Response[ApiError | list[Platform]] + Response[ApiError | list[WorksheetConnection]] """ kwargs = _get_kwargs() @@ -113,15 +113,15 @@ async def asyncio_detailed( async def asyncio( *, - client: AuthenticatedClient, -) -> ApiError | list[Platform] | None: + client: AuthenticatedClient | Client, +) -> ApiError | list[WorksheetConnection] | None: """ Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. httpx.TimeoutException: If the request takes longer than Client.timeout. Returns: - ApiError | list[Platform] + ApiError | list[WorksheetConnection] """ return ( diff --git a/exasol/saas/client/openapi/api/platform/list_regions.py b/exasol/saas/client/openapi/api/platform/list_regions.py index f1be9589..11a7ea4c 100644 --- a/exasol/saas/client/openapi/api/platform/list_regions.py +++ b/exasol/saas/client/openapi/api/platform/list_regions.py @@ -59,7 +59,7 @@ def _build_response( def sync_detailed( platform: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[Region]]: """ Args: @@ -87,7 +87,7 @@ def sync_detailed( def sync( platform: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[Region] | None: """ Args: @@ -110,7 +110,7 @@ def sync( async def asyncio_detailed( platform: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[Region]]: """ Args: @@ -136,7 +136,7 @@ async def asyncio_detailed( async def asyncio( platform: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[Region] | None: """ Args: diff --git a/exasol/saas/client/openapi/api/profile/update_profile.py b/exasol/saas/client/openapi/api/profile/update_profile.py index b067bfac..971468f7 100644 --- a/exasol/saas/client/openapi/api/profile/update_profile.py +++ b/exasol/saas/client/openapi/api/profile/update_profile.py @@ -59,7 +59,7 @@ def _build_response( def sync_detailed( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateProfile, ) -> Response[Any | ApiError]: """ @@ -87,7 +87,7 @@ def sync_detailed( def sync( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateProfile, ) -> Any | ApiError | None: """ @@ -110,7 +110,7 @@ def sync( async def asyncio_detailed( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateProfile, ) -> Response[Any | ApiError]: """ @@ -136,7 +136,7 @@ async def asyncio_detailed( async def asyncio( *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateProfile, ) -> Any | ApiError | None: """ diff --git a/exasol/saas/client/openapi/api/security/add_allowed_ip.py b/exasol/saas/client/openapi/api/security/add_allowed_ip.py index db48fa8b..ce4ec8e9 100644 --- a/exasol/saas/client/openapi/api/security/add_allowed_ip.py +++ b/exasol/saas/client/openapi/api/security/add_allowed_ip.py @@ -63,7 +63,7 @@ def _build_response( def sync_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateAllowedIP, ) -> Response[AllowedIP | ApiError]: """ @@ -94,7 +94,7 @@ def sync_detailed( def sync( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateAllowedIP, ) -> AllowedIP | ApiError | None: """ @@ -120,7 +120,7 @@ def sync( async def asyncio_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateAllowedIP, ) -> Response[AllowedIP | ApiError]: """ @@ -149,7 +149,7 @@ async def asyncio_detailed( async def asyncio( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: CreateAllowedIP, ) -> AllowedIP | ApiError | None: """ diff --git a/exasol/saas/client/openapi/api/security/delete_allowed_ip.py b/exasol/saas/client/openapi/api/security/delete_allowed_ip.py index 4b4ff65f..5a81a16e 100644 --- a/exasol/saas/client/openapi/api/security/delete_allowed_ip.py +++ b/exasol/saas/client/openapi/api/security/delete_allowed_ip.py @@ -58,7 +58,7 @@ def sync_detailed( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -89,7 +89,7 @@ def sync( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -115,7 +115,7 @@ async def asyncio_detailed( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -144,7 +144,7 @@ async def asyncio( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/security/get_allowed_ip.py b/exasol/saas/client/openapi/api/security/get_allowed_ip.py index 058bcbac..1a080ba2 100644 --- a/exasol/saas/client/openapi/api/security/get_allowed_ip.py +++ b/exasol/saas/client/openapi/api/security/get_allowed_ip.py @@ -57,7 +57,7 @@ def sync_detailed( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[AllowedIP | ApiError]: """ Args: @@ -88,7 +88,7 @@ def sync( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> AllowedIP | ApiError | None: """ Args: @@ -114,7 +114,7 @@ async def asyncio_detailed( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[AllowedIP | ApiError]: """ Args: @@ -143,7 +143,7 @@ async def asyncio( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> AllowedIP | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/security/list_allowed_i_ps.py b/exasol/saas/client/openapi/api/security/list_allowed_i_ps.py index ab4a4eea..ac7aee34 100644 --- a/exasol/saas/client/openapi/api/security/list_allowed_i_ps.py +++ b/exasol/saas/client/openapi/api/security/list_allowed_i_ps.py @@ -59,7 +59,7 @@ def _build_response( def sync_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[AllowedIP]]: """ Args: @@ -87,7 +87,7 @@ def sync_detailed( def sync( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[AllowedIP] | None: """ Args: @@ -110,7 +110,7 @@ def sync( async def asyncio_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | list[AllowedIP]]: """ Args: @@ -136,7 +136,7 @@ async def asyncio_detailed( async def asyncio( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | list[AllowedIP] | None: """ Args: diff --git a/exasol/saas/client/openapi/api/security/update_allowed_ip.py b/exasol/saas/client/openapi/api/security/update_allowed_ip.py index 4e912bc9..b2bc2504 100644 --- a/exasol/saas/client/openapi/api/security/update_allowed_ip.py +++ b/exasol/saas/client/openapi/api/security/update_allowed_ip.py @@ -67,7 +67,7 @@ def sync_detailed( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateAllowedIP, ) -> Response[Any | ApiError]: """ @@ -101,7 +101,7 @@ def sync( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateAllowedIP, ) -> Any | ApiError | None: """ @@ -130,7 +130,7 @@ async def asyncio_detailed( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateAllowedIP, ) -> Response[Any | ApiError]: """ @@ -162,7 +162,7 @@ async def asyncio( account_id: str, allowlist_ip_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: UpdateAllowedIP, ) -> Any | ApiError | None: """ diff --git a/exasol/saas/client/openapi/api/usage/get_usage.py b/exasol/saas/client/openapi/api/usage/get_usage.py index 28b21e05..b773753e 100644 --- a/exasol/saas/client/openapi/api/usage/get_usage.py +++ b/exasol/saas/client/openapi/api/usage/get_usage.py @@ -9,7 +9,7 @@ Client, ) from ...models.api_error import ApiError -from ...models.get_usage_type import GetUsageType +from ...models.type_ import Type from ...models.usage import Usage from ...types import ( UNSET, @@ -22,7 +22,7 @@ def _get_kwargs( account_id: str, *, year_month: str | Unset = UNSET, - type_: GetUsageType | Unset = UNSET, + type_: Type | Unset = UNSET, ) -> dict[str, Any]: params: dict[str, Any] = {} @@ -75,15 +75,15 @@ def _build_response( def sync_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, year_month: str | Unset = UNSET, - type_: GetUsageType | Unset = UNSET, + type_: Type | Unset = UNSET, ) -> Response[ApiError | Usage]: """ Args: account_id (str): year_month (str | Unset): - type_ (GetUsageType | Unset): + type_ (Type | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -109,15 +109,15 @@ def sync_detailed( def sync( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, year_month: str | Unset = UNSET, - type_: GetUsageType | Unset = UNSET, + type_: Type | Unset = UNSET, ) -> ApiError | Usage | None: """ Args: account_id (str): year_month (str | Unset): - type_ (GetUsageType | Unset): + type_ (Type | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -138,15 +138,15 @@ def sync( async def asyncio_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, year_month: str | Unset = UNSET, - type_: GetUsageType | Unset = UNSET, + type_: Type | Unset = UNSET, ) -> Response[ApiError | Usage]: """ Args: account_id (str): year_month (str | Unset): - type_ (GetUsageType | Unset): + type_ (Type | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. @@ -170,15 +170,15 @@ async def asyncio_detailed( async def asyncio( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, year_month: str | Unset = UNSET, - type_: GetUsageType | Unset = UNSET, + type_: Type | Unset = UNSET, ) -> ApiError | Usage | None: """ Args: account_id (str): year_month (str | Unset): - type_ (GetUsageType | Unset): + type_ (Type | Unset): Raises: errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True. diff --git a/exasol/saas/client/openapi/api/users/delete_user.py b/exasol/saas/client/openapi/api/users/delete_user.py index d0851dc5..a98d532b 100644 --- a/exasol/saas/client/openapi/api/users/delete_user.py +++ b/exasol/saas/client/openapi/api/users/delete_user.py @@ -58,7 +58,7 @@ def sync_detailed( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -89,7 +89,7 @@ def sync( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: @@ -115,7 +115,7 @@ async def asyncio_detailed( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[Any | ApiError]: """ Args: @@ -144,7 +144,7 @@ async def asyncio( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Any | ApiError | None: """ Args: diff --git a/exasol/saas/client/openapi/api/users/get_user.py b/exasol/saas/client/openapi/api/users/get_user.py index ddcfea5f..be24be45 100644 --- a/exasol/saas/client/openapi/api/users/get_user.py +++ b/exasol/saas/client/openapi/api/users/get_user.py @@ -57,7 +57,7 @@ def sync_detailed( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | User]: """ Args: @@ -88,7 +88,7 @@ def sync( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | User | None: """ Args: @@ -114,7 +114,7 @@ async def asyncio_detailed( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> Response[ApiError | User]: """ Args: @@ -143,7 +143,7 @@ async def asyncio( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, ) -> ApiError | User | None: """ Args: diff --git a/exasol/saas/client/openapi/api/users/list_users.py b/exasol/saas/client/openapi/api/users/list_users.py index 983ccd33..f4d6a036 100644 --- a/exasol/saas/client/openapi/api/users/list_users.py +++ b/exasol/saas/client/openapi/api/users/list_users.py @@ -78,7 +78,7 @@ def _build_response( def sync_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, filter_: str | Unset = UNSET, next_: int | Unset = UNSET, limit: int | Unset = UNSET, @@ -115,7 +115,7 @@ def sync_detailed( def sync( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, filter_: str | Unset = UNSET, next_: int | Unset = UNSET, limit: int | Unset = UNSET, @@ -147,7 +147,7 @@ def sync( async def asyncio_detailed( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, filter_: str | Unset = UNSET, next_: int | Unset = UNSET, limit: int | Unset = UNSET, @@ -182,7 +182,7 @@ async def asyncio_detailed( async def asyncio( account_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, filter_: str | Unset = UNSET, next_: int | Unset = UNSET, limit: int | Unset = UNSET, diff --git a/exasol/saas/client/openapi/api/users/patch_user.py b/exasol/saas/client/openapi/api/users/patch_user.py index afa9baf8..be12717b 100644 --- a/exasol/saas/client/openapi/api/users/patch_user.py +++ b/exasol/saas/client/openapi/api/users/patch_user.py @@ -67,7 +67,7 @@ def sync_detailed( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: PatchUser, ) -> Response[Any | ApiError]: """ @@ -101,7 +101,7 @@ def sync( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: PatchUser, ) -> Any | ApiError | None: """ @@ -130,7 +130,7 @@ async def asyncio_detailed( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: PatchUser, ) -> Response[Any | ApiError]: """ @@ -162,7 +162,7 @@ async def asyncio( account_id: str, user_id: str, *, - client: AuthenticatedClient, + client: AuthenticatedClient | Client, body: PatchUser, ) -> Any | ApiError | None: """ diff --git a/exasol/saas/client/openapi/models/__init__.py b/exasol/saas/client/openapi/models/__init__.py index 1f043af4..cbd22f9a 100644 --- a/exasol/saas/client/openapi/models/__init__.py +++ b/exasol/saas/client/openapi/models/__init__.py @@ -1,25 +1,62 @@ """Contains all the data models used in inputs/outputs""" +from .accept_invitation import AcceptInvitation +from .account import Account +from .account_edition import AccountEdition +from .account_mode import AccountMode +from .actor import Actor +from .add_credit_card import AddCreditCard +from .add_integration import AddIntegration +from .add_integration_result import AddIntegrationResult from .allowed_ip import AllowedIP from .api_error import ApiError +from .auth_0 import Auth0 from .auto_stop import AutoStop +from .billing_address import BillingAddress +from .billing_address_status import BillingAddressStatus +from .billing_customer import BillingCustomer +from .billing_information import BillingInformation +from .billing_information_address import BillingInformationAddress +from .billing_information_credit_card import BillingInformationCreditCard +from .billing_invoice_link import BillingInvoiceLink +from .case_priority import CasePriority +from .case_type import CaseType +from .change_edition import ChangeEdition +from .chargebee import Chargebee +from .checks import Checks +from .checks_links import ChecksLinks from .cluster import Cluster from .cluster_action_scale import ClusterActionScale from .cluster_action_start_stop import ClusterActionStartStop from .cluster_connection import ClusterConnection +from .cluster_connection_ips import ClusterConnectionIps from .cluster_settings import ClusterSettings from .cluster_settings_update import ClusterSettingsUpdate -from .cluster_size_1 import ClusterSize1 +from .cluster_size import ClusterSize +from .config import Config +from .config_features import ConfigFeatures from .connection_i_ps import ConnectionIPs from .create_allowed_ip import CreateAllowedIP from .create_cluster import CreateCluster from .create_database import CreateDatabase from .create_database_initial_cluster import CreateDatabaseInitialCluster from .create_extension_instance import CreateExtensionInstance +from .create_extension_instance_request import CreateExtensionInstanceRequest +from .create_extension_instance_response import CreateExtensionInstanceResponse +from .create_invitation import CreateInvitation +from .create_schedule import CreateSchedule +from .create_schedule_payload import CreateSchedulePayload +from .create_support_case import CreateSupportCase +from .create_worksheet import CreateWorksheet +from .credit_card import CreditCard +from .credit_card_status import CreditCardStatus +from .credits_ import Credits from .database_settings import DatabaseSettings from .database_upgrade_info import DatabaseUpgradeInfo from .dlhc_activate_status import DlhcActivateStatus from .download_file import DownloadFile +from .email_validation import EmailValidation +from .event_integration import EventIntegration from .exasol_database import ExasolDatabase from .exasol_database_clusters import ExasolDatabaseClusters from .exasol_database_integrations_item import ExasolDatabaseIntegrationsItem @@ -30,53 +67,133 @@ from .extension_parameter_value import ExtensionParameterValue from .extension_version import ExtensionVersion from .file import File -from .get_usage_type import GetUsageType +from .file_openapi import FileOpenapi +from .health import Health +from .health_checks import HealthChecks +from .health_links import HealthLinks +from .id_name import IdName +from .invitation import Invitation +from .invitation_invitee import InvitationInvitee +from .invitation_inviter import InvitationInviter +from .invoice import Invoice +from .invoice_dunning_status import InvoiceDunningStatus +from .invoice_price_type import InvoicePriceType +from .invoice_status import InvoiceStatus +from .keboola import Keboola +from .keboola_result import KeboolaResult +from .limits import Limits +from .list_cluster_sizes_response_200_item import ListClusterSizesResponse200Item +from .my_ip import MyIP from .patch_user import PatchUser from .patch_user_databases import PatchUserDatabases +from .payment_attempt import PaymentAttempt +from .payment_intent import PaymentIntent from .platform import Platform +from .proxy import Proxy from .region import Region +from .register import Register +from .register_result import RegisterResult +from .register_signup_path import RegisterSignupPath +from .role import Role from .scale_cluster import ScaleCluster from .schedule import Schedule from .schedule_action_type_0 import ScheduleActionType0 +from .schedule_payload_type_0 import SchedulePayloadType0 +from .schedule_payload_type_1 import SchedulePayloadType1 from .schedule_state import ScheduleState +from .scope import Scope +from .send_csat import SendCsat from .set_auto_updates_database import SetAutoUpdatesDatabase from .status import Status +from .status_event_integration import StatusEventIntegration +from .stream import Stream +from .support import Support +from .tracking import Tracking +from .trial import Trial +from .type_ import Type from .update_allowed_ip import UpdateAllowedIP from .update_cluster import UpdateCluster from .update_database import UpdateDatabase from .update_profile import UpdateProfile from .update_schedule_cron_rule import UpdateScheduleCronRule from .update_schedule_state import UpdateScheduleState +from .update_worksheet import UpdateWorksheet from .upload_file import UploadFile from .usage import Usage -from .usage_additional_property_item import UsageAdditionalPropertyItem from .usage_cluster import UsageCluster +from .usage_database import UsageDatabase from .user import User from .user_database import UserDatabase from .user_role import UserRole from .user_status import UserStatus +from .version import Version +from .websocket_config import WebsocketConfig +from .worksheet import Worksheet +from .worksheet_cluster import WorksheetCluster +from .worksheet_connection import WorksheetConnection +from .worksheet_database import WorksheetDatabase +from .worksheet_item import WorksheetItem +from .worksheet_item_cluster import WorksheetItemCluster +from .worksheet_item_database import WorksheetItemDatabase __all__ = ( + "AcceptInvitation", + "Account", + "AccountEdition", + "AccountMode", + "Actor", + "AddCreditCard", + "AddIntegration", + "AddIntegrationResult", "AllowedIP", "ApiError", + "Auth0", "AutoStop", + "BillingAddress", + "BillingAddressStatus", + "BillingCustomer", + "BillingInformation", + "BillingInformationAddress", + "BillingInformationCreditCard", + "BillingInvoiceLink", + "CasePriority", + "CaseType", + "ChangeEdition", + "Chargebee", + "Checks", + "ChecksLinks", "Cluster", "ClusterActionScale", "ClusterActionStartStop", "ClusterConnection", + "ClusterConnectionIps", "ClusterSettings", "ClusterSettingsUpdate", - "ClusterSize1", + "ClusterSize", + "Config", + "ConfigFeatures", "ConnectionIPs", "CreateAllowedIP", "CreateCluster", "CreateDatabase", "CreateDatabaseInitialCluster", "CreateExtensionInstance", + "CreateExtensionInstanceRequest", + "CreateExtensionInstanceResponse", + "CreateInvitation", + "CreateSchedule", + "CreateSchedulePayload", + "CreateSupportCase", + "CreateWorksheet", + "CreditCard", + "CreditCardStatus", + "Credits", "DatabaseSettings", "DatabaseUpgradeInfo", "DlhcActivateStatus", "DownloadFile", + "EmailValidation", + "EventIntegration", "ExasolDatabase", "ExasolDatabaseClusters", "ExasolDatabaseIntegrationsItem", @@ -87,29 +204,72 @@ "ExtensionParameterValue", "ExtensionVersion", "File", - "GetUsageType", + "FileOpenapi", + "Health", + "HealthChecks", + "HealthLinks", + "IdName", + "Invitation", + "InvitationInvitee", + "InvitationInviter", + "Invoice", + "InvoiceDunningStatus", + "InvoicePriceType", + "InvoiceStatus", + "Keboola", + "KeboolaResult", + "Limits", + "ListClusterSizesResponse200Item", + "MyIP", "PatchUser", "PatchUserDatabases", + "PaymentAttempt", + "PaymentIntent", "Platform", + "Proxy", "Region", + "Register", + "RegisterResult", + "RegisterSignupPath", + "Role", "ScaleCluster", "Schedule", "ScheduleActionType0", + "SchedulePayloadType0", + "SchedulePayloadType1", "ScheduleState", + "Scope", + "SendCsat", "SetAutoUpdatesDatabase", "Status", + "StatusEventIntegration", + "Stream", + "Support", + "Tracking", + "Trial", + "Type", "UpdateAllowedIP", "UpdateCluster", "UpdateDatabase", "UpdateProfile", "UpdateScheduleCronRule", "UpdateScheduleState", + "UpdateWorksheet", "UploadFile", "Usage", - "UsageAdditionalPropertyItem", "UsageCluster", + "UsageDatabase", "User", "UserDatabase", "UserRole", "UserStatus", + "Version", + "WebsocketConfig", + "Worksheet", + "WorksheetCluster", + "WorksheetConnection", + "WorksheetDatabase", + "WorksheetItem", + "WorksheetItemCluster", + "WorksheetItemDatabase", ) diff --git a/exasol/saas/client/openapi/models/accept_invitation.py b/exasol/saas/client/openapi/models/accept_invitation.py new file mode 100644 index 00000000..8a8c8a7a --- /dev/null +++ b/exasol/saas/client/openapi/models/accept_invitation.py @@ -0,0 +1,111 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..types import ( + UNSET, + Unset, +) + +if TYPE_CHECKING: + from ..models.worksheet_connection import WorksheetConnection + + +T = TypeVar("T", bound="AcceptInvitation") + + +@_attrs_define +class AcceptInvitation: + """ + Attributes: + email (str): + role_id (str): + db_username (str): + user_id (str): + databases (list[WorksheetConnection] | Unset): + migrated_user_id (str | Unset): + """ + + email: str + role_id: str + db_username: str + user_id: str + databases: list[WorksheetConnection] | Unset = UNSET + migrated_user_id: str | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + email = self.email + + role_id = self.role_id + + db_username = self.db_username + + user_id = self.user_id + + databases: list[dict[str, Any]] | Unset = UNSET + if not isinstance(self.databases, Unset): + databases = [] + for databases_item_data in self.databases: + databases_item = databases_item_data.to_dict() + databases.append(databases_item) + + migrated_user_id = self.migrated_user_id + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "email": email, + "roleID": role_id, + "dbUsername": db_username, + "userID": user_id, + } + ) + if databases is not UNSET: + field_dict["databases"] = databases + if migrated_user_id is not UNSET: + field_dict["migratedUserId"] = migrated_user_id + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.worksheet_connection import WorksheetConnection + + d = dict(src_dict) + email = d.pop("email") + + role_id = d.pop("roleID") + + db_username = d.pop("dbUsername") + + user_id = d.pop("userID") + + _databases = d.pop("databases", UNSET) + databases: list[WorksheetConnection] | Unset = UNSET + if _databases is not UNSET: + databases = [] + for databases_item_data in _databases: + databases_item = WorksheetConnection.from_dict(databases_item_data) + + databases.append(databases_item) + + migrated_user_id = d.pop("migratedUserId", UNSET) + + accept_invitation = cls( + email=email, + role_id=role_id, + db_username=db_username, + user_id=user_id, + databases=databases, + migrated_user_id=migrated_user_id, + ) + + return accept_invitation diff --git a/exasol/saas/client/openapi/models/account.py b/exasol/saas/client/openapi/models/account.py new file mode 100644 index 00000000..f6890a93 --- /dev/null +++ b/exasol/saas/client/openapi/models/account.py @@ -0,0 +1,200 @@ +from __future__ import annotations + +import datetime +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, + cast, +) + +from attrs import define as _attrs_define +from dateutil.parser import isoparse + +from ..models.account_edition import AccountEdition +from ..models.account_mode import AccountMode +from ..types import ( + UNSET, + Unset, +) + +if TYPE_CHECKING: + from ..models.limits import Limits + from ..models.trial import Trial + + +T = TypeVar("T", bound="Account") + + +@_attrs_define +class Account: + """ + Attributes: + id (str): + email (str): + created_at (datetime.datetime): + created_by (str): + mode (AccountMode): + edition (AccountEdition): + limits (Limits): + account_name (str | Unset): + country (str | Unset): + company (str | Unset): + deleted_at (datetime.datetime | Unset): + deleted_by (str | Unset): + edition_locked_for (int | Unset): + trial (Trial | Unset): + enabled_features (list[str] | Unset): + """ + + id: str + email: str + created_at: datetime.datetime + created_by: str + mode: AccountMode + edition: AccountEdition + limits: Limits + account_name: str | Unset = UNSET + country: str | Unset = UNSET + company: str | Unset = UNSET + deleted_at: datetime.datetime | Unset = UNSET + deleted_by: str | Unset = UNSET + edition_locked_for: int | Unset = UNSET + trial: Trial | Unset = UNSET + enabled_features: list[str] | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + id = self.id + + email = self.email + + created_at = self.created_at.isoformat() + + created_by = self.created_by + + mode = self.mode.value + + edition = self.edition.value + + limits = self.limits.to_dict() + + account_name = self.account_name + + country = self.country + + company = self.company + + deleted_at: str | Unset = UNSET + if not isinstance(self.deleted_at, Unset): + deleted_at = self.deleted_at.isoformat() + + deleted_by = self.deleted_by + + edition_locked_for = self.edition_locked_for + + trial: dict[str, Any] | Unset = UNSET + if not isinstance(self.trial, Unset): + trial = self.trial.to_dict() + + enabled_features: list[str] | Unset = UNSET + if not isinstance(self.enabled_features, Unset): + enabled_features = self.enabled_features + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + "email": email, + "createdAt": created_at, + "createdBy": created_by, + "mode": mode, + "edition": edition, + "limits": limits, + } + ) + if account_name is not UNSET: + field_dict["accountName"] = account_name + if country is not UNSET: + field_dict["country"] = country + if company is not UNSET: + field_dict["company"] = company + if deleted_at is not UNSET: + field_dict["deletedAt"] = deleted_at + if deleted_by is not UNSET: + field_dict["deletedBy"] = deleted_by + if edition_locked_for is not UNSET: + field_dict["editionLockedFor"] = edition_locked_for + if trial is not UNSET: + field_dict["trial"] = trial + if enabled_features is not UNSET: + field_dict["enabledFeatures"] = enabled_features + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.limits import Limits + from ..models.trial import Trial + + d = dict(src_dict) + id = d.pop("id") + + email = d.pop("email") + + created_at = isoparse(d.pop("createdAt")) + + created_by = d.pop("createdBy") + + mode = AccountMode(d.pop("mode")) + + edition = AccountEdition(d.pop("edition")) + + limits = Limits.from_dict(d.pop("limits")) + + account_name = d.pop("accountName", UNSET) + + country = d.pop("country", UNSET) + + company = d.pop("company", UNSET) + + _deleted_at = d.pop("deletedAt", UNSET) + deleted_at: datetime.datetime | Unset + if isinstance(_deleted_at, Unset): + deleted_at = UNSET + else: + deleted_at = isoparse(_deleted_at) + + deleted_by = d.pop("deletedBy", UNSET) + + edition_locked_for = d.pop("editionLockedFor", UNSET) + + _trial = d.pop("trial", UNSET) + trial: Trial | Unset + if isinstance(_trial, Unset): + trial = UNSET + else: + trial = Trial.from_dict(_trial) + + enabled_features = cast(list[str], d.pop("enabledFeatures", UNSET)) + + account = cls( + id=id, + email=email, + created_at=created_at, + created_by=created_by, + mode=mode, + edition=edition, + limits=limits, + account_name=account_name, + country=country, + company=company, + deleted_at=deleted_at, + deleted_by=deleted_by, + edition_locked_for=edition_locked_for, + trial=trial, + enabled_features=enabled_features, + ) + + return account diff --git a/exasol/saas/client/openapi/models/account_edition.py b/exasol/saas/client/openapi/models/account_edition.py new file mode 100644 index 00000000..2364d417 --- /dev/null +++ b/exasol/saas/client/openapi/models/account_edition.py @@ -0,0 +1,9 @@ +from enum import Enum + + +class AccountEdition(str, Enum): + ENTERPRISE = "enterprise" + STANDARD = "standard" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/account_mode.py b/exasol/saas/client/openapi/models/account_mode.py new file mode 100644 index 00000000..01f93a5f --- /dev/null +++ b/exasol/saas/client/openapi/models/account_mode.py @@ -0,0 +1,10 @@ +from enum import Enum + + +class AccountMode(str, Enum): + PAY_AS_YOU_GO = "pay-as-you-go" + PRE_PURCHASE = "pre-purchase" + TRIAL = "trial" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/actor.py b/exasol/saas/client/openapi/models/actor.py new file mode 100644 index 00000000..3a1e8df3 --- /dev/null +++ b/exasol/saas/client/openapi/models/actor.py @@ -0,0 +1,9 @@ +from enum import Enum + + +class Actor(str, Enum): + AUTO_STOP = "auto-stop" + SCHEDULED_ACTION = "scheduled-action" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/add_credit_card.py b/exasol/saas/client/openapi/models/add_credit_card.py new file mode 100644 index 00000000..3506bc77 --- /dev/null +++ b/exasol/saas/client/openapi/models/add_credit_card.py @@ -0,0 +1,69 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="AddCreditCard") + + +@_attrs_define +class AddCreditCard: + """ + Attributes: + token (str): + gateway_account_id (str): + is3ds (bool): + is_primary (bool): + """ + + token: str + gateway_account_id: str + is3ds: bool + is_primary: bool + + def to_dict(self) -> dict[str, Any]: + token = self.token + + gateway_account_id = self.gateway_account_id + + is3ds = self.is3ds + + is_primary = self.is_primary + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "token": token, + "gatewayAccountID": gateway_account_id, + "is3ds": is3ds, + "isPrimary": is_primary, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + token = d.pop("token") + + gateway_account_id = d.pop("gatewayAccountID") + + is3ds = d.pop("is3ds") + + is_primary = d.pop("isPrimary") + + add_credit_card = cls( + token=token, + gateway_account_id=gateway_account_id, + is3ds=is3ds, + is_primary=is_primary, + ) + + return add_credit_card diff --git a/exasol/saas/client/openapi/models/add_integration.py b/exasol/saas/client/openapi/models/add_integration.py new file mode 100644 index 00000000..1c06b89c --- /dev/null +++ b/exasol/saas/client/openapi/models/add_integration.py @@ -0,0 +1,48 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..types import ( + UNSET, + Unset, +) + +T = TypeVar("T", bound="AddIntegration") + + +@_attrs_define +class AddIntegration: + """ + Attributes: + password (str | Unset): + """ + + password: str | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + password = self.password + + field_dict: dict[str, Any] = {} + + field_dict.update({}) + if password is not UNSET: + field_dict["password"] = password + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + password = d.pop("password", UNSET) + + add_integration = cls( + password=password, + ) + + return add_integration diff --git a/exasol/saas/client/openapi/models/add_integration_result.py b/exasol/saas/client/openapi/models/add_integration_result.py new file mode 100644 index 00000000..5e72df19 --- /dev/null +++ b/exasol/saas/client/openapi/models/add_integration_result.py @@ -0,0 +1,67 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..types import ( + UNSET, + Unset, +) + +T = TypeVar("T", bound="AddIntegrationResult") + + +@_attrs_define +class AddIntegrationResult: + """ + Attributes: + encrypted_password (str): + action_url (str): + encrypted_pat (str | Unset): + """ + + encrypted_password: str + action_url: str + encrypted_pat: str | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + encrypted_password = self.encrypted_password + + action_url = self.action_url + + encrypted_pat = self.encrypted_pat + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "encryptedPassword": encrypted_password, + "actionUrl": action_url, + } + ) + if encrypted_pat is not UNSET: + field_dict["encryptedPat"] = encrypted_pat + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + encrypted_password = d.pop("encryptedPassword") + + action_url = d.pop("actionUrl") + + encrypted_pat = d.pop("encryptedPat", UNSET) + + add_integration_result = cls( + encrypted_password=encrypted_password, + action_url=action_url, + encrypted_pat=encrypted_pat, + ) + + return add_integration_result diff --git a/exasol/saas/client/openapi/models/auth_0.py b/exasol/saas/client/openapi/models/auth_0.py new file mode 100644 index 00000000..fb8e740e --- /dev/null +++ b/exasol/saas/client/openapi/models/auth_0.py @@ -0,0 +1,61 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="Auth0") + + +@_attrs_define +class Auth0: + """ + Attributes: + domain (str): + client_id (str): + audience (str): + """ + + domain: str + client_id: str + audience: str + + def to_dict(self) -> dict[str, Any]: + domain = self.domain + + client_id = self.client_id + + audience = self.audience + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "domain": domain, + "clientId": client_id, + "audience": audience, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + domain = d.pop("domain") + + client_id = d.pop("clientId") + + audience = d.pop("audience") + + auth_0 = cls( + domain=domain, + client_id=client_id, + audience=audience, + ) + + return auth_0 diff --git a/exasol/saas/client/openapi/models/billing_address.py b/exasol/saas/client/openapi/models/billing_address.py new file mode 100644 index 00000000..afebd676 --- /dev/null +++ b/exasol/saas/client/openapi/models/billing_address.py @@ -0,0 +1,123 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..types import ( + UNSET, + Unset, +) + +T = TypeVar("T", bound="BillingAddress") + + +@_attrs_define +class BillingAddress: + """ + Attributes: + first_name (str): + last_name (str): + email (str): + company (str): + line1 (str): + city (str): + country (str): + zip_ (str): + vat_number (str): + state (str | Unset): + """ + + first_name: str + last_name: str + email: str + company: str + line1: str + city: str + country: str + zip_: str + vat_number: str + state: str | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + first_name = self.first_name + + last_name = self.last_name + + email = self.email + + company = self.company + + line1 = self.line1 + + city = self.city + + country = self.country + + zip_ = self.zip_ + + vat_number = self.vat_number + + state = self.state + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "firstName": first_name, + "lastName": last_name, + "email": email, + "company": company, + "line1": line1, + "city": city, + "country": country, + "zip": zip_, + "vatNumber": vat_number, + } + ) + if state is not UNSET: + field_dict["state"] = state + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + first_name = d.pop("firstName") + + last_name = d.pop("lastName") + + email = d.pop("email") + + company = d.pop("company") + + line1 = d.pop("line1") + + city = d.pop("city") + + country = d.pop("country") + + zip_ = d.pop("zip") + + vat_number = d.pop("vatNumber") + + state = d.pop("state", UNSET) + + billing_address = cls( + first_name=first_name, + last_name=last_name, + email=email, + company=company, + line1=line1, + city=city, + country=country, + zip_=zip_, + vat_number=vat_number, + state=state, + ) + + return billing_address diff --git a/exasol/saas/client/openapi/models/billing_address_status.py b/exasol/saas/client/openapi/models/billing_address_status.py new file mode 100644 index 00000000..6509d4a6 --- /dev/null +++ b/exasol/saas/client/openapi/models/billing_address_status.py @@ -0,0 +1,11 @@ +from enum import Enum + + +class BillingAddressStatus(str, Enum): + INVALID = "invalid" + NOT_VALIDATED = "not_validated" + PARTIALLY_VALID = "partially_valid" + VALID = "valid" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/billing_customer.py b/exasol/saas/client/openapi/models/billing_customer.py new file mode 100644 index 00000000..e554cf74 --- /dev/null +++ b/exasol/saas/client/openapi/models/billing_customer.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="BillingCustomer") + + +@_attrs_define +class BillingCustomer: + """ + Attributes: + company (str): + country (str): + """ + + company: str + country: str + + def to_dict(self) -> dict[str, Any]: + company = self.company + + country = self.country + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "company": company, + "country": country, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + company = d.pop("company") + + country = d.pop("country") + + billing_customer = cls( + company=company, + country=country, + ) + + return billing_customer diff --git a/exasol/saas/client/openapi/models/billing_information.py b/exasol/saas/client/openapi/models/billing_information.py new file mode 100644 index 00000000..93d35280 --- /dev/null +++ b/exasol/saas/client/openapi/models/billing_information.py @@ -0,0 +1,111 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..types import ( + UNSET, + Unset, +) + +if TYPE_CHECKING: + from ..models.billing_customer import BillingCustomer + from ..models.billing_information_address import BillingInformationAddress + from ..models.billing_information_credit_card import BillingInformationCreditCard + + +T = TypeVar("T", bound="BillingInformation") + + +@_attrs_define +class BillingInformation: + """ + Attributes: + optional_billing (bool): + billing_address (BillingInformationAddress | Unset): + card (BillingInformationCreditCard | Unset): + customer (BillingCustomer | Unset): + """ + + optional_billing: bool + billing_address: BillingInformationAddress | Unset = UNSET + card: BillingInformationCreditCard | Unset = UNSET + customer: BillingCustomer | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + optional_billing = self.optional_billing + + billing_address: dict[str, Any] | Unset = UNSET + if not isinstance(self.billing_address, Unset): + billing_address = self.billing_address.to_dict() + + card: dict[str, Any] | Unset = UNSET + if not isinstance(self.card, Unset): + card = self.card.to_dict() + + customer: dict[str, Any] | Unset = UNSET + if not isinstance(self.customer, Unset): + customer = self.customer.to_dict() + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "optionalBilling": optional_billing, + } + ) + if billing_address is not UNSET: + field_dict["billingAddress"] = billing_address + if card is not UNSET: + field_dict["card"] = card + if customer is not UNSET: + field_dict["customer"] = customer + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.billing_customer import BillingCustomer + from ..models.billing_information_address import BillingInformationAddress + from ..models.billing_information_credit_card import ( + BillingInformationCreditCard, + ) + + d = dict(src_dict) + optional_billing = d.pop("optionalBilling") + + _billing_address = d.pop("billingAddress", UNSET) + billing_address: BillingInformationAddress | Unset + if isinstance(_billing_address, Unset): + billing_address = UNSET + else: + billing_address = BillingInformationAddress.from_dict(_billing_address) + + _card = d.pop("card", UNSET) + card: BillingInformationCreditCard | Unset + if isinstance(_card, Unset): + card = UNSET + else: + card = BillingInformationCreditCard.from_dict(_card) + + _customer = d.pop("customer", UNSET) + customer: BillingCustomer | Unset + if isinstance(_customer, Unset): + customer = UNSET + else: + customer = BillingCustomer.from_dict(_customer) + + billing_information = cls( + optional_billing=optional_billing, + billing_address=billing_address, + card=card, + customer=customer, + ) + + return billing_information diff --git a/exasol/saas/client/openapi/models/billing_information_address.py b/exasol/saas/client/openapi/models/billing_information_address.py new file mode 100644 index 00000000..61a8681d --- /dev/null +++ b/exasol/saas/client/openapi/models/billing_information_address.py @@ -0,0 +1,133 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..models.billing_address_status import BillingAddressStatus +from ..types import ( + UNSET, + Unset, +) + +T = TypeVar("T", bound="BillingInformationAddress") + + +@_attrs_define +class BillingInformationAddress: + """ + Attributes: + first_name (str): + last_name (str): + email (str): + company (str): + line1 (str): + city (str): + country (str): + zip_ (str): + validation_status (BillingAddressStatus): + state (str | Unset): + vat_number (str | Unset): + """ + + first_name: str + last_name: str + email: str + company: str + line1: str + city: str + country: str + zip_: str + validation_status: BillingAddressStatus + state: str | Unset = UNSET + vat_number: str | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + first_name = self.first_name + + last_name = self.last_name + + email = self.email + + company = self.company + + line1 = self.line1 + + city = self.city + + country = self.country + + zip_ = self.zip_ + + validation_status = self.validation_status.value + + state = self.state + + vat_number = self.vat_number + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "firstName": first_name, + "lastName": last_name, + "email": email, + "company": company, + "line1": line1, + "city": city, + "country": country, + "zip": zip_, + "validationStatus": validation_status, + } + ) + if state is not UNSET: + field_dict["state"] = state + if vat_number is not UNSET: + field_dict["vatNumber"] = vat_number + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + first_name = d.pop("firstName") + + last_name = d.pop("lastName") + + email = d.pop("email") + + company = d.pop("company") + + line1 = d.pop("line1") + + city = d.pop("city") + + country = d.pop("country") + + zip_ = d.pop("zip") + + validation_status = BillingAddressStatus(d.pop("validationStatus")) + + state = d.pop("state", UNSET) + + vat_number = d.pop("vatNumber", UNSET) + + billing_information_address = cls( + first_name=first_name, + last_name=last_name, + email=email, + company=company, + line1=line1, + city=city, + country=country, + zip_=zip_, + validation_status=validation_status, + state=state, + vat_number=vat_number, + ) + + return billing_information_address diff --git a/exasol/saas/client/openapi/models/billing_information_credit_card.py b/exasol/saas/client/openapi/models/billing_information_credit_card.py new file mode 100644 index 00000000..e99e7cdc --- /dev/null +++ b/exasol/saas/client/openapi/models/billing_information_credit_card.py @@ -0,0 +1,105 @@ +from __future__ import annotations + +import datetime +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from dateutil.parser import isoparse + +from ..models.credit_card_status import CreditCardStatus + +T = TypeVar("T", bound="BillingInformationCreditCard") + + +@_attrs_define +class BillingInformationCreditCard: + """ + Attributes: + created_at (datetime.datetime): + updated_at (datetime.datetime): + status (CreditCardStatus): + masked_number (str): + last4 (str): + brand (str): + expiry_year (int): + expiry_month (int): + """ + + created_at: datetime.datetime + updated_at: datetime.datetime + status: CreditCardStatus + masked_number: str + last4: str + brand: str + expiry_year: int + expiry_month: int + + def to_dict(self) -> dict[str, Any]: + created_at = self.created_at.isoformat() + + updated_at = self.updated_at.isoformat() + + status = self.status.value + + masked_number = self.masked_number + + last4 = self.last4 + + brand = self.brand + + expiry_year = self.expiry_year + + expiry_month = self.expiry_month + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "createdAt": created_at, + "updatedAt": updated_at, + "status": status, + "maskedNumber": masked_number, + "last4": last4, + "brand": brand, + "expiryYear": expiry_year, + "expiryMonth": expiry_month, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + created_at = isoparse(d.pop("createdAt")) + + updated_at = isoparse(d.pop("updatedAt")) + + status = CreditCardStatus(d.pop("status")) + + masked_number = d.pop("maskedNumber") + + last4 = d.pop("last4") + + brand = d.pop("brand") + + expiry_year = d.pop("expiryYear") + + expiry_month = d.pop("expiryMonth") + + billing_information_credit_card = cls( + created_at=created_at, + updated_at=updated_at, + status=status, + masked_number=masked_number, + last4=last4, + brand=brand, + expiry_year=expiry_year, + expiry_month=expiry_month, + ) + + return billing_information_credit_card diff --git a/exasol/saas/client/openapi/models/billing_invoice_link.py b/exasol/saas/client/openapi/models/billing_invoice_link.py new file mode 100644 index 00000000..831052f8 --- /dev/null +++ b/exasol/saas/client/openapi/models/billing_invoice_link.py @@ -0,0 +1,45 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="BillingInvoiceLink") + + +@_attrs_define +class BillingInvoiceLink: + """ + Attributes: + link (str): + """ + + link: str + + def to_dict(self) -> dict[str, Any]: + link = self.link + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "link": link, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + link = d.pop("link") + + billing_invoice_link = cls( + link=link, + ) + + return billing_invoice_link diff --git a/exasol/saas/client/openapi/models/case_priority.py b/exasol/saas/client/openapi/models/case_priority.py new file mode 100644 index 00000000..e1207144 --- /dev/null +++ b/exasol/saas/client/openapi/models/case_priority.py @@ -0,0 +1,11 @@ +from enum import Enum + + +class CasePriority(str, Enum): + CRITICAL = "critical" + MAJOR = "major" + MINOR = "minor" + NORMAL = "normal" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/case_type.py b/exasol/saas/client/openapi/models/case_type.py new file mode 100644 index 00000000..a9102e56 --- /dev/null +++ b/exasol/saas/client/openapi/models/case_type.py @@ -0,0 +1,9 @@ +from enum import Enum + + +class CaseType(str, Enum): + INCIDENT = "incident" + QUESTION = "question" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/change_edition.py b/exasol/saas/client/openapi/models/change_edition.py new file mode 100644 index 00000000..fb720735 --- /dev/null +++ b/exasol/saas/client/openapi/models/change_edition.py @@ -0,0 +1,47 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..models.account_edition import AccountEdition + +T = TypeVar("T", bound="ChangeEdition") + + +@_attrs_define +class ChangeEdition: + """ + Attributes: + edition (AccountEdition): + """ + + edition: AccountEdition + + def to_dict(self) -> dict[str, Any]: + edition = self.edition.value + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "edition": edition, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + edition = AccountEdition(d.pop("edition")) + + change_edition = cls( + edition=edition, + ) + + return change_edition diff --git a/exasol/saas/client/openapi/models/chargebee.py b/exasol/saas/client/openapi/models/chargebee.py new file mode 100644 index 00000000..a95e9fc5 --- /dev/null +++ b/exasol/saas/client/openapi/models/chargebee.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="Chargebee") + + +@_attrs_define +class Chargebee: + """ + Attributes: + site (str): + api_key (str): + """ + + site: str + api_key: str + + def to_dict(self) -> dict[str, Any]: + site = self.site + + api_key = self.api_key + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "site": site, + "apiKey": api_key, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + site = d.pop("site") + + api_key = d.pop("apiKey") + + chargebee = cls( + site=site, + api_key=api_key, + ) + + return chargebee diff --git a/exasol/saas/client/openapi/models/checks.py b/exasol/saas/client/openapi/models/checks.py new file mode 100644 index 00000000..e3f96b81 --- /dev/null +++ b/exasol/saas/client/openapi/models/checks.py @@ -0,0 +1,139 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, + cast, +) + +from attrs import define as _attrs_define + +from ..types import ( + UNSET, + Unset, +) + +if TYPE_CHECKING: + from ..models.checks_links import ChecksLinks + + +T = TypeVar("T", bound="Checks") + + +@_attrs_define +class Checks: + """ + Attributes: + status (str): + component_id (str | Unset): + component_type (str | Unset): + observed_value (Any | Unset): + observed_unit (str | Unset): + affected_endpoints (list[str] | Unset): + time (str | Unset): + output (str | Unset): + links (ChecksLinks | Unset): + """ + + status: str + component_id: str | Unset = UNSET + component_type: str | Unset = UNSET + observed_value: Any | Unset = UNSET + observed_unit: str | Unset = UNSET + affected_endpoints: list[str] | Unset = UNSET + time: str | Unset = UNSET + output: str | Unset = UNSET + links: ChecksLinks | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + status = self.status + + component_id = self.component_id + + component_type = self.component_type + + observed_value = self.observed_value + + observed_unit = self.observed_unit + + affected_endpoints: list[str] | Unset = UNSET + if not isinstance(self.affected_endpoints, Unset): + affected_endpoints = self.affected_endpoints + + time = self.time + + output = self.output + + links: dict[str, Any] | Unset = UNSET + if not isinstance(self.links, Unset): + links = self.links.to_dict() + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "status": status, + } + ) + if component_id is not UNSET: + field_dict["componentId"] = component_id + if component_type is not UNSET: + field_dict["componentType"] = component_type + if observed_value is not UNSET: + field_dict["observedValue"] = observed_value + if observed_unit is not UNSET: + field_dict["observedUnit"] = observed_unit + if affected_endpoints is not UNSET: + field_dict["affectedEndpoints"] = affected_endpoints + if time is not UNSET: + field_dict["time"] = time + if output is not UNSET: + field_dict["output"] = output + if links is not UNSET: + field_dict["links"] = links + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.checks_links import ChecksLinks + + d = dict(src_dict) + status = d.pop("status") + + component_id = d.pop("componentId", UNSET) + + component_type = d.pop("componentType", UNSET) + + observed_value = d.pop("observedValue", UNSET) + + observed_unit = d.pop("observedUnit", UNSET) + + affected_endpoints = cast(list[str], d.pop("affectedEndpoints", UNSET)) + + time = d.pop("time", UNSET) + + output = d.pop("output", UNSET) + + _links = d.pop("links", UNSET) + links: ChecksLinks | Unset + if isinstance(_links, Unset): + links = UNSET + else: + links = ChecksLinks.from_dict(_links) + + checks = cls( + status=status, + component_id=component_id, + component_type=component_type, + observed_value=observed_value, + observed_unit=observed_unit, + affected_endpoints=affected_endpoints, + time=time, + output=output, + links=links, + ) + + return checks diff --git a/exasol/saas/client/openapi/models/checks_links.py b/exasol/saas/client/openapi/models/checks_links.py new file mode 100644 index 00000000..3cc4203a --- /dev/null +++ b/exasol/saas/client/openapi/models/checks_links.py @@ -0,0 +1,50 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from attrs import field as _attrs_field + +T = TypeVar("T", bound="ChecksLinks") + + +@_attrs_define +class ChecksLinks: + """ """ + + additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict) + + def to_dict(self) -> dict[str, Any]: + + field_dict: dict[str, Any] = {} + field_dict.update(self.additional_properties) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + checks_links = cls() + + checks_links.additional_properties = d + return checks_links + + @property + def additional_keys(self) -> list[str]: + return list(self.additional_properties.keys()) + + def __getitem__(self, key: str) -> str: + return self.additional_properties[key] + + def __setitem__(self, key: str, value: str) -> None: + self.additional_properties[key] = value + + def __delitem__(self, key: str) -> None: + del self.additional_properties[key] + + def __contains__(self, key: str) -> bool: + return key in self.additional_properties diff --git a/exasol/saas/client/openapi/models/cluster_connection.py b/exasol/saas/client/openapi/models/cluster_connection.py index 8faea8a7..7418701f 100644 --- a/exasol/saas/client/openapi/models/cluster_connection.py +++ b/exasol/saas/client/openapi/models/cluster_connection.py @@ -10,7 +10,7 @@ from attrs import define as _attrs_define if TYPE_CHECKING: - from ..models.connection_i_ps import ConnectionIPs + from ..models.cluster_connection_ips import ClusterConnectionIps T = TypeVar("T", bound="ClusterConnection") @@ -23,14 +23,14 @@ class ClusterConnection: dns (str): port (int): jdbc (str): - ips (ConnectionIPs): + ips (ClusterConnectionIps): db_username (str): """ dns: str port: int jdbc: str - ips: ConnectionIPs + ips: ClusterConnectionIps db_username: str def to_dict(self) -> dict[str, Any]: @@ -60,7 +60,7 @@ def to_dict(self) -> dict[str, Any]: @classmethod def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - from ..models.connection_i_ps import ConnectionIPs + from ..models.cluster_connection_ips import ClusterConnectionIps d = dict(src_dict) dns = d.pop("dns") @@ -69,7 +69,7 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: jdbc = d.pop("jdbc") - ips = ConnectionIPs.from_dict(d.pop("ips")) + ips = ClusterConnectionIps.from_dict(d.pop("ips")) db_username = d.pop("dbUsername") diff --git a/exasol/saas/client/openapi/models/cluster_connection_ips.py b/exasol/saas/client/openapi/models/cluster_connection_ips.py new file mode 100644 index 00000000..05d2ffc8 --- /dev/null +++ b/exasol/saas/client/openapi/models/cluster_connection_ips.py @@ -0,0 +1,54 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, + cast, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="ClusterConnectionIps") + + +@_attrs_define +class ClusterConnectionIps: + """ + Attributes: + private (list[str]): + public (list[str]): + """ + + private: list[str] + public: list[str] + + def to_dict(self) -> dict[str, Any]: + private = self.private + + public = self.public + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "private": private, + "public": public, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + private = cast(list[str], d.pop("private")) + + public = cast(list[str], d.pop("public")) + + cluster_connection_ips = cls( + private=private, + public=public, + ) + + return cluster_connection_ips diff --git a/exasol/saas/client/openapi/models/cluster_size.py b/exasol/saas/client/openapi/models/cluster_size.py new file mode 100644 index 00000000..e4e6d62c --- /dev/null +++ b/exasol/saas/client/openapi/models/cluster_size.py @@ -0,0 +1,85 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="ClusterSize") + + +@_attrs_define +class ClusterSize: + """ + Attributes: + size (str): + price (float): + vcpu (float): + ram (float): + is_default (bool): + name (str): + """ + + size: str + price: float + vcpu: float + ram: float + is_default: bool + name: str + + def to_dict(self) -> dict[str, Any]: + size = self.size + + price = self.price + + vcpu = self.vcpu + + ram = self.ram + + is_default = self.is_default + + name = self.name + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "size": size, + "price": price, + "vcpu": vcpu, + "ram": ram, + "isDefault": is_default, + "name": name, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + size = d.pop("size") + + price = d.pop("price") + + vcpu = d.pop("vcpu") + + ram = d.pop("ram") + + is_default = d.pop("isDefault") + + name = d.pop("name") + + cluster_size = cls( + size=size, + price=price, + vcpu=vcpu, + ram=ram, + is_default=is_default, + name=name, + ) + + return cluster_size diff --git a/exasol/saas/client/openapi/models/config.py b/exasol/saas/client/openapi/models/config.py new file mode 100644 index 00000000..da7d6e76 --- /dev/null +++ b/exasol/saas/client/openapi/models/config.py @@ -0,0 +1,144 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..types import ( + UNSET, + Unset, +) + +if TYPE_CHECKING: + from ..models.auth_0 import Auth0 + from ..models.chargebee import Chargebee + from ..models.config_features import ConfigFeatures + from ..models.tracking import Tracking + + +T = TypeVar("T", bound="Config") + + +@_attrs_define +class Config: + """ + Attributes: + signup_url (str): + pat_url (str): + recaptcha_key (str): + features (ConfigFeatures): + tracking (Tracking | Unset): + chargebee (Chargebee | Unset): + auth_0_application (Auth0 | Unset): + needs_invitation_key (bool | Unset): + """ + + signup_url: str + pat_url: str + recaptcha_key: str + features: ConfigFeatures + tracking: Tracking | Unset = UNSET + chargebee: Chargebee | Unset = UNSET + auth_0_application: Auth0 | Unset = UNSET + needs_invitation_key: bool | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + signup_url = self.signup_url + + pat_url = self.pat_url + + recaptcha_key = self.recaptcha_key + + features = self.features.to_dict() + + tracking: dict[str, Any] | Unset = UNSET + if not isinstance(self.tracking, Unset): + tracking = self.tracking.to_dict() + + chargebee: dict[str, Any] | Unset = UNSET + if not isinstance(self.chargebee, Unset): + chargebee = self.chargebee.to_dict() + + auth_0_application: dict[str, Any] | Unset = UNSET + if not isinstance(self.auth_0_application, Unset): + auth_0_application = self.auth_0_application.to_dict() + + needs_invitation_key = self.needs_invitation_key + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "signupUrl": signup_url, + "patUrl": pat_url, + "recaptchaKey": recaptcha_key, + "features": features, + } + ) + if tracking is not UNSET: + field_dict["tracking"] = tracking + if chargebee is not UNSET: + field_dict["chargebee"] = chargebee + if auth_0_application is not UNSET: + field_dict["auth0Application"] = auth_0_application + if needs_invitation_key is not UNSET: + field_dict["needsInvitationKey"] = needs_invitation_key + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.auth_0 import Auth0 + from ..models.chargebee import Chargebee + from ..models.config_features import ConfigFeatures + from ..models.tracking import Tracking + + d = dict(src_dict) + signup_url = d.pop("signupUrl") + + pat_url = d.pop("patUrl") + + recaptcha_key = d.pop("recaptchaKey") + + features = ConfigFeatures.from_dict(d.pop("features")) + + _tracking = d.pop("tracking", UNSET) + tracking: Tracking | Unset + if isinstance(_tracking, Unset): + tracking = UNSET + else: + tracking = Tracking.from_dict(_tracking) + + _chargebee = d.pop("chargebee", UNSET) + chargebee: Chargebee | Unset + if isinstance(_chargebee, Unset): + chargebee = UNSET + else: + chargebee = Chargebee.from_dict(_chargebee) + + _auth_0_application = d.pop("auth0Application", UNSET) + auth_0_application: Auth0 | Unset + if isinstance(_auth_0_application, Unset): + auth_0_application = UNSET + else: + auth_0_application = Auth0.from_dict(_auth_0_application) + + needs_invitation_key = d.pop("needsInvitationKey", UNSET) + + config = cls( + signup_url=signup_url, + pat_url=pat_url, + recaptcha_key=recaptcha_key, + features=features, + tracking=tracking, + chargebee=chargebee, + auth_0_application=auth_0_application, + needs_invitation_key=needs_invitation_key, + ) + + return config diff --git a/exasol/saas/client/openapi/models/config_features.py b/exasol/saas/client/openapi/models/config_features.py new file mode 100644 index 00000000..fed25372 --- /dev/null +++ b/exasol/saas/client/openapi/models/config_features.py @@ -0,0 +1,50 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from attrs import field as _attrs_field + +T = TypeVar("T", bound="ConfigFeatures") + + +@_attrs_define +class ConfigFeatures: + """ """ + + additional_properties: dict[str, bool] = _attrs_field(init=False, factory=dict) + + def to_dict(self) -> dict[str, Any]: + + field_dict: dict[str, Any] = {} + field_dict.update(self.additional_properties) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + config_features = cls() + + config_features.additional_properties = d + return config_features + + @property + def additional_keys(self) -> list[str]: + return list(self.additional_properties.keys()) + + def __getitem__(self, key: str) -> bool: + return self.additional_properties[key] + + def __setitem__(self, key: str, value: bool) -> None: + self.additional_properties[key] = value + + def __delitem__(self, key: str) -> None: + del self.additional_properties[key] + + def __contains__(self, key: str) -> bool: + return key in self.additional_properties diff --git a/exasol/saas/client/openapi/models/create_extension_instance_request.py b/exasol/saas/client/openapi/models/create_extension_instance_request.py new file mode 100644 index 00000000..ff4858a3 --- /dev/null +++ b/exasol/saas/client/openapi/models/create_extension_instance_request.py @@ -0,0 +1,62 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +if TYPE_CHECKING: + from ..models.extension_parameter_value import ExtensionParameterValue + + +T = TypeVar("T", bound="CreateExtensionInstanceRequest") + + +@_attrs_define +class CreateExtensionInstanceRequest: + """ + Attributes: + parameter_values (list[ExtensionParameterValue]): + """ + + parameter_values: list[ExtensionParameterValue] + + def to_dict(self) -> dict[str, Any]: + parameter_values = [] + for parameter_values_item_data in self.parameter_values: + parameter_values_item = parameter_values_item_data.to_dict() + parameter_values.append(parameter_values_item) + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "parameterValues": parameter_values, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.extension_parameter_value import ExtensionParameterValue + + d = dict(src_dict) + parameter_values = [] + _parameter_values = d.pop("parameterValues") + for parameter_values_item_data in _parameter_values: + parameter_values_item = ExtensionParameterValue.from_dict( + parameter_values_item_data + ) + + parameter_values.append(parameter_values_item) + + create_extension_instance_request = cls( + parameter_values=parameter_values, + ) + + return create_extension_instance_request diff --git a/exasol/saas/client/openapi/models/create_extension_instance_response.py b/exasol/saas/client/openapi/models/create_extension_instance_response.py new file mode 100644 index 00000000..badc5a02 --- /dev/null +++ b/exasol/saas/client/openapi/models/create_extension_instance_response.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="CreateExtensionInstanceResponse") + + +@_attrs_define +class CreateExtensionInstanceResponse: + """ + Attributes: + instance_id (str): + instance_name (str): + """ + + instance_id: str + instance_name: str + + def to_dict(self) -> dict[str, Any]: + instance_id = self.instance_id + + instance_name = self.instance_name + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "instanceId": instance_id, + "instanceName": instance_name, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + instance_id = d.pop("instanceId") + + instance_name = d.pop("instanceName") + + create_extension_instance_response = cls( + instance_id=instance_id, + instance_name=instance_name, + ) + + return create_extension_instance_response diff --git a/exasol/saas/client/openapi/models/create_invitation.py b/exasol/saas/client/openapi/models/create_invitation.py new file mode 100644 index 00000000..5acae909 --- /dev/null +++ b/exasol/saas/client/openapi/models/create_invitation.py @@ -0,0 +1,94 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..types import ( + UNSET, + Unset, +) + +if TYPE_CHECKING: + from ..models.worksheet_connection import WorksheetConnection + + +T = TypeVar("T", bound="CreateInvitation") + + +@_attrs_define +class CreateInvitation: + """ + Attributes: + email (str): + role_id (str): + db_username (str): + databases (list[WorksheetConnection] | Unset): + """ + + email: str + role_id: str + db_username: str + databases: list[WorksheetConnection] | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + email = self.email + + role_id = self.role_id + + db_username = self.db_username + + databases: list[dict[str, Any]] | Unset = UNSET + if not isinstance(self.databases, Unset): + databases = [] + for databases_item_data in self.databases: + databases_item = databases_item_data.to_dict() + databases.append(databases_item) + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "email": email, + "roleID": role_id, + "dbUsername": db_username, + } + ) + if databases is not UNSET: + field_dict["databases"] = databases + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.worksheet_connection import WorksheetConnection + + d = dict(src_dict) + email = d.pop("email") + + role_id = d.pop("roleID") + + db_username = d.pop("dbUsername") + + _databases = d.pop("databases", UNSET) + databases: list[WorksheetConnection] | Unset = UNSET + if _databases is not UNSET: + databases = [] + for databases_item_data in _databases: + databases_item = WorksheetConnection.from_dict(databases_item_data) + + databases.append(databases_item) + + create_invitation = cls( + email=email, + role_id=role_id, + db_username=db_username, + databases=databases, + ) + + return create_invitation diff --git a/exasol/saas/client/openapi/models/create_schedule.py b/exasol/saas/client/openapi/models/create_schedule.py new file mode 100644 index 00000000..2dfe49f0 --- /dev/null +++ b/exasol/saas/client/openapi/models/create_schedule.py @@ -0,0 +1,68 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +if TYPE_CHECKING: + from ..models.create_schedule_payload import CreateSchedulePayload + + +T = TypeVar("T", bound="CreateSchedule") + + +@_attrs_define +class CreateSchedule: + """ + Attributes: + action (str): + cron_rule (str): + payload (CreateSchedulePayload): + """ + + action: str + cron_rule: str + payload: CreateSchedulePayload + + def to_dict(self) -> dict[str, Any]: + action = self.action + + cron_rule = self.cron_rule + + payload = self.payload.to_dict() + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "action": action, + "cronRule": cron_rule, + "payload": payload, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.create_schedule_payload import CreateSchedulePayload + + d = dict(src_dict) + action = d.pop("action") + + cron_rule = d.pop("cronRule") + + payload = CreateSchedulePayload.from_dict(d.pop("payload")) + + create_schedule = cls( + action=action, + cron_rule=cron_rule, + payload=payload, + ) + + return create_schedule diff --git a/exasol/saas/client/openapi/models/create_schedule_payload.py b/exasol/saas/client/openapi/models/create_schedule_payload.py new file mode 100644 index 00000000..4366d8ba --- /dev/null +++ b/exasol/saas/client/openapi/models/create_schedule_payload.py @@ -0,0 +1,50 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from attrs import field as _attrs_field + +T = TypeVar("T", bound="CreateSchedulePayload") + + +@_attrs_define +class CreateSchedulePayload: + """ """ + + additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) + + def to_dict(self) -> dict[str, Any]: + + field_dict: dict[str, Any] = {} + field_dict.update(self.additional_properties) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + create_schedule_payload = cls() + + create_schedule_payload.additional_properties = d + return create_schedule_payload + + @property + def additional_keys(self) -> list[str]: + return list(self.additional_properties.keys()) + + def __getitem__(self, key: str) -> Any: + return self.additional_properties[key] + + def __setitem__(self, key: str, value: Any) -> None: + self.additional_properties[key] = value + + def __delitem__(self, key: str) -> None: + del self.additional_properties[key] + + def __contains__(self, key: str) -> bool: + return key in self.additional_properties diff --git a/exasol/saas/client/openapi/models/create_support_case.py b/exasol/saas/client/openapi/models/create_support_case.py new file mode 100644 index 00000000..c3ef199e --- /dev/null +++ b/exasol/saas/client/openapi/models/create_support_case.py @@ -0,0 +1,92 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..models.case_priority import CasePriority +from ..models.case_type import CaseType +from ..types import ( + UNSET, + Unset, +) + +T = TypeVar("T", bound="CreateSupportCase") + + +@_attrs_define +class CreateSupportCase: + """ + Attributes: + case_type (CaseType): + subject (str): + description (str): + emails (str): + priority (CasePriority | Unset): Priority of the case. critical = 1, major = 2, normal = 3, minor = 4 + """ + + case_type: CaseType + subject: str + description: str + emails: str + priority: CasePriority | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + case_type = self.case_type.value + + subject = self.subject + + description = self.description + + emails = self.emails + + priority: str | Unset = UNSET + if not isinstance(self.priority, Unset): + priority = self.priority.value + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "caseType": case_type, + "subject": subject, + "description": description, + "emails": emails, + } + ) + if priority is not UNSET: + field_dict["priority"] = priority + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + case_type = CaseType(d.pop("caseType")) + + subject = d.pop("subject") + + description = d.pop("description") + + emails = d.pop("emails") + + _priority = d.pop("priority", UNSET) + priority: CasePriority | Unset + if isinstance(_priority, Unset): + priority = UNSET + else: + priority = CasePriority(_priority) + + create_support_case = cls( + case_type=case_type, + subject=subject, + description=description, + emails=emails, + priority=priority, + ) + + return create_support_case diff --git a/exasol/saas/client/openapi/models/create_worksheet.py b/exasol/saas/client/openapi/models/create_worksheet.py new file mode 100644 index 00000000..4bf94ac9 --- /dev/null +++ b/exasol/saas/client/openapi/models/create_worksheet.py @@ -0,0 +1,69 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="CreateWorksheet") + + +@_attrs_define +class CreateWorksheet: + """ + Attributes: + name (str): + content (str): + database_id (str): + cluster_id (str): + """ + + name: str + content: str + database_id: str + cluster_id: str + + def to_dict(self) -> dict[str, Any]: + name = self.name + + content = self.content + + database_id = self.database_id + + cluster_id = self.cluster_id + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "name": name, + "content": content, + "databaseId": database_id, + "clusterId": cluster_id, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + name = d.pop("name") + + content = d.pop("content") + + database_id = d.pop("databaseId") + + cluster_id = d.pop("clusterId") + + create_worksheet = cls( + name=name, + content=content, + database_id=database_id, + cluster_id=cluster_id, + ) + + return create_worksheet diff --git a/exasol/saas/client/openapi/models/credit_card.py b/exasol/saas/client/openapi/models/credit_card.py new file mode 100644 index 00000000..2e62208b --- /dev/null +++ b/exasol/saas/client/openapi/models/credit_card.py @@ -0,0 +1,103 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..models.credit_card_status import CreditCardStatus + +T = TypeVar("T", bound="CreditCard") + + +@_attrs_define +class CreditCard: + """ + Attributes: + id (str): + status (CreditCardStatus): + masked_number (str): + last4 (str): + brand (str): + expire_year (int): + expire_month (int): + is_primary (bool): + """ + + id: str + status: CreditCardStatus + masked_number: str + last4: str + brand: str + expire_year: int + expire_month: int + is_primary: bool + + def to_dict(self) -> dict[str, Any]: + id = self.id + + status = self.status.value + + masked_number = self.masked_number + + last4 = self.last4 + + brand = self.brand + + expire_year = self.expire_year + + expire_month = self.expire_month + + is_primary = self.is_primary + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + "status": status, + "maskedNumber": masked_number, + "last4": last4, + "brand": brand, + "expireYear": expire_year, + "expireMonth": expire_month, + "isPrimary": is_primary, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + id = d.pop("id") + + status = CreditCardStatus(d.pop("status")) + + masked_number = d.pop("maskedNumber") + + last4 = d.pop("last4") + + brand = d.pop("brand") + + expire_year = d.pop("expireYear") + + expire_month = d.pop("expireMonth") + + is_primary = d.pop("isPrimary") + + credit_card = cls( + id=id, + status=status, + masked_number=masked_number, + last4=last4, + brand=brand, + expire_year=expire_year, + expire_month=expire_month, + is_primary=is_primary, + ) + + return credit_card diff --git a/exasol/saas/client/openapi/models/credit_card_status.py b/exasol/saas/client/openapi/models/credit_card_status.py new file mode 100644 index 00000000..c037ac32 --- /dev/null +++ b/exasol/saas/client/openapi/models/credit_card_status.py @@ -0,0 +1,10 @@ +from enum import Enum + + +class CreditCardStatus(str, Enum): + EXPIRED = "expired" + EXPIRING = "expiring" + VALID = "valid" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/credits_.py b/exasol/saas/client/openapi/models/credits_.py new file mode 100644 index 00000000..e0cbd7b3 --- /dev/null +++ b/exasol/saas/client/openapi/models/credits_.py @@ -0,0 +1,61 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="Credits") + + +@_attrs_define +class Credits: + """ + Attributes: + credit (float): + usage (float): + total_usage (float): + """ + + credit: float + usage: float + total_usage: float + + def to_dict(self) -> dict[str, Any]: + credit = self.credit + + usage = self.usage + + total_usage = self.total_usage + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "credit": credit, + "usage": usage, + "totalUsage": total_usage, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + credit = d.pop("credit") + + usage = d.pop("usage") + + total_usage = d.pop("totalUsage") + + credits_ = cls( + credit=credit, + usage=usage, + total_usage=total_usage, + ) + + return credits_ diff --git a/exasol/saas/client/openapi/models/email_validation.py b/exasol/saas/client/openapi/models/email_validation.py new file mode 100644 index 00000000..5754b51c --- /dev/null +++ b/exasol/saas/client/openapi/models/email_validation.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="EmailValidation") + + +@_attrs_define +class EmailValidation: + """ + Attributes: + is_valid (bool): + is_university (bool): + """ + + is_valid: bool + is_university: bool + + def to_dict(self) -> dict[str, Any]: + is_valid = self.is_valid + + is_university = self.is_university + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "isValid": is_valid, + "isUniversity": is_university, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + is_valid = d.pop("isValid") + + is_university = d.pop("isUniversity") + + email_validation = cls( + is_valid=is_valid, + is_university=is_university, + ) + + return email_validation diff --git a/exasol/saas/client/openapi/models/event_integration.py b/exasol/saas/client/openapi/models/event_integration.py new file mode 100644 index 00000000..81f590d8 --- /dev/null +++ b/exasol/saas/client/openapi/models/event_integration.py @@ -0,0 +1,64 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from attrs import field as _attrs_field + +T = TypeVar("T", bound="EventIntegration") + + +@_attrs_define +class EventIntegration: + """ + Attributes: + event (str): + """ + + event: str + additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) + + def to_dict(self) -> dict[str, Any]: + event = self.event + + field_dict: dict[str, Any] = {} + field_dict.update(self.additional_properties) + field_dict.update( + { + "event": event, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + event = d.pop("event") + + event_integration = cls( + event=event, + ) + + event_integration.additional_properties = d + return event_integration + + @property + def additional_keys(self) -> list[str]: + return list(self.additional_properties.keys()) + + def __getitem__(self, key: str) -> Any: + return self.additional_properties[key] + + def __setitem__(self, key: str, value: Any) -> None: + self.additional_properties[key] = value + + def __delitem__(self, key: str) -> None: + del self.additional_properties[key] + + def __contains__(self, key: str) -> bool: + return key in self.additional_properties diff --git a/exasol/saas/client/openapi/models/file_openapi.py b/exasol/saas/client/openapi/models/file_openapi.py new file mode 100644 index 00000000..7d51cba2 --- /dev/null +++ b/exasol/saas/client/openapi/models/file_openapi.py @@ -0,0 +1,106 @@ +from __future__ import annotations + +import datetime +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from dateutil.parser import isoparse + +from ..types import ( + UNSET, + Unset, +) + +T = TypeVar("T", bound="FileOpenapi") + + +@_attrs_define +class FileOpenapi: + """ + Attributes: + name (str): + type_ (str): + path (str): + last_modified (datetime.datetime): + size (int | Unset): + children (list[FileOpenapi] | Unset): + """ + + name: str + type_: str + path: str + last_modified: datetime.datetime + size: int | Unset = UNSET + children: list[FileOpenapi] | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + name = self.name + + type_ = self.type_ + + path = self.path + + last_modified = self.last_modified.isoformat() + + size = self.size + + children: list[dict[str, Any]] | Unset = UNSET + if not isinstance(self.children, Unset): + children = [] + for children_item_data in self.children: + children_item = children_item_data.to_dict() + children.append(children_item) + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "name": name, + "type": type_, + "path": path, + "lastModified": last_modified, + } + ) + if size is not UNSET: + field_dict["size"] = size + if children is not UNSET: + field_dict["children"] = children + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + name = d.pop("name") + + type_ = d.pop("type") + + path = d.pop("path") + + last_modified = isoparse(d.pop("lastModified")) + + size = d.pop("size", UNSET) + + _children = d.pop("children", UNSET) + children: list[FileOpenapi] | Unset = UNSET + if _children is not UNSET: + children = [] + for children_item_data in _children: + children_item = FileOpenapi.from_dict(children_item_data) + + children.append(children_item) + + file_openapi = cls( + name=name, + type_=type_, + path=path, + last_modified=last_modified, + size=size, + children=children, + ) + + return file_openapi diff --git a/exasol/saas/client/openapi/models/health.py b/exasol/saas/client/openapi/models/health.py new file mode 100644 index 00000000..36adfcea --- /dev/null +++ b/exasol/saas/client/openapi/models/health.py @@ -0,0 +1,148 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, + cast, +) + +from attrs import define as _attrs_define + +from ..types import ( + UNSET, + Unset, +) + +if TYPE_CHECKING: + from ..models.health_checks import HealthChecks + from ..models.health_links import HealthLinks + + +T = TypeVar("T", bound="Health") + + +@_attrs_define +class Health: + """ + Attributes: + status (str): + version (str | Unset): + release_id (str | Unset): + notes (list[str] | Unset): + output (str | Unset): + checks (HealthChecks | Unset): + links (HealthLinks | Unset): + service_id (str | Unset): + description (str | Unset): + """ + + status: str + version: str | Unset = UNSET + release_id: str | Unset = UNSET + notes: list[str] | Unset = UNSET + output: str | Unset = UNSET + checks: HealthChecks | Unset = UNSET + links: HealthLinks | Unset = UNSET + service_id: str | Unset = UNSET + description: str | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + status = self.status + + version = self.version + + release_id = self.release_id + + notes: list[str] | Unset = UNSET + if not isinstance(self.notes, Unset): + notes = self.notes + + output = self.output + + checks: dict[str, Any] | Unset = UNSET + if not isinstance(self.checks, Unset): + checks = self.checks.to_dict() + + links: dict[str, Any] | Unset = UNSET + if not isinstance(self.links, Unset): + links = self.links.to_dict() + + service_id = self.service_id + + description = self.description + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "status": status, + } + ) + if version is not UNSET: + field_dict["version"] = version + if release_id is not UNSET: + field_dict["releaseId"] = release_id + if notes is not UNSET: + field_dict["notes"] = notes + if output is not UNSET: + field_dict["output"] = output + if checks is not UNSET: + field_dict["checks"] = checks + if links is not UNSET: + field_dict["links"] = links + if service_id is not UNSET: + field_dict["serviceId"] = service_id + if description is not UNSET: + field_dict["description"] = description + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.health_checks import HealthChecks + from ..models.health_links import HealthLinks + + d = dict(src_dict) + status = d.pop("status") + + version = d.pop("version", UNSET) + + release_id = d.pop("releaseId", UNSET) + + notes = cast(list[str], d.pop("notes", UNSET)) + + output = d.pop("output", UNSET) + + _checks = d.pop("checks", UNSET) + checks: HealthChecks | Unset + if isinstance(_checks, Unset): + checks = UNSET + else: + checks = HealthChecks.from_dict(_checks) + + _links = d.pop("links", UNSET) + links: HealthLinks | Unset + if isinstance(_links, Unset): + links = UNSET + else: + links = HealthLinks.from_dict(_links) + + service_id = d.pop("serviceId", UNSET) + + description = d.pop("description", UNSET) + + health = cls( + status=status, + version=version, + release_id=release_id, + notes=notes, + output=output, + checks=checks, + links=links, + service_id=service_id, + description=description, + ) + + return health diff --git a/exasol/saas/client/openapi/models/health_checks.py b/exasol/saas/client/openapi/models/health_checks.py new file mode 100644 index 00000000..c8cee533 --- /dev/null +++ b/exasol/saas/client/openapi/models/health_checks.py @@ -0,0 +1,76 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from attrs import field as _attrs_field + +if TYPE_CHECKING: + from ..models.checks import Checks + + +T = TypeVar("T", bound="HealthChecks") + + +@_attrs_define +class HealthChecks: + """ """ + + additional_properties: dict[str, list[Checks]] = _attrs_field( + init=False, factory=dict + ) + + def to_dict(self) -> dict[str, Any]: + + field_dict: dict[str, Any] = {} + for prop_name, prop in self.additional_properties.items(): + field_dict[prop_name] = [] + for additional_property_item_data in prop: + additional_property_item = additional_property_item_data.to_dict() + field_dict[prop_name].append(additional_property_item) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.checks import Checks + + d = dict(src_dict) + health_checks = cls() + + additional_properties = {} + for prop_name, prop_dict in d.items(): + additional_property = [] + _additional_property = prop_dict + for additional_property_item_data in _additional_property: + additional_property_item = Checks.from_dict( + additional_property_item_data + ) + + additional_property.append(additional_property_item) + + additional_properties[prop_name] = additional_property + + health_checks.additional_properties = additional_properties + return health_checks + + @property + def additional_keys(self) -> list[str]: + return list(self.additional_properties.keys()) + + def __getitem__(self, key: str) -> list[Checks]: + return self.additional_properties[key] + + def __setitem__(self, key: str, value: list[Checks]) -> None: + self.additional_properties[key] = value + + def __delitem__(self, key: str) -> None: + del self.additional_properties[key] + + def __contains__(self, key: str) -> bool: + return key in self.additional_properties diff --git a/exasol/saas/client/openapi/models/health_links.py b/exasol/saas/client/openapi/models/health_links.py new file mode 100644 index 00000000..1213f342 --- /dev/null +++ b/exasol/saas/client/openapi/models/health_links.py @@ -0,0 +1,50 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from attrs import field as _attrs_field + +T = TypeVar("T", bound="HealthLinks") + + +@_attrs_define +class HealthLinks: + """ """ + + additional_properties: dict[str, str] = _attrs_field(init=False, factory=dict) + + def to_dict(self) -> dict[str, Any]: + + field_dict: dict[str, Any] = {} + field_dict.update(self.additional_properties) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + health_links = cls() + + health_links.additional_properties = d + return health_links + + @property + def additional_keys(self) -> list[str]: + return list(self.additional_properties.keys()) + + def __getitem__(self, key: str) -> str: + return self.additional_properties[key] + + def __setitem__(self, key: str, value: str) -> None: + self.additional_properties[key] = value + + def __delitem__(self, key: str) -> None: + del self.additional_properties[key] + + def __contains__(self, key: str) -> bool: + return key in self.additional_properties diff --git a/exasol/saas/client/openapi/models/id_name.py b/exasol/saas/client/openapi/models/id_name.py new file mode 100644 index 00000000..b92daf7b --- /dev/null +++ b/exasol/saas/client/openapi/models/id_name.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="IdName") + + +@_attrs_define +class IdName: + """ + Attributes: + name (str): + id (str): + """ + + name: str + id: str + + def to_dict(self) -> dict[str, Any]: + name = self.name + + id = self.id + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "name": name, + "id": id, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + name = d.pop("name") + + id = d.pop("id") + + id_name = cls( + name=name, + id=id, + ) + + return id_name diff --git a/exasol/saas/client/openapi/models/invitation.py b/exasol/saas/client/openapi/models/invitation.py new file mode 100644 index 00000000..b7d7ad54 --- /dev/null +++ b/exasol/saas/client/openapi/models/invitation.py @@ -0,0 +1,156 @@ +from __future__ import annotations + +import datetime +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from dateutil.parser import isoparse + +from ..types import ( + UNSET, + Unset, +) + +if TYPE_CHECKING: + from ..models.invitation_invitee import InvitationInvitee + from ..models.invitation_inviter import InvitationInviter + from ..models.worksheet_connection import WorksheetConnection + + +T = TypeVar("T", bound="Invitation") + + +@_attrs_define +class Invitation: + """ + Attributes: + id (str): + organization_id (str): + inviter (InvitationInviter): + invitee (InvitationInvitee): + invitation_url (str): + created_at (datetime.datetime): + expires_at (str): + roles (list[WorksheetConnection]): + db_username (str): + databases (list[WorksheetConnection] | Unset): + """ + + id: str + organization_id: str + inviter: InvitationInviter + invitee: InvitationInvitee + invitation_url: str + created_at: datetime.datetime + expires_at: str + roles: list[WorksheetConnection] + db_username: str + databases: list[WorksheetConnection] | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + id = self.id + + organization_id = self.organization_id + + inviter = self.inviter.to_dict() + + invitee = self.invitee.to_dict() + + invitation_url = self.invitation_url + + created_at = self.created_at.isoformat() + + expires_at = self.expires_at + + roles = [] + for roles_item_data in self.roles: + roles_item = roles_item_data.to_dict() + roles.append(roles_item) + + db_username = self.db_username + + databases: list[dict[str, Any]] | Unset = UNSET + if not isinstance(self.databases, Unset): + databases = [] + for databases_item_data in self.databases: + databases_item = databases_item_data.to_dict() + databases.append(databases_item) + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + "organizationId": organization_id, + "inviter": inviter, + "invitee": invitee, + "invitationUrl": invitation_url, + "createdAt": created_at, + "expiresAt": expires_at, + "roles": roles, + "dbUsername": db_username, + } + ) + if databases is not UNSET: + field_dict["databases"] = databases + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.invitation_invitee import InvitationInvitee + from ..models.invitation_inviter import InvitationInviter + from ..models.worksheet_connection import WorksheetConnection + + d = dict(src_dict) + id = d.pop("id") + + organization_id = d.pop("organizationId") + + inviter = InvitationInviter.from_dict(d.pop("inviter")) + + invitee = InvitationInvitee.from_dict(d.pop("invitee")) + + invitation_url = d.pop("invitationUrl") + + created_at = isoparse(d.pop("createdAt")) + + expires_at = d.pop("expiresAt") + + roles = [] + _roles = d.pop("roles") + for roles_item_data in _roles: + roles_item = WorksheetConnection.from_dict(roles_item_data) + + roles.append(roles_item) + + db_username = d.pop("dbUsername") + + _databases = d.pop("databases", UNSET) + databases: list[WorksheetConnection] | Unset = UNSET + if _databases is not UNSET: + databases = [] + for databases_item_data in _databases: + databases_item = WorksheetConnection.from_dict(databases_item_data) + + databases.append(databases_item) + + invitation = cls( + id=id, + organization_id=organization_id, + inviter=inviter, + invitee=invitee, + invitation_url=invitation_url, + created_at=created_at, + expires_at=expires_at, + roles=roles, + db_username=db_username, + databases=databases, + ) + + return invitation diff --git a/exasol/saas/client/openapi/models/invitation_invitee.py b/exasol/saas/client/openapi/models/invitation_invitee.py new file mode 100644 index 00000000..e80e0fd3 --- /dev/null +++ b/exasol/saas/client/openapi/models/invitation_invitee.py @@ -0,0 +1,45 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="InvitationInvitee") + + +@_attrs_define +class InvitationInvitee: + """ + Attributes: + email (str): + """ + + email: str + + def to_dict(self) -> dict[str, Any]: + email = self.email + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "email": email, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + email = d.pop("email") + + invitation_invitee = cls( + email=email, + ) + + return invitation_invitee diff --git a/exasol/saas/client/openapi/models/invitation_inviter.py b/exasol/saas/client/openapi/models/invitation_inviter.py new file mode 100644 index 00000000..f84c91bc --- /dev/null +++ b/exasol/saas/client/openapi/models/invitation_inviter.py @@ -0,0 +1,45 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="InvitationInviter") + + +@_attrs_define +class InvitationInviter: + """ + Attributes: + name (str): + """ + + name: str + + def to_dict(self) -> dict[str, Any]: + name = self.name + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "name": name, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + name = d.pop("name") + + invitation_inviter = cls( + name=name, + ) + + return invitation_inviter diff --git a/exasol/saas/client/openapi/models/invoice.py b/exasol/saas/client/openapi/models/invoice.py new file mode 100644 index 00000000..326b8d98 --- /dev/null +++ b/exasol/saas/client/openapi/models/invoice.py @@ -0,0 +1,131 @@ +from __future__ import annotations + +import datetime +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from dateutil.parser import isoparse + +from ..models.invoice_dunning_status import InvoiceDunningStatus +from ..models.invoice_price_type import InvoicePriceType +from ..models.invoice_status import InvoiceStatus + +T = TypeVar("T", bound="Invoice") + + +@_attrs_define +class Invoice: + """ + Attributes: + amount_paid (int): + credits_applied (int): + amount_due (int): + currency_code (str): + paid_on (datetime.datetime): + date (datetime.datetime): + due_date (datetime.datetime): + id (str): + status (InvoiceStatus): + dunning_status (InvoiceDunningStatus): + price_type (InvoicePriceType): + """ + + amount_paid: int + credits_applied: int + amount_due: int + currency_code: str + paid_on: datetime.datetime + date: datetime.datetime + due_date: datetime.datetime + id: str + status: InvoiceStatus + dunning_status: InvoiceDunningStatus + price_type: InvoicePriceType + + def to_dict(self) -> dict[str, Any]: + amount_paid = self.amount_paid + + credits_applied = self.credits_applied + + amount_due = self.amount_due + + currency_code = self.currency_code + + paid_on = self.paid_on.isoformat() + + date = self.date.isoformat() + + due_date = self.due_date.isoformat() + + id = self.id + + status = self.status.value + + dunning_status = self.dunning_status.value + + price_type = self.price_type.value + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "amountPaid": amount_paid, + "creditsApplied": credits_applied, + "amountDue": amount_due, + "currencyCode": currency_code, + "paidOn": paid_on, + "date": date, + "dueDate": due_date, + "id": id, + "status": status, + "dunningStatus": dunning_status, + "priceType": price_type, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + amount_paid = d.pop("amountPaid") + + credits_applied = d.pop("creditsApplied") + + amount_due = d.pop("amountDue") + + currency_code = d.pop("currencyCode") + + paid_on = isoparse(d.pop("paidOn")) + + date = isoparse(d.pop("date")) + + due_date = isoparse(d.pop("dueDate")) + + id = d.pop("id") + + status = InvoiceStatus(d.pop("status")) + + dunning_status = InvoiceDunningStatus(d.pop("dunningStatus")) + + price_type = InvoicePriceType(d.pop("priceType")) + + invoice = cls( + amount_paid=amount_paid, + credits_applied=credits_applied, + amount_due=amount_due, + currency_code=currency_code, + paid_on=paid_on, + date=date, + due_date=due_date, + id=id, + status=status, + dunning_status=dunning_status, + price_type=price_type, + ) + + return invoice diff --git a/exasol/saas/client/openapi/models/invoice_dunning_status.py b/exasol/saas/client/openapi/models/invoice_dunning_status.py new file mode 100644 index 00000000..0dfabc96 --- /dev/null +++ b/exasol/saas/client/openapi/models/invoice_dunning_status.py @@ -0,0 +1,11 @@ +from enum import Enum + + +class InvoiceDunningStatus(str, Enum): + EXHAUSTED = "exhausted" + IN_PROGRESS = "in_progress" + STOPPED = "stopped" + SUCCESS = "success" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/invoice_price_type.py b/exasol/saas/client/openapi/models/invoice_price_type.py new file mode 100644 index 00000000..65f2193b --- /dev/null +++ b/exasol/saas/client/openapi/models/invoice_price_type.py @@ -0,0 +1,9 @@ +from enum import Enum + + +class InvoicePriceType(str, Enum): + TAX_EXCLUSIVE = "tax_exclusive" + TAX_INCLUSIVE = "tax_inclusive" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/invoice_status.py b/exasol/saas/client/openapi/models/invoice_status.py new file mode 100644 index 00000000..3b49ef8d --- /dev/null +++ b/exasol/saas/client/openapi/models/invoice_status.py @@ -0,0 +1,12 @@ +from enum import Enum + + +class InvoiceStatus(str, Enum): + NOT_PAID = "not_paid" + PAID = "paid" + PAYMENT_DUE = "payment_due" + PENDING = "pending" + VOIDED = "voided" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/keboola.py b/exasol/saas/client/openapi/models/keboola.py new file mode 100644 index 00000000..0cf0c548 --- /dev/null +++ b/exasol/saas/client/openapi/models/keboola.py @@ -0,0 +1,68 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +if TYPE_CHECKING: + from ..models.id_name import IdName + + +T = TypeVar("T", bound="Keboola") + + +@_attrs_define +class Keboola: + """ + Attributes: + cluster (IdName): + database (IdName): + email (str): + """ + + cluster: IdName + database: IdName + email: str + + def to_dict(self) -> dict[str, Any]: + cluster = self.cluster.to_dict() + + database = self.database.to_dict() + + email = self.email + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "cluster": cluster, + "database": database, + "email": email, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.id_name import IdName + + d = dict(src_dict) + cluster = IdName.from_dict(d.pop("cluster")) + + database = IdName.from_dict(d.pop("database")) + + email = d.pop("email") + + keboola = cls( + cluster=cluster, + database=database, + email=email, + ) + + return keboola diff --git a/exasol/saas/client/openapi/models/keboola_result.py b/exasol/saas/client/openapi/models/keboola_result.py new file mode 100644 index 00000000..c3c9d027 --- /dev/null +++ b/exasol/saas/client/openapi/models/keboola_result.py @@ -0,0 +1,85 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="KeboolaResult") + + +@_attrs_define +class KeboolaResult: + """ + Attributes: + exa_host (str): + exa_port (str): + exa_user_name (str): + db_name (str): + exa_password (str): + email (str): + """ + + exa_host: str + exa_port: str + exa_user_name: str + db_name: str + exa_password: str + email: str + + def to_dict(self) -> dict[str, Any]: + exa_host = self.exa_host + + exa_port = self.exa_port + + exa_user_name = self.exa_user_name + + db_name = self.db_name + + exa_password = self.exa_password + + email = self.email + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "exaHost": exa_host, + "exaPort": exa_port, + "exaUserName": exa_user_name, + "dbName": db_name, + "exaPassword": exa_password, + "email": email, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + exa_host = d.pop("exaHost") + + exa_port = d.pop("exaPort") + + exa_user_name = d.pop("exaUserName") + + db_name = d.pop("dbName") + + exa_password = d.pop("exaPassword") + + email = d.pop("email") + + keboola_result = cls( + exa_host=exa_host, + exa_port=exa_port, + exa_user_name=exa_user_name, + db_name=db_name, + exa_password=exa_password, + email=email, + ) + + return keboola_result diff --git a/exasol/saas/client/openapi/models/limits.py b/exasol/saas/client/openapi/models/limits.py new file mode 100644 index 00000000..e8b619ff --- /dev/null +++ b/exasol/saas/client/openapi/models/limits.py @@ -0,0 +1,62 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, + cast, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="Limits") + + +@_attrs_define +class Limits: + """ + Attributes: + worker_clusters (int): + databases (int): + cluster_sizes (list[str]): + """ + + worker_clusters: int + databases: int + cluster_sizes: list[str] + + def to_dict(self) -> dict[str, Any]: + worker_clusters = self.worker_clusters + + databases = self.databases + + cluster_sizes = self.cluster_sizes + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "workerClusters": worker_clusters, + "databases": databases, + "clusterSizes": cluster_sizes, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + worker_clusters = d.pop("workerClusters") + + databases = d.pop("databases") + + cluster_sizes = cast(list[str], d.pop("clusterSizes")) + + limits = cls( + worker_clusters=worker_clusters, + databases=databases, + cluster_sizes=cluster_sizes, + ) + + return limits diff --git a/exasol/saas/client/openapi/models/cluster_size_1.py b/exasol/saas/client/openapi/models/list_cluster_sizes_response_200_item.py similarity index 89% rename from exasol/saas/client/openapi/models/cluster_size_1.py rename to exasol/saas/client/openapi/models/list_cluster_sizes_response_200_item.py index 65023f06..d464eaae 100644 --- a/exasol/saas/client/openapi/models/cluster_size_1.py +++ b/exasol/saas/client/openapi/models/list_cluster_sizes_response_200_item.py @@ -13,11 +13,11 @@ Unset, ) -T = TypeVar("T", bound="ClusterSize1") +T = TypeVar("T", bound="ListClusterSizesResponse200Item") @_attrs_define -class ClusterSize1: +class ListClusterSizesResponse200Item: """ Attributes: size (str): @@ -86,7 +86,7 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: family = d.pop("family", UNSET) - cluster_size_1 = cls( + list_cluster_sizes_response_200_item = cls( size=size, price=price, vcpu=vcpu, @@ -96,4 +96,4 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: family=family, ) - return cluster_size_1 + return list_cluster_sizes_response_200_item diff --git a/exasol/saas/client/openapi/models/my_ip.py b/exasol/saas/client/openapi/models/my_ip.py new file mode 100644 index 00000000..300fa19e --- /dev/null +++ b/exasol/saas/client/openapi/models/my_ip.py @@ -0,0 +1,45 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="MyIP") + + +@_attrs_define +class MyIP: + """ + Attributes: + ip (str): + """ + + ip: str + + def to_dict(self) -> dict[str, Any]: + ip = self.ip + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "ip": ip, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + ip = d.pop("ip") + + my_ip = cls( + ip=ip, + ) + + return my_ip diff --git a/exasol/saas/client/openapi/models/payment_attempt.py b/exasol/saas/client/openapi/models/payment_attempt.py new file mode 100644 index 00000000..2f351747 --- /dev/null +++ b/exasol/saas/client/openapi/models/payment_attempt.py @@ -0,0 +1,101 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="PaymentAttempt") + + +@_attrs_define +class PaymentAttempt: + """ + Attributes: + status (str): + type_ (str): + active (bool): + id_at_gateway (str): + action_payload (Any): + error_code (str): + error_text (str): + error_msg (str): + """ + + status: str + type_: str + active: bool + id_at_gateway: str + action_payload: Any + error_code: str + error_text: str + error_msg: str + + def to_dict(self) -> dict[str, Any]: + status = self.status + + type_ = self.type_ + + active = self.active + + id_at_gateway = self.id_at_gateway + + action_payload = self.action_payload + + error_code = self.error_code + + error_text = self.error_text + + error_msg = self.error_msg + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "status": status, + "type": type_, + "active": active, + "id_at_gateway": id_at_gateway, + "action_payload": action_payload, + "error_code": error_code, + "error_text": error_text, + "error_msg": error_msg, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + status = d.pop("status") + + type_ = d.pop("type") + + active = d.pop("active") + + id_at_gateway = d.pop("id_at_gateway") + + action_payload = d.pop("action_payload") + + error_code = d.pop("error_code") + + error_text = d.pop("error_text") + + error_msg = d.pop("error_msg") + + payment_attempt = cls( + status=status, + type_=type_, + active=active, + id_at_gateway=id_at_gateway, + action_payload=action_payload, + error_code=error_code, + error_text=error_text, + error_msg=error_msg, + ) + + return payment_attempt diff --git a/exasol/saas/client/openapi/models/payment_intent.py b/exasol/saas/client/openapi/models/payment_intent.py new file mode 100644 index 00000000..dfc2dae5 --- /dev/null +++ b/exasol/saas/client/openapi/models/payment_intent.py @@ -0,0 +1,158 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +if TYPE_CHECKING: + from ..models.payment_attempt import PaymentAttempt + + +T = TypeVar("T", bound="PaymentIntent") + + +@_attrs_define +class PaymentIntent: + """ + Attributes: + id (str): + status (str): + amount (int): + currency_code (str): + gateway_account_id (str): + gateway (str): + active_payment_attempttype (PaymentAttempt): + customer_idtype (str): + reference_idtype (str): + expires_at (int): + created_at (int): + modified_at (int): + object_ (str): + payment_method_type (str): + """ + + id: str + status: str + amount: int + currency_code: str + gateway_account_id: str + gateway: str + active_payment_attempttype: PaymentAttempt + customer_idtype: str + reference_idtype: str + expires_at: int + created_at: int + modified_at: int + object_: str + payment_method_type: str + + def to_dict(self) -> dict[str, Any]: + id = self.id + + status = self.status + + amount = self.amount + + currency_code = self.currency_code + + gateway_account_id = self.gateway_account_id + + gateway = self.gateway + + active_payment_attempttype = self.active_payment_attempttype.to_dict() + + customer_idtype = self.customer_idtype + + reference_idtype = self.reference_idtype + + expires_at = self.expires_at + + created_at = self.created_at + + modified_at = self.modified_at + + object_ = self.object_ + + payment_method_type = self.payment_method_type + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + "status": status, + "amount": amount, + "currency_code": currency_code, + "gateway_account_id": gateway_account_id, + "gateway": gateway, + "active_payment_attempttype": active_payment_attempttype, + "customer_idtype": customer_idtype, + "reference_idtype": reference_idtype, + "expires_at": expires_at, + "created_at": created_at, + "modified_at": modified_at, + "object": object_, + "payment_method_type": payment_method_type, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.payment_attempt import PaymentAttempt + + d = dict(src_dict) + id = d.pop("id") + + status = d.pop("status") + + amount = d.pop("amount") + + currency_code = d.pop("currency_code") + + gateway_account_id = d.pop("gateway_account_id") + + gateway = d.pop("gateway") + + active_payment_attempttype = PaymentAttempt.from_dict( + d.pop("active_payment_attempttype") + ) + + customer_idtype = d.pop("customer_idtype") + + reference_idtype = d.pop("reference_idtype") + + expires_at = d.pop("expires_at") + + created_at = d.pop("created_at") + + modified_at = d.pop("modified_at") + + object_ = d.pop("object") + + payment_method_type = d.pop("payment_method_type") + + payment_intent = cls( + id=id, + status=status, + amount=amount, + currency_code=currency_code, + gateway_account_id=gateway_account_id, + gateway=gateway, + active_payment_attempttype=active_payment_attempttype, + customer_idtype=customer_idtype, + reference_idtype=reference_idtype, + expires_at=expires_at, + created_at=created_at, + modified_at=modified_at, + object_=object_, + payment_method_type=payment_method_type, + ) + + return payment_intent diff --git a/exasol/saas/client/openapi/models/proxy.py b/exasol/saas/client/openapi/models/proxy.py new file mode 100644 index 00000000..6d647ac0 --- /dev/null +++ b/exasol/saas/client/openapi/models/proxy.py @@ -0,0 +1,50 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from attrs import field as _attrs_field + +T = TypeVar("T", bound="Proxy") + + +@_attrs_define +class Proxy: + """ """ + + additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) + + def to_dict(self) -> dict[str, Any]: + + field_dict: dict[str, Any] = {} + field_dict.update(self.additional_properties) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + proxy = cls() + + proxy.additional_properties = d + return proxy + + @property + def additional_keys(self) -> list[str]: + return list(self.additional_properties.keys()) + + def __getitem__(self, key: str) -> Any: + return self.additional_properties[key] + + def __setitem__(self, key: str, value: Any) -> None: + self.additional_properties[key] = value + + def __delitem__(self, key: str) -> None: + del self.additional_properties[key] + + def __contains__(self, key: str) -> bool: + return key in self.additional_properties diff --git a/exasol/saas/client/openapi/models/register.py b/exasol/saas/client/openapi/models/register.py new file mode 100644 index 00000000..19ac00ee --- /dev/null +++ b/exasol/saas/client/openapi/models/register.py @@ -0,0 +1,100 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..models.register_signup_path import RegisterSignupPath +from ..types import ( + UNSET, + Unset, +) + +T = TypeVar("T", bound="Register") + + +@_attrs_define +class Register: + """ + Attributes: + identifier (str): + company (str): + country (str): + email (str): + invitation (str | Unset): + signup_path (RegisterSignupPath | Unset): + """ + + identifier: str + company: str + country: str + email: str + invitation: str | Unset = UNSET + signup_path: RegisterSignupPath | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + identifier = self.identifier + + company = self.company + + country = self.country + + email = self.email + + invitation = self.invitation + + signup_path: str | Unset = UNSET + if not isinstance(self.signup_path, Unset): + signup_path = self.signup_path.value + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "identifier": identifier, + "company": company, + "country": country, + "email": email, + } + ) + if invitation is not UNSET: + field_dict["invitation"] = invitation + if signup_path is not UNSET: + field_dict["signupPath"] = signup_path + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + identifier = d.pop("identifier") + + company = d.pop("company") + + country = d.pop("country") + + email = d.pop("email") + + invitation = d.pop("invitation", UNSET) + + _signup_path = d.pop("signupPath", UNSET) + signup_path: RegisterSignupPath | Unset + if isinstance(_signup_path, Unset): + signup_path = UNSET + else: + signup_path = RegisterSignupPath(_signup_path) + + register = cls( + identifier=identifier, + company=company, + country=country, + email=email, + invitation=invitation, + signup_path=signup_path, + ) + + return register diff --git a/exasol/saas/client/openapi/models/register_result.py b/exasol/saas/client/openapi/models/register_result.py new file mode 100644 index 00000000..7c2faec4 --- /dev/null +++ b/exasol/saas/client/openapi/models/register_result.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="RegisterResult") + + +@_attrs_define +class RegisterResult: + """ + Attributes: + account_id (str): + invitation_url (str): + """ + + account_id: str + invitation_url: str + + def to_dict(self) -> dict[str, Any]: + account_id = self.account_id + + invitation_url = self.invitation_url + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "accountId": account_id, + "invitationUrl": invitation_url, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + account_id = d.pop("accountId") + + invitation_url = d.pop("invitationUrl") + + register_result = cls( + account_id=account_id, + invitation_url=invitation_url, + ) + + return register_result diff --git a/exasol/saas/client/openapi/models/register_signup_path.py b/exasol/saas/client/openapi/models/register_signup_path.py new file mode 100644 index 00000000..075c6e05 --- /dev/null +++ b/exasol/saas/client/openapi/models/register_signup_path.py @@ -0,0 +1,10 @@ +from enum import Enum + + +class RegisterSignupPath(str, Enum): + LAKEHOUSE_TURBO_SIGNUP = "lakehouse-turbo-signup" + SIGNUP = "signup" + VALUE_0 = "" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/role.py b/exasol/saas/client/openapi/models/role.py new file mode 100644 index 00000000..4ca3068a --- /dev/null +++ b/exasol/saas/client/openapi/models/role.py @@ -0,0 +1,134 @@ +from __future__ import annotations + +import datetime +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from dateutil.parser import isoparse + +from ..models.scope import Scope +from ..types import ( + UNSET, + Unset, +) + +T = TypeVar("T", bound="Role") + + +@_attrs_define +class Role: + """ + Attributes: + id (str): + created_at (datetime.datetime): + created_by (str): + name (str): + description (str): + scopes (list[Scope]): + custom (bool): + deleted_by (str | Unset): + deleted_at (datetime.datetime | Unset): + """ + + id: str + created_at: datetime.datetime + created_by: str + name: str + description: str + scopes: list[Scope] + custom: bool + deleted_by: str | Unset = UNSET + deleted_at: datetime.datetime | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + id = self.id + + created_at = self.created_at.isoformat() + + created_by = self.created_by + + name = self.name + + description = self.description + + scopes = [] + for scopes_item_data in self.scopes: + scopes_item = scopes_item_data.value + scopes.append(scopes_item) + + custom = self.custom + + deleted_by = self.deleted_by + + deleted_at: str | Unset = UNSET + if not isinstance(self.deleted_at, Unset): + deleted_at = self.deleted_at.isoformat() + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + "createdAt": created_at, + "createdBy": created_by, + "name": name, + "description": description, + "scopes": scopes, + "custom": custom, + } + ) + if deleted_by is not UNSET: + field_dict["deletedBy"] = deleted_by + if deleted_at is not UNSET: + field_dict["deletedAt"] = deleted_at + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + id = d.pop("id") + + created_at = isoparse(d.pop("createdAt")) + + created_by = d.pop("createdBy") + + name = d.pop("name") + + description = d.pop("description") + + scopes = [] + _scopes = d.pop("scopes") + for scopes_item_data in _scopes: + scopes_item = Scope(scopes_item_data) + + scopes.append(scopes_item) + + custom = d.pop("custom") + + deleted_by = d.pop("deletedBy", UNSET) + + _deleted_at = d.pop("deletedAt", UNSET) + deleted_at: datetime.datetime | Unset + if isinstance(_deleted_at, Unset): + deleted_at = UNSET + else: + deleted_at = isoparse(_deleted_at) + + role = cls( + id=id, + created_at=created_at, + created_by=created_by, + name=name, + description=description, + scopes=scopes, + custom=custom, + deleted_by=deleted_by, + deleted_at=deleted_at, + ) + + return role diff --git a/exasol/saas/client/openapi/models/schedule.py b/exasol/saas/client/openapi/models/schedule.py index 189ce3cc..f04f8e7b 100644 --- a/exasol/saas/client/openapi/models/schedule.py +++ b/exasol/saas/client/openapi/models/schedule.py @@ -10,15 +10,14 @@ from attrs import define as _attrs_define from ..models.schedule_action_type_0 import ScheduleActionType0 -from ..models.schedule_state import ScheduleState from ..types import ( UNSET, Unset, ) if TYPE_CHECKING: - from ..models.cluster_action_scale import ClusterActionScale - from ..models.cluster_action_start_stop import ClusterActionStartStop + from ..models.schedule_payload_type_0 import SchedulePayloadType0 + from ..models.schedule_payload_type_1 import SchedulePayloadType1 T = TypeVar("T", bound="Schedule") @@ -35,8 +34,8 @@ class Schedule: createdby_first_name (str | Unset): createdby_last_name (str | Unset): cluster_name (str | Unset): - payload (ClusterActionScale | ClusterActionStartStop | Unset): - state (ScheduleState | Unset): + payload (SchedulePayloadType0 | SchedulePayloadType1 | Unset): + state (str | Unset): Default: 'ENABLED'. """ action: ScheduleActionType0 @@ -46,11 +45,11 @@ class Schedule: createdby_first_name: str | Unset = UNSET createdby_last_name: str | Unset = UNSET cluster_name: str | Unset = UNSET - payload: ClusterActionScale | ClusterActionStartStop | Unset = UNSET - state: ScheduleState | Unset = UNSET + payload: SchedulePayloadType0 | SchedulePayloadType1 | Unset = UNSET + state: str | Unset = "ENABLED" def to_dict(self) -> dict[str, Any]: - from ..models.cluster_action_scale import ClusterActionScale + from ..models.schedule_payload_type_0 import SchedulePayloadType0 action: str if isinstance(self.action, ScheduleActionType0): @@ -71,14 +70,12 @@ def to_dict(self) -> dict[str, Any]: payload: dict[str, Any] | Unset if isinstance(self.payload, Unset): payload = UNSET - elif isinstance(self.payload, ClusterActionScale): + elif isinstance(self.payload, SchedulePayloadType0): payload = self.payload.to_dict() else: payload = self.payload.to_dict() - state: str | Unset = UNSET - if not isinstance(self.state, Unset): - state = self.state.value + state = self.state field_dict: dict[str, Any] = {} @@ -107,8 +104,8 @@ def to_dict(self) -> dict[str, Any]: @classmethod def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - from ..models.cluster_action_scale import ClusterActionScale - from ..models.cluster_action_start_stop import ClusterActionStartStop + from ..models.schedule_payload_type_0 import SchedulePayloadType0 + from ..models.schedule_payload_type_1 import SchedulePayloadType1 d = dict(src_dict) @@ -135,31 +132,26 @@ def _parse_action(data: object) -> ScheduleActionType0: def _parse_payload( data: object, - ) -> ClusterActionScale | ClusterActionStartStop | Unset: + ) -> SchedulePayloadType0 | SchedulePayloadType1 | Unset: if isinstance(data, Unset): return data try: if not isinstance(data, dict): raise TypeError() - payload_type_0 = ClusterActionScale.from_dict(data) + payload_type_0 = SchedulePayloadType0.from_dict(data) return payload_type_0 except (TypeError, ValueError, AttributeError, KeyError): pass if not isinstance(data, dict): raise TypeError() - payload_type_1 = ClusterActionStartStop.from_dict(data) + payload_type_1 = SchedulePayloadType1.from_dict(data) return payload_type_1 payload = _parse_payload(d.pop("payload", UNSET)) - _state = d.pop("state", UNSET) - state: ScheduleState | Unset - if isinstance(_state, Unset): - state = UNSET - else: - state = ScheduleState(_state) + state = d.pop("state", UNSET) schedule = cls( action=action, diff --git a/exasol/saas/client/openapi/models/schedule_payload_type_0.py b/exasol/saas/client/openapi/models/schedule_payload_type_0.py new file mode 100644 index 00000000..79d1575a --- /dev/null +++ b/exasol/saas/client/openapi/models/schedule_payload_type_0.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="SchedulePayloadType0") + + +@_attrs_define +class SchedulePayloadType0: + """ + Attributes: + cluster_id (str): + size (str): + """ + + cluster_id: str + size: str + + def to_dict(self) -> dict[str, Any]: + cluster_id = self.cluster_id + + size = self.size + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "clusterId": cluster_id, + "size": size, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + cluster_id = d.pop("clusterId") + + size = d.pop("size") + + schedule_payload_type_0 = cls( + cluster_id=cluster_id, + size=size, + ) + + return schedule_payload_type_0 diff --git a/exasol/saas/client/openapi/models/schedule_payload_type_1.py b/exasol/saas/client/openapi/models/schedule_payload_type_1.py new file mode 100644 index 00000000..25353df3 --- /dev/null +++ b/exasol/saas/client/openapi/models/schedule_payload_type_1.py @@ -0,0 +1,45 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="SchedulePayloadType1") + + +@_attrs_define +class SchedulePayloadType1: + """ + Attributes: + cluster_id (str): + """ + + cluster_id: str + + def to_dict(self) -> dict[str, Any]: + cluster_id = self.cluster_id + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "clusterId": cluster_id, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + cluster_id = d.pop("clusterId") + + schedule_payload_type_1 = cls( + cluster_id=cluster_id, + ) + + return schedule_payload_type_1 diff --git a/exasol/saas/client/openapi/models/scope.py b/exasol/saas/client/openapi/models/scope.py new file mode 100644 index 00000000..c22c44ba --- /dev/null +++ b/exasol/saas/client/openapi/models/scope.py @@ -0,0 +1,18 @@ +from enum import Enum + + +class Scope(str, Enum): + BILLINGREAD = "billing:read" + BILLINGWRITE = "billing:write" + DATABASESOPERATE = "databases:operate" + DATABASESUSE = "databases:use" + FILEMANAGEWRITE = "filemanage:write" + INTEGRATIONSWRITE = "integrations:write" + MONITORINGREAD = "monitoring:read" + SECURITYREAD = "security:read" + SECURITYWRITE = "security:write" + USERSREAD = "users:read" + USERSWRITE = "users:write" + + def __str__(self) -> str: + return str(self.value) diff --git a/exasol/saas/client/openapi/models/send_csat.py b/exasol/saas/client/openapi/models/send_csat.py new file mode 100644 index 00000000..38437a70 --- /dev/null +++ b/exasol/saas/client/openapi/models/send_csat.py @@ -0,0 +1,67 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +from ..types import ( + UNSET, + Unset, +) + +T = TypeVar("T", bound="SendCsat") + + +@_attrs_define +class SendCsat: + """ + Attributes: + email (str): + saas_csat_score (float): + saas_csat_comments (str | Unset): + """ + + email: str + saas_csat_score: float + saas_csat_comments: str | Unset = UNSET + + def to_dict(self) -> dict[str, Any]: + email = self.email + + saas_csat_score = self.saas_csat_score + + saas_csat_comments = self.saas_csat_comments + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "email": email, + "saas_csat_score": saas_csat_score, + } + ) + if saas_csat_comments is not UNSET: + field_dict["saas_csat_comments"] = saas_csat_comments + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + email = d.pop("email") + + saas_csat_score = d.pop("saas_csat_score") + + saas_csat_comments = d.pop("saas_csat_comments", UNSET) + + send_csat = cls( + email=email, + saas_csat_score=saas_csat_score, + saas_csat_comments=saas_csat_comments, + ) + + return send_csat diff --git a/exasol/saas/client/openapi/models/status_event_integration.py b/exasol/saas/client/openapi/models/status_event_integration.py new file mode 100644 index 00000000..67c174db --- /dev/null +++ b/exasol/saas/client/openapi/models/status_event_integration.py @@ -0,0 +1,96 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from attrs import field as _attrs_field + +T = TypeVar("T", bound="StatusEventIntegration") + + +@_attrs_define +class StatusEventIntegration: + """ + Attributes: + organization_id (str): + database_id (str): + cluster_id (str): + status (str): + url (str): + """ + + organization_id: str + database_id: str + cluster_id: str + status: str + url: str + additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict) + + def to_dict(self) -> dict[str, Any]: + organization_id = self.organization_id + + database_id = self.database_id + + cluster_id = self.cluster_id + + status = self.status + + url = self.url + + field_dict: dict[str, Any] = {} + field_dict.update(self.additional_properties) + field_dict.update( + { + "organizationId": organization_id, + "databaseId": database_id, + "clusterId": cluster_id, + "status": status, + "url": url, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + organization_id = d.pop("organizationId") + + database_id = d.pop("databaseId") + + cluster_id = d.pop("clusterId") + + status = d.pop("status") + + url = d.pop("url") + + status_event_integration = cls( + organization_id=organization_id, + database_id=database_id, + cluster_id=cluster_id, + status=status, + url=url, + ) + + status_event_integration.additional_properties = d + return status_event_integration + + @property + def additional_keys(self) -> list[str]: + return list(self.additional_properties.keys()) + + def __getitem__(self, key: str) -> Any: + return self.additional_properties[key] + + def __setitem__(self, key: str, value: Any) -> None: + self.additional_properties[key] = value + + def __delitem__(self, key: str) -> None: + del self.additional_properties[key] + + def __contains__(self, key: str) -> bool: + return key in self.additional_properties diff --git a/exasol/saas/client/openapi/models/stream.py b/exasol/saas/client/openapi/models/stream.py new file mode 100644 index 00000000..3620a9b8 --- /dev/null +++ b/exasol/saas/client/openapi/models/stream.py @@ -0,0 +1,61 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="Stream") + + +@_attrs_define +class Stream: + """ + Attributes: + stream_type (str): + name (str): + description (str): + """ + + stream_type: str + name: str + description: str + + def to_dict(self) -> dict[str, Any]: + stream_type = self.stream_type + + name = self.name + + description = self.description + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "stream_type": stream_type, + "name": name, + "description": description, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + stream_type = d.pop("stream_type") + + name = d.pop("name") + + description = d.pop("description") + + stream = cls( + stream_type=stream_type, + name=name, + description=description, + ) + + return stream diff --git a/exasol/saas/client/openapi/models/support.py b/exasol/saas/client/openapi/models/support.py new file mode 100644 index 00000000..5ebd0a17 --- /dev/null +++ b/exasol/saas/client/openapi/models/support.py @@ -0,0 +1,45 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="Support") + + +@_attrs_define +class Support: + """ + Attributes: + id (str): + """ + + id: str + + def to_dict(self) -> dict[str, Any]: + id = self.id + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + id = d.pop("id") + + support = cls( + id=id, + ) + + return support diff --git a/exasol/saas/client/openapi/models/tracking.py b/exasol/saas/client/openapi/models/tracking.py new file mode 100644 index 00000000..7a473e51 --- /dev/null +++ b/exasol/saas/client/openapi/models/tracking.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="Tracking") + + +@_attrs_define +class Tracking: + """ + Attributes: + enabled (bool): + api_key (str): + """ + + enabled: bool + api_key: str + + def to_dict(self) -> dict[str, Any]: + enabled = self.enabled + + api_key = self.api_key + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "enabled": enabled, + "apiKey": api_key, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + enabled = d.pop("enabled") + + api_key = d.pop("apiKey") + + tracking = cls( + enabled=enabled, + api_key=api_key, + ) + + return tracking diff --git a/exasol/saas/client/openapi/models/trial.py b/exasol/saas/client/openapi/models/trial.py new file mode 100644 index 00000000..1d134294 --- /dev/null +++ b/exasol/saas/client/openapi/models/trial.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="Trial") + + +@_attrs_define +class Trial: + """ + Attributes: + expires_at (str): + remaining_credits (float): + """ + + expires_at: str + remaining_credits: float + + def to_dict(self) -> dict[str, Any]: + expires_at = self.expires_at + + remaining_credits = self.remaining_credits + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "expiresAt": expires_at, + "remainingCredits": remaining_credits, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + expires_at = d.pop("expiresAt") + + remaining_credits = d.pop("remainingCredits") + + trial = cls( + expires_at=expires_at, + remaining_credits=remaining_credits, + ) + + return trial diff --git a/exasol/saas/client/openapi/models/get_usage_type.py b/exasol/saas/client/openapi/models/type_.py similarity index 79% rename from exasol/saas/client/openapi/models/get_usage_type.py rename to exasol/saas/client/openapi/models/type_.py index 723f200f..2eb4310a 100644 --- a/exasol/saas/client/openapi/models/get_usage_type.py +++ b/exasol/saas/client/openapi/models/type_.py @@ -1,7 +1,7 @@ from enum import Enum -class GetUsageType(str, Enum): +class Type(str, Enum): CSV = "csv" JSON = "json" diff --git a/exasol/saas/client/openapi/models/update_worksheet.py b/exasol/saas/client/openapi/models/update_worksheet.py new file mode 100644 index 00000000..5ef639e8 --- /dev/null +++ b/exasol/saas/client/openapi/models/update_worksheet.py @@ -0,0 +1,69 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="UpdateWorksheet") + + +@_attrs_define +class UpdateWorksheet: + """ + Attributes: + name (str): + content (str): + database_id (str): + cluster_id (str): + """ + + name: str + content: str + database_id: str + cluster_id: str + + def to_dict(self) -> dict[str, Any]: + name = self.name + + content = self.content + + database_id = self.database_id + + cluster_id = self.cluster_id + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "name": name, + "content": content, + "databaseId": database_id, + "clusterId": cluster_id, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + name = d.pop("name") + + content = d.pop("content") + + database_id = d.pop("databaseId") + + cluster_id = d.pop("clusterId") + + update_worksheet = cls( + name=name, + content=content, + database_id=database_id, + cluster_id=cluster_id, + ) + + return update_worksheet diff --git a/exasol/saas/client/openapi/models/usage.py b/exasol/saas/client/openapi/models/usage.py index b277aba9..68e75acc 100644 --- a/exasol/saas/client/openapi/models/usage.py +++ b/exasol/saas/client/openapi/models/usage.py @@ -11,7 +11,7 @@ from attrs import field as _attrs_field if TYPE_CHECKING: - from ..models.usage_additional_property_item import UsageAdditionalPropertyItem + from ..models.usage_database import UsageDatabase T = TypeVar("T", bound="Usage") @@ -21,7 +21,7 @@ class Usage: """ """ - additional_properties: dict[str, list[UsageAdditionalPropertyItem]] = _attrs_field( + additional_properties: dict[str, list[UsageDatabase]] = _attrs_field( init=False, factory=dict ) @@ -38,7 +38,7 @@ def to_dict(self) -> dict[str, Any]: @classmethod def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - from ..models.usage_additional_property_item import UsageAdditionalPropertyItem + from ..models.usage_database import UsageDatabase d = dict(src_dict) usage = cls() @@ -48,7 +48,7 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: additional_property = [] _additional_property = prop_dict for additional_property_item_data in _additional_property: - additional_property_item = UsageAdditionalPropertyItem.from_dict( + additional_property_item = UsageDatabase.from_dict( additional_property_item_data ) @@ -63,10 +63,10 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: def additional_keys(self) -> list[str]: return list(self.additional_properties.keys()) - def __getitem__(self, key: str) -> list[UsageAdditionalPropertyItem]: + def __getitem__(self, key: str) -> list[UsageDatabase]: return self.additional_properties[key] - def __setitem__(self, key: str, value: list[UsageAdditionalPropertyItem]) -> None: + def __setitem__(self, key: str, value: list[UsageDatabase]) -> None: self.additional_properties[key] = value def __delitem__(self, key: str) -> None: diff --git a/exasol/saas/client/openapi/models/usage_additional_property_item.py b/exasol/saas/client/openapi/models/usage_database.py similarity index 90% rename from exasol/saas/client/openapi/models/usage_additional_property_item.py rename to exasol/saas/client/openapi/models/usage_database.py index 17d88ee6..a68cd3ad 100644 --- a/exasol/saas/client/openapi/models/usage_additional_property_item.py +++ b/exasol/saas/client/openapi/models/usage_database.py @@ -18,11 +18,11 @@ from ..models.usage_cluster import UsageCluster -T = TypeVar("T", bound="UsageAdditionalPropertyItem") +T = TypeVar("T", bound="UsageDatabase") @_attrs_define -class UsageAdditionalPropertyItem: +class UsageDatabase: """ Attributes: id (str): @@ -80,11 +80,11 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: used_storage = d.pop("usedStorage", UNSET) - usage_additional_property_item = cls( + usage_database = cls( id=id, name=name, clusters=clusters, used_storage=used_storage, ) - return usage_additional_property_item + return usage_database diff --git a/exasol/saas/client/openapi/models/user.py b/exasol/saas/client/openapi/models/user.py index 6adbeaec..fed8c40f 100644 --- a/exasol/saas/client/openapi/models/user.py +++ b/exasol/saas/client/openapi/models/user.py @@ -18,8 +18,7 @@ ) if TYPE_CHECKING: - from ..models.user_database import UserDatabase - from ..models.user_role import UserRole + from ..models.worksheet_connection import WorksheetConnection T = TypeVar("T", bound="User") @@ -34,11 +33,11 @@ class User: created_at (datetime.datetime): created_by (str): status (UserStatus): - roles (list[UserRole]): + roles (list[WorksheetConnection]): is_deletable (bool): first_name (str | Unset): last_name (str | Unset): - databases (list[UserDatabase] | Unset): + databases (list[WorksheetConnection] | Unset): db_username (str | Unset): """ @@ -47,11 +46,11 @@ class User: created_at: datetime.datetime created_by: str status: UserStatus - roles: list[UserRole] + roles: list[WorksheetConnection] is_deletable: bool first_name: str | Unset = UNSET last_name: str | Unset = UNSET - databases: list[UserDatabase] | Unset = UNSET + databases: list[WorksheetConnection] | Unset = UNSET db_username: str | Unset = UNSET def to_dict(self) -> dict[str, Any]: @@ -111,8 +110,7 @@ def to_dict(self) -> dict[str, Any]: @classmethod def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: - from ..models.user_database import UserDatabase - from ..models.user_role import UserRole + from ..models.worksheet_connection import WorksheetConnection d = dict(src_dict) email = d.pop("email") @@ -128,7 +126,7 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: roles = [] _roles = d.pop("roles") for roles_item_data in _roles: - roles_item = UserRole.from_dict(roles_item_data) + roles_item = WorksheetConnection.from_dict(roles_item_data) roles.append(roles_item) @@ -139,11 +137,11 @@ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: last_name = d.pop("lastName", UNSET) _databases = d.pop("databases", UNSET) - databases: list[UserDatabase] | Unset = UNSET + databases: list[WorksheetConnection] | Unset = UNSET if _databases is not UNSET: databases = [] for databases_item_data in _databases: - databases_item = UserDatabase.from_dict(databases_item_data) + databases_item = WorksheetConnection.from_dict(databases_item_data) databases.append(databases_item) diff --git a/exasol/saas/client/openapi/models/version.py b/exasol/saas/client/openapi/models/version.py new file mode 100644 index 00000000..3eea39c3 --- /dev/null +++ b/exasol/saas/client/openapi/models/version.py @@ -0,0 +1,45 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="Version") + + +@_attrs_define +class Version: + """ + Attributes: + ui_backend (str): + """ + + ui_backend: str + + def to_dict(self) -> dict[str, Any]: + ui_backend = self.ui_backend + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "ui-backend": ui_backend, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + ui_backend = d.pop("ui-backend") + + version = cls( + ui_backend=ui_backend, + ) + + return version diff --git a/exasol/saas/client/openapi/models/websocket_config.py b/exasol/saas/client/openapi/models/websocket_config.py new file mode 100644 index 00000000..c19e6d1a --- /dev/null +++ b/exasol/saas/client/openapi/models/websocket_config.py @@ -0,0 +1,45 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="WebsocketConfig") + + +@_attrs_define +class WebsocketConfig: + """ + Attributes: + ws_ticket (str): + """ + + ws_ticket: str + + def to_dict(self) -> dict[str, Any]: + ws_ticket = self.ws_ticket + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "wsTicket": ws_ticket, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + ws_ticket = d.pop("wsTicket") + + websocket_config = cls( + ws_ticket=ws_ticket, + ) + + return websocket_config diff --git a/exasol/saas/client/openapi/models/worksheet.py b/exasol/saas/client/openapi/models/worksheet.py new file mode 100644 index 00000000..395996ee --- /dev/null +++ b/exasol/saas/client/openapi/models/worksheet.py @@ -0,0 +1,104 @@ +from __future__ import annotations + +import datetime +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from dateutil.parser import isoparse + +if TYPE_CHECKING: + from ..models.worksheet_cluster import WorksheetCluster + from ..models.worksheet_database import WorksheetDatabase + + +T = TypeVar("T", bound="Worksheet") + + +@_attrs_define +class Worksheet: + """ + Attributes: + content (str): + id (str): + name (str): + database (WorksheetDatabase): + cluster (WorksheetCluster): + created_at (datetime.datetime): + updated_at (datetime.datetime): + """ + + content: str + id: str + name: str + database: WorksheetDatabase + cluster: WorksheetCluster + created_at: datetime.datetime + updated_at: datetime.datetime + + def to_dict(self) -> dict[str, Any]: + content = self.content + + id = self.id + + name = self.name + + database = self.database.to_dict() + + cluster = self.cluster.to_dict() + + created_at = self.created_at.isoformat() + + updated_at = self.updated_at.isoformat() + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "content": content, + "id": id, + "name": name, + "database": database, + "cluster": cluster, + "createdAt": created_at, + "updatedAt": updated_at, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.worksheet_cluster import WorksheetCluster + from ..models.worksheet_database import WorksheetDatabase + + d = dict(src_dict) + content = d.pop("content") + + id = d.pop("id") + + name = d.pop("name") + + database = WorksheetDatabase.from_dict(d.pop("database")) + + cluster = WorksheetCluster.from_dict(d.pop("cluster")) + + created_at = isoparse(d.pop("createdAt")) + + updated_at = isoparse(d.pop("updatedAt")) + + worksheet = cls( + content=content, + id=id, + name=name, + database=database, + cluster=cluster, + created_at=created_at, + updated_at=updated_at, + ) + + return worksheet diff --git a/exasol/saas/client/openapi/models/worksheet_cluster.py b/exasol/saas/client/openapi/models/worksheet_cluster.py new file mode 100644 index 00000000..d0614caa --- /dev/null +++ b/exasol/saas/client/openapi/models/worksheet_cluster.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="WorksheetCluster") + + +@_attrs_define +class WorksheetCluster: + """ + Attributes: + id (str): + name (str): + """ + + id: str + name: str + + def to_dict(self) -> dict[str, Any]: + id = self.id + + name = self.name + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + "name": name, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + id = d.pop("id") + + name = d.pop("name") + + worksheet_cluster = cls( + id=id, + name=name, + ) + + return worksheet_cluster diff --git a/exasol/saas/client/openapi/models/worksheet_connection.py b/exasol/saas/client/openapi/models/worksheet_connection.py new file mode 100644 index 00000000..3f565c63 --- /dev/null +++ b/exasol/saas/client/openapi/models/worksheet_connection.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="WorksheetConnection") + + +@_attrs_define +class WorksheetConnection: + """ + Attributes: + id (str): + name (str): + """ + + id: str + name: str + + def to_dict(self) -> dict[str, Any]: + id = self.id + + name = self.name + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + "name": name, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + id = d.pop("id") + + name = d.pop("name") + + worksheet_connection = cls( + id=id, + name=name, + ) + + return worksheet_connection diff --git a/exasol/saas/client/openapi/models/worksheet_database.py b/exasol/saas/client/openapi/models/worksheet_database.py new file mode 100644 index 00000000..562d66f4 --- /dev/null +++ b/exasol/saas/client/openapi/models/worksheet_database.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="WorksheetDatabase") + + +@_attrs_define +class WorksheetDatabase: + """ + Attributes: + id (str): + name (str): + """ + + id: str + name: str + + def to_dict(self) -> dict[str, Any]: + id = self.id + + name = self.name + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + "name": name, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + id = d.pop("id") + + name = d.pop("name") + + worksheet_database = cls( + id=id, + name=name, + ) + + return worksheet_database diff --git a/exasol/saas/client/openapi/models/worksheet_item.py b/exasol/saas/client/openapi/models/worksheet_item.py new file mode 100644 index 00000000..b2677f0e --- /dev/null +++ b/exasol/saas/client/openapi/models/worksheet_item.py @@ -0,0 +1,96 @@ +from __future__ import annotations + +import datetime +from collections.abc import Mapping +from typing import ( + TYPE_CHECKING, + Any, + TypeVar, +) + +from attrs import define as _attrs_define +from dateutil.parser import isoparse + +if TYPE_CHECKING: + from ..models.worksheet_item_cluster import WorksheetItemCluster + from ..models.worksheet_item_database import WorksheetItemDatabase + + +T = TypeVar("T", bound="WorksheetItem") + + +@_attrs_define +class WorksheetItem: + """ + Attributes: + id (str): + name (str): + database (WorksheetItemDatabase): + cluster (WorksheetItemCluster): + created_at (datetime.datetime): + updated_at (datetime.datetime): + """ + + id: str + name: str + database: WorksheetItemDatabase + cluster: WorksheetItemCluster + created_at: datetime.datetime + updated_at: datetime.datetime + + def to_dict(self) -> dict[str, Any]: + id = self.id + + name = self.name + + database = self.database.to_dict() + + cluster = self.cluster.to_dict() + + created_at = self.created_at.isoformat() + + updated_at = self.updated_at.isoformat() + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + "name": name, + "database": database, + "cluster": cluster, + "createdAt": created_at, + "updatedAt": updated_at, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + from ..models.worksheet_item_cluster import WorksheetItemCluster + from ..models.worksheet_item_database import WorksheetItemDatabase + + d = dict(src_dict) + id = d.pop("id") + + name = d.pop("name") + + database = WorksheetItemDatabase.from_dict(d.pop("database")) + + cluster = WorksheetItemCluster.from_dict(d.pop("cluster")) + + created_at = isoparse(d.pop("createdAt")) + + updated_at = isoparse(d.pop("updatedAt")) + + worksheet_item = cls( + id=id, + name=name, + database=database, + cluster=cluster, + created_at=created_at, + updated_at=updated_at, + ) + + return worksheet_item diff --git a/exasol/saas/client/openapi/models/worksheet_item_cluster.py b/exasol/saas/client/openapi/models/worksheet_item_cluster.py new file mode 100644 index 00000000..59a730ef --- /dev/null +++ b/exasol/saas/client/openapi/models/worksheet_item_cluster.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="WorksheetItemCluster") + + +@_attrs_define +class WorksheetItemCluster: + """ + Attributes: + id (str): + name (str): + """ + + id: str + name: str + + def to_dict(self) -> dict[str, Any]: + id = self.id + + name = self.name + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + "name": name, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + id = d.pop("id") + + name = d.pop("name") + + worksheet_item_cluster = cls( + id=id, + name=name, + ) + + return worksheet_item_cluster diff --git a/exasol/saas/client/openapi/models/worksheet_item_database.py b/exasol/saas/client/openapi/models/worksheet_item_database.py new file mode 100644 index 00000000..6e48048d --- /dev/null +++ b/exasol/saas/client/openapi/models/worksheet_item_database.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +from collections.abc import Mapping +from typing import ( + Any, + TypeVar, +) + +from attrs import define as _attrs_define + +T = TypeVar("T", bound="WorksheetItemDatabase") + + +@_attrs_define +class WorksheetItemDatabase: + """ + Attributes: + id (str): + name (str): + """ + + id: str + name: str + + def to_dict(self) -> dict[str, Any]: + id = self.id + + name = self.name + + field_dict: dict[str, Any] = {} + + field_dict.update( + { + "id": id, + "name": name, + } + ) + + return field_dict + + @classmethod + def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T: + d = dict(src_dict) + id = d.pop("id") + + name = d.pop("name") + + worksheet_item_database = cls( + id=id, + name=name, + ) + + return worksheet_item_database diff --git a/openapi.json b/openapi.json index 49d0f537..0a726da5 100644 --- a/openapi.json +++ b/openapi.json @@ -6,7 +6,7 @@ "version": "1.0", "download": { "source": "https://cloud.exasol.com/openapi.json", - "timestamp": "2026-03-10T08:47:29.836651+00:00" + "timestamp": "2026-05-12T08:07:30.919337+00:00" } }, "servers": [ @@ -39,7 +39,41 @@ "paths": { "/api/v1/accounts/{accountId}/usage": { "get": { + "summary": "", + "description": "", "operationId": "GetUsage", + "parameters": [ + { + "name": "accountId", + "in": "path", + "description": "", + "required": true, + "schema": { + "$ref": "#/components/schemas/accountId" + } + }, + { + "name": "yearMonth", + "in": "query", + "description": "YYYY-MM", + "required": false, + "schema": { + "$ref": "#/components/schemas/yearMonth" + } + }, + { + "name": "type", + "in": "query", + "description": "Response format", + "required": false, + "schema": { + "$ref": "#/components/schemas/type" + } + } + ], + "tags": [ + "Usage" + ], "responses": { "200": { "description": "Usage information per month", @@ -61,51 +95,48 @@ } } } - }, - "tags": [ - "Usage" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters": { + "post": { + "summary": "", + "description": "", + "operationId": "CreateCluster", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { - "in": "query", - "required": false, - "name": "yearMonth", - "schema": { - "type": "string" - }, - "description": "YYYY-MM" - }, - { - "in": "query", - "required": false, - "name": "type", + "name": "databaseId", + "in": "path", + "description": "", + "required": true, "schema": { - "type": "string", - "enum": [ - "csv", - "json" - ] + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] + "tags": [ + "Clusters" + ], + "requestBody": { + "description": "Request body", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateCluster" + } + } } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters": { - "post": { - "operationId": "CreateCluster", + }, "responses": { "200": { "description": "A cluster", @@ -127,46 +158,35 @@ } } } - }, - "tags": [ - "Clusters" - ], + } + }, + "get": { + "summary": "", + "description": "", + "operationId": "ListClusters", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Clusters" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateCluster" - } - } - }, - "required": true - } - }, - "get": { - "operationId": "ListClusters", "responses": { "200": { "description": "List of clusters from one database", @@ -191,41 +211,50 @@ } } } - }, - "tags": [ - "Clusters" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters/{clusterId}": { + "delete": { + "summary": "", + "description": "", + "operationId": "DeleteCluster", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } - } - ], - "security": [ + }, { - "authorizer": [] + "name": "clusterId", + "in": "path", + "description": "", + "required": true, + "schema": { + "$ref": "#/components/schemas/clusterId" + } } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters/{clusterId}": { - "delete": { - "operationId": "DeleteCluster", + ], + "tags": [ + "Clusters" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -237,44 +266,44 @@ } } } - }, - "tags": [ - "Clusters" - ], + } + }, + "get": { + "summary": "", + "description": "", + "operationId": "GetCluster", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "clusterId", "in": "path", + "description": "", "required": true, - "name": "clusterId", "schema": { - "type": "string" + "$ref": "#/components/schemas/clusterId" } } ], - "security": [ - { - "authorizer": [] - } - ] - }, - "get": { - "operationId": "GetCluster", + "tags": [ + "Clusters" + ], "responses": { "200": { "description": "A cluster", @@ -296,47 +325,59 @@ } } } - }, - "tags": [ - "Clusters" - ], + } + }, + "put": { + "summary": "", + "description": "", + "operationId": "UpdateCluster", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "clusterId", "in": "path", + "description": "", "required": true, - "name": "clusterId", "schema": { - "type": "string" + "$ref": "#/components/schemas/clusterId" } } ], - "security": [ - { - "authorizer": [] + "tags": [ + "Clusters" + ], + "requestBody": { + "description": "Request body", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateCluster" + } + } } - ] - }, - "put": { - "operationId": "UpdateCluster", + }, "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -348,56 +389,46 @@ } } } - }, - "tags": [ - "Clusters" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters/{clusterId}/connect": { + "get": { + "summary": "", + "description": "", + "operationId": "GetClusterConnection", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "clusterId", "in": "path", + "description": "", "required": true, - "name": "clusterId", "schema": { - "type": "string" + "$ref": "#/components/schemas/clusterId" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Clusters" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateCluster" - } - } - }, - "required": true - } - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters/{clusterId}/connect": { - "get": { - "operationId": "GetClusterConnection", "responses": { "200": { "description": "Information about the cluster connection", @@ -419,49 +450,61 @@ } } } - }, - "tags": [ - "Clusters" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters/{clusterId}/scale": { + "put": { + "summary": "", + "description": "", + "operationId": "ScaleCluster", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "clusterId", "in": "path", + "description": "", "required": true, - "name": "clusterId", "schema": { - "type": "string" + "$ref": "#/components/schemas/clusterId" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters/{clusterId}/scale": { - "put": { - "operationId": "ScaleCluster", + "tags": [ + "Clusters" + ], + "requestBody": { + "description": "Request body", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ScaleCluster" + } + } + } + }, "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -473,59 +516,50 @@ } } } - }, - "tags": [ - "Clusters" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters/{clusterId}/start": { + "put": { + "summary": "", + "description": "", + "operationId": "StartCluster", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "clusterId", "in": "path", + "description": "", "required": true, - "name": "clusterId", "schema": { - "type": "string" + "$ref": "#/components/schemas/clusterId" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Clusters" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ScaleCluster" - } - } - }, - "required": true - } - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters/{clusterId}/start": { - "put": { - "operationId": "StartCluster", "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -537,49 +571,59 @@ } } } - }, - "tags": [ - "Clusters" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters/{clusterId}/stop": { + "put": { + "summary": "", + "description": "", + "operationId": "StopCluster", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "clusterId", "in": "path", + "description": "", "required": true, - "name": "clusterId", "schema": { - "type": "string" + "$ref": "#/components/schemas/clusterId" } - } - ], - "security": [ + }, { - "authorizer": [] + "name": "actor", + "in": "query", + "description": "The user or system that initiated the stop cluster request", + "required": false, + "schema": { + "$ref": "#/components/schemas/actor" + } } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/clusters/{clusterId}/stop": { - "put": { - "operationId": "StopCluster", + ], + "tags": [ + "Clusters" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -591,46 +635,39 @@ } } } - }, - "tags": [ - "Clusters" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases": { + "post": { + "summary": "", + "description": "", + "operationId": "CreateDatabase", "parameters": [ { - "in": "path", - "required": true, "name": "accountId", - "schema": { - "type": "string" - } - }, - { - "in": "path", - "required": true, - "name": "databaseId", - "schema": { - "type": "string" - } - }, - { "in": "path", + "description": "", "required": true, - "name": "clusterId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } } ], - "security": [ - { - "authorizer": [] + "tags": [ + "Databases" + ], + "requestBody": { + "description": "Request body", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDatabase" + } + } } - ] - } - }, - "/api/v1/accounts/{accountId}/databases": { - "post": { - "operationId": "CreateDatabase", + }, "responses": { "200": { "description": "A database", @@ -652,38 +689,26 @@ } } } - }, - "tags": [ - "Databases" - ], + } + }, + "get": { + "summary": "", + "description": "", + "operationId": "ListDatabases", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Databases" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateDatabase" - } - } - }, - "required": true - } - }, - "get": { - "operationId": "ListDatabases", "responses": { "200": { "description": "List of databases the user has access to", @@ -708,33 +733,41 @@ } } } - }, - "tags": [ - "Databases" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}": { + "delete": { + "summary": "", + "description": "", + "operationId": "DeleteDatabase", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } - } - ], - "security": [ + }, { - "authorizer": [] + "name": "databaseId", + "in": "path", + "description": "", + "required": true, + "schema": { + "$ref": "#/components/schemas/databaseId" + } } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}": { - "delete": { - "operationId": "DeleteDatabase", + ], + "tags": [ + "Databases" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -746,36 +779,35 @@ } } } - }, - "tags": [ - "Databases" - ], + } + }, + "get": { + "summary": "", + "description": "", + "operationId": "GetDatabase", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } - ] - }, - "get": { - "operationId": "GetDatabase", + "tags": [ + "Databases" + ], "responses": { "200": { "description": "A database", @@ -797,39 +829,50 @@ } } } - }, - "tags": [ - "Databases" - ], + } + }, + "put": { + "summary": "", + "description": "", + "operationId": "UpdateDatabase", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] + "tags": [ + "Databases" + ], + "requestBody": { + "description": "Request body", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateDatabase" + } + } } - ] - }, - "put": { - "operationId": "UpdateDatabase", + }, "responses": { "204": { - "description": "No Content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -841,48 +884,37 @@ } } } - }, - "tags": [ - "Databases" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions": { + "get": { + "summary": "", + "description": "", + "operationId": "ListExtensions", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Extensions" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateDatabase" - } - } - }, - "required": true - } - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions": { - "get": { - "operationId": "ListExtensions", "responses": { "200": { "description": "List of extensions the user has access to", @@ -907,41 +939,59 @@ } } } - }, - "tags": [ - "Extensions" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions/{extensionId}/{extensionVersion}/install": { + "put": { + "summary": "", + "description": "", + "operationId": "InstallExtension", "parameters": [ { + "name": "accountId", + "in": "path", + "description": "", + "required": true, + "schema": { + "$ref": "#/components/schemas/accountId" + } + }, + { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "extensionId", "in": "path", + "description": "", + "required": true, + "schema": { + "$ref": "#/components/schemas/extensionId" + } + }, + { + "name": "extensionVersion", + "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { "type": "string" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions/{extensionId}/{extensionVersion}/install": { - "put": { - "operationId": "InstallExtension", + "tags": [ + "Extensions" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -953,57 +1003,59 @@ } } } - }, - "tags": [ - "Extensions" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions/{extensionId}/{extensionVersion}/uninstall": { + "put": { + "summary": "", + "description": "", + "operationId": "UninstallExtension", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "extensionId", "in": "path", + "description": "", "required": true, - "name": "extensionId", "schema": { - "type": "string" + "$ref": "#/components/schemas/extensionId" } }, { + "name": "extensionVersion", "in": "path", + "description": "", "required": true, - "name": "extensionVersion", "schema": { "type": "string" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions/{extensionId}/{extensionVersion}/uninstall": { - "put": { - "operationId": "UninstallExtension", + "tags": [ + "Extensions" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -1015,54 +1067,55 @@ } } } - }, - "tags": [ - "Extensions" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions/{extensionId}/{extensionVersion}": { + "get": { + "summary": "", + "description": "", + "operationId": "GetExtension", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "extensionId", "in": "path", + "description": "", "required": true, - "name": "extensionId", "schema": { - "type": "string" + "$ref": "#/components/schemas/extensionId" } }, { + "name": "extensionVersion", "in": "path", + "description": "", "required": true, - "name": "extensionVersion", "schema": { "type": "string" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions/{extensionId}/{extensionVersion}": { - "get": { - "operationId": "GetExtension", + "tags": [ + "Extensions" + ], "responses": { "200": { "description": "Get details about an extension version", @@ -1094,54 +1147,66 @@ } } } - }, - "tags": [ - "Extensions" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions/{extensionId}/{extensionVersion}/instances": { + "post": { + "summary": "", + "description": "", + "operationId": "CreateExtensionInstance", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "extensionId", "in": "path", + "description": "", "required": true, - "name": "extensionId", "schema": { - "type": "string" + "$ref": "#/components/schemas/extensionId" } }, { + "name": "extensionVersion", "in": "path", + "description": "", "required": true, - "name": "extensionVersion", "schema": { "type": "string" } } ], - "security": [ - { - "authorizer": [] + "tags": [ + "Extensions" + ], + "requestBody": { + "description": "Request body", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateExtensionInstance" + } + } } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions/{extensionId}/{extensionVersion}/instances": { - "post": { - "operationId": "CreateExtensionInstance", + }, "responses": { "200": { "description": "Creates an instance of an extension", @@ -1173,62 +1238,53 @@ } } } - }, - "tags": [ - "Extensions" - ], + } + }, + "get": { + "summary": "", + "description": "", + "operationId": "ListExtensionInstances", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "extensionId", "in": "path", + "description": "", "required": true, - "name": "extensionId", "schema": { - "type": "string" + "$ref": "#/components/schemas/extensionId" } }, { + "name": "extensionVersion", "in": "path", + "description": "", "required": true, - "name": "extensionVersion", "schema": { "type": "string" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Extensions" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateExtensionInstance" - } - } - }, - "required": true - } - }, - "get": { - "operationId": "ListExtensionInstances", "responses": { "200": { "description": "List instances from a specific extension version", @@ -1237,7 +1293,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/ExtensionInstance" + "$ref": "#/components/schemas/WorksheetConnection" } } } @@ -1263,57 +1319,68 @@ } } } - }, - "tags": [ - "Extensions" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions/{extensionId}/{extensionVersion}/instances/{instanceId}": { + "delete": { + "summary": "", + "description": "", + "operationId": "DeleteExtensionInstance", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "extensionId", "in": "path", + "description": "", "required": true, - "name": "extensionId", "schema": { - "type": "string" + "$ref": "#/components/schemas/extensionId" } }, { + "name": "extensionVersion", "in": "path", + "description": "", "required": true, - "name": "extensionVersion", "schema": { "type": "string" } - } - ], - "security": [ + }, { - "authorizer": [] + "name": "instanceId", + "in": "path", + "description": "", + "required": true, + "schema": { + "$ref": "#/components/schemas/instanceId" + } } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/extensions/{extensionId}/{extensionVersion}/instances/{instanceId}": { - "delete": { - "operationId": "DeleteExtensionInstance", + ], + "tags": [ + "Extensions" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -1325,62 +1392,37 @@ } } } - }, - "tags": [ - "Extensions" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/settings": { + "get": { + "summary": "", + "description": "", + "operationId": "GetDatabaseSettings", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" - } - }, - { - "in": "path", - "required": true, - "name": "extensionId", - "schema": { - "type": "string" - } - }, - { - "in": "path", - "required": true, - "name": "extensionVersion", - "schema": { - "type": "string" - } - }, - { - "in": "path", - "required": true, - "name": "instanceId", - "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/settings": { - "get": { - "operationId": "GetDatabaseSettings", + "tags": [ + "Databases" + ], "responses": { "200": { "description": "database setting", @@ -1402,39 +1444,50 @@ } } } - }, - "tags": [ - "Databases" - ], + } + }, + "patch": { + "summary": "", + "description": "", + "operationId": "SetAutoUpdatesDatabase", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] + "tags": [ + "Databases" + ], + "requestBody": { + "description": "Request body", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SetAutoUpdatesDatabase" + } + } } - ] - }, - "patch": { - "operationId": "SetAutoUpdatesDatabase", + }, "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -1446,48 +1499,37 @@ } } } - }, - "tags": [ - "Databases" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/upgrade": { + "get": { + "summary": "", + "description": "", + "operationId": "GetDatabaseUpgradeInfo", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Databases" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SetAutoUpdatesDatabase" - } - } - }, - "required": true - } - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/upgrade": { - "get": { - "operationId": "GetDatabaseUpgradeInfo", "responses": { "200": { "description": "A database upgrade info", @@ -1509,39 +1551,39 @@ } } } - }, - "tags": [ - "Databases" - ], + } + }, + "put": { + "summary": "", + "description": "", + "operationId": "UpgradeDatabase", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } - ] - }, - "put": { - "operationId": "UpgradeDatabase", + "tags": [ + "Databases" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -1553,41 +1595,41 @@ } } } - }, - "tags": [ - "Databases" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/start": { + "put": { + "summary": "", + "description": "", + "operationId": "StartDatabase", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/start": { - "put": { - "operationId": "StartDatabase", + "tags": [ + "Databases" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -1599,41 +1641,41 @@ } } } - }, - "tags": [ - "Databases" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/stop": { + "put": { + "summary": "", + "description": "", + "operationId": "StopDatabase", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/stop": { - "put": { - "operationId": "StopDatabase", + "tags": [ + "Databases" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -1645,38 +1687,37 @@ } } } - }, - "tags": [ - "Databases" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/dlhc-activate": { + "get": { + "summary": "", + "description": "", + "operationId": "GetDlhcActivateStatus", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/dlhc-activate": { - "get": { - "operationId": "GetDlhcActivateStatus", + "tags": [ + "Databases" + ], "responses": { "200": { "description": "dlhc activate status", @@ -1698,39 +1739,39 @@ } } } - }, - "tags": [ - "Databases" - ], + } + }, + "post": { + "summary": "", + "description": "", + "operationId": "DlhcActivate", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } - ] - }, - "post": { - "operationId": "DlhcActivate", + "tags": [ + "Databases" + ], "responses": { "202": { - "description": "Request accepted for processing; activation is in progress" + "description": "Request accepted for processing; activation is in progress", + "content": {} }, "default": { "description": "Default api error", @@ -1742,41 +1783,50 @@ } } } - }, - "tags": [ - "Databases" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/folder/{key}": { + "post": { + "summary": "", + "description": "", + "operationId": "CreateFolder", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } - } - ], - "security": [ + }, { - "authorizer": [] + "name": "key", + "in": "path", + "description": "", + "required": true, + "schema": { + "$ref": "#/components/schemas/key" + } } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/folder/{key}": { - "post": { - "operationId": "CreateFolder", - "responses": { - "204": { - "description": "No content" + ], + "tags": [ + "Files" + ], + "responses": { + "204": { + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -1788,47 +1838,48 @@ } } } - }, - "tags": [ - "Files" - ], + } + }, + "delete": { + "summary": "", + "description": "", + "operationId": "DeleteFolder", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "key", "in": "path", + "description": "", "required": true, - "name": "key", "schema": { - "type": "string" + "$ref": "#/components/schemas/key" } } ], - "security": [ - { - "authorizer": [] - } - ] - }, - "delete": { - "operationId": "DeleteFolder", + "tags": [ + "Files" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -1840,49 +1891,50 @@ } } } - }, - "tags": [ - "Files" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/files/{key}": { + "delete": { + "summary": "", + "description": "", + "operationId": "DeleteFile", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "key", "in": "path", + "description": "", "required": true, - "name": "key", "schema": { - "type": "string" + "$ref": "#/components/schemas/key" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/files/{key}": { - "delete": { - "operationId": "DeleteFile", + "tags": [ + "Files" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -1894,44 +1946,44 @@ } } } - }, - "tags": [ - "Files" - ], + } + }, + "post": { + "summary": "", + "description": "", + "operationId": "UploadFile", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "key", "in": "path", + "description": "", "required": true, - "name": "key", "schema": { - "type": "string" + "$ref": "#/components/schemas/key" } } ], - "security": [ - { - "authorizer": [] - } - ] - }, - "post": { - "operationId": "UploadFile", + "tags": [ + "Files" + ], "responses": { "200": { "description": "URL to upload the file", @@ -1953,46 +2005,46 @@ } } } - }, - "tags": [ - "Files" - ], + } + } + }, + "/api/v1/internal/accounts/{accountId}/databases/{databaseId}/files/{key}": { + "get": { + "summary": "", + "description": "", + "operationId": "DownloadFile", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "key", "in": "path", + "description": "", "required": true, - "name": "key", "schema": { - "type": "string" + "$ref": "#/components/schemas/key" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/internal/accounts/{accountId}/databases/{databaseId}/files/{key}": { - "get": { - "operationId": "DownloadFile", + "tags": [ + "Files" + ], "responses": { "200": { "description": "Url to download the file", @@ -2014,46 +2066,37 @@ } } } - }, - "tags": [ - "Files" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/files": { + "get": { + "summary": "", + "description": "", + "operationId": "ListFiles", "parameters": [ { - "in": "path", - "required": true, "name": "accountId", - "schema": { - "type": "string" - } - }, - { "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "key", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/files": { - "get": { - "operationId": "ListFiles", + "tags": [ + "Files" + ], "responses": { "200": { "description": "List of files from one database", @@ -2062,7 +2105,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/File" + "$ref": "#/components/schemas/FileOpenapi" } } } @@ -2078,38 +2121,37 @@ } } } - }, - "tags": [ - "Files" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/schedules": { + "get": { + "summary": "", + "description": "", + "operationId": "ListSchedules", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/schedules": { - "get": { - "operationId": "ListSchedules", + "tags": [ + "Databases" + ], "responses": { "200": { "description": "List of schedules for database", @@ -2134,36 +2176,46 @@ } } } - }, - "tags": [ - "Databases" - ], + } + }, + "post": { + "summary": "", + "description": "", + "operationId": "CreateSchedule", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } } ], - "security": [ - { - "authorizer": [] + "tags": [ + "Databases" + ], + "requestBody": { + "description": "Request body", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Schedule" + } + } } - ] - }, - "post": { - "operationId": "CreateSchedule", + }, "responses": { "201": { "description": "Created schedule", @@ -2185,51 +2237,50 @@ } } } - }, - "tags": [ - "Databases" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/schedules/{actionId}": { + "delete": { + "summary": "", + "description": "", + "operationId": "DeleteSchedule", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } - } - ], - "security": [ + }, { - "authorizer": [] + "name": "actionId", + "in": "path", + "description": "", + "required": true, + "schema": { + "$ref": "#/components/schemas/actionId" + } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Schedule" - } - } - }, - "required": true - } - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/schedules/{actionId}": { - "delete": { - "operationId": "DeleteSchedule", + "tags": [ + "Databases" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -2241,113 +2292,61 @@ } } } - }, - "tags": [ - "Databases" - ], - "parameters": [ - { - "in": "path", - "required": true, - "name": "accountId", - "schema": { - "type": "string" - } - }, - { - "in": "path", - "required": true, - "name": "databaseId", - "schema": { - "type": "string" - } - }, - { - "in": "path", - "required": true, - "name": "actionId", - "schema": { - "type": "string" - } - } - ], - "security": [ - { - "authorizer": [] - } - ] + } } }, "/api/v1/accounts/{accountId}/databases/{databaseId}/schedules/{actionId}/state": { "patch": { + "summary": "", + "description": "", "operationId": "UpdateScheduleState", - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Default api error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - } - } - } - } - }, - "tags": [ - "Databases" - ], "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "actionId", "in": "path", + "description": "", "required": true, - "name": "actionId", "schema": { - "type": "string" + "$ref": "#/components/schemas/actionId" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Databases" ], "requestBody": { + "description": "Request body", + "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateScheduleState" } } - }, - "required": true - } - } - }, - "/api/v1/accounts/{accountId}/databases/{databaseId}/schedules/{actionId}/cronRule": { - "patch": { - "operationId": "UpdateScheduleCronRule", + } + }, "responses": { "204": { - "description": "No Content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -2359,56 +2358,84 @@ } } } - }, - "tags": [ - "Databases" - ], + } + } + }, + "/api/v1/accounts/{accountId}/databases/{databaseId}/schedules/{actionId}/cronRule": { + "patch": { + "summary": "", + "description": "", + "operationId": "UpdateScheduleCronRule", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "databaseId", "in": "path", + "description": "", "required": true, - "name": "databaseId", "schema": { - "type": "string" + "$ref": "#/components/schemas/databaseId" } }, { + "name": "actionId", "in": "path", + "description": "", "required": true, - "name": "actionId", "schema": { - "type": "string" + "$ref": "#/components/schemas/actionId" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Databases" ], "requestBody": { + "description": "Request body", + "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateScheduleCronRule" } } + } + }, + "responses": { + "204": { + "description": "No content", + "content": {} }, - "required": true + "default": { + "description": "Default api error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } + } } } }, "/api/v1/platforms": { "get": { + "summary": "", + "description": "", "operationId": "ListPlatforms", + "parameters": [], + "tags": [ + "Platform" + ], "responses": { "200": { "description": "List of all platforms", @@ -2417,7 +2444,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Platform" + "$ref": "#/components/schemas/WorksheetConnection" } } } @@ -2433,20 +2460,28 @@ } } } - }, - "tags": [ - "Platform" - ], - "security": [ - { - "authorizer": [] - } - ] + } } }, "/api/v1/platforms/{platform}/regions": { "get": { + "summary": "", + "description": "", "operationId": "ListRegions", + "parameters": [ + { + "name": "platform", + "in": "path", + "description": "", + "required": true, + "schema": { + "type": "string" + } + } + ], + "tags": [ + "Platform" + ], "responses": { "200": { "description": "Get available regions for given platform", @@ -2471,30 +2506,28 @@ } } } - }, - "tags": [ - "Platform" - ], + } + } + }, + "/api/v1/platforms/{platform}/sizes": { + "get": { + "summary": "", + "description": "", + "operationId": "ListClusterSizes", "parameters": [ { + "name": "platform", "in": "path", + "description": "", "required": true, - "name": "platform", "schema": { "type": "string" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/platforms/{platform}/sizes": { - "get": { - "operationId": "ListClusterSizes", + "tags": [ + "Platform" + ], "responses": { "200": { "description": "Get available cluster sizes for given platform", @@ -2503,7 +2536,39 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/ClusterSize1" + "required": [ + "size", + "price", + "vcpu", + "ram", + "isDefault", + "name" + ], + "properties": { + "size": { + "type": "string" + }, + "price": { + "type": "number" + }, + "vcpu": { + "type": "number" + }, + "ram": { + "type": "number" + }, + "isDefault": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "family": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" } } } @@ -2519,30 +2584,39 @@ } } } - }, - "tags": [ - "Platform" - ], + } + } + }, + "/api/v1/accounts/{accountId}/security/allowlist_ip": { + "post": { + "summary": "", + "description": "", + "operationId": "AddAllowedIP", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "platform", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } } ], - "security": [ - { - "authorizer": [] + "tags": [ + "Security" + ], + "requestBody": { + "description": "Allowed IP range to create", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAllowedIP" + } + } } - ] - } - }, - "/api/v1/accounts/{accountId}/security/allowlist_ip": { - "post": { - "operationId": "AddAllowedIP", + }, "responses": { "200": { "description": "Allowed ip range", @@ -2564,38 +2638,26 @@ } } } - }, - "tags": [ - "Security" - ], + } + }, + "get": { + "summary": "", + "description": "", + "operationId": "ListAllowedIPs", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Security" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateAllowedIP" - } - } - }, - "required": true - } - }, - "get": { - "operationId": "ListAllowedIPs", "responses": { "200": { "description": "List of allowed ip ranges", @@ -2620,33 +2682,41 @@ } } } - }, - "tags": [ - "Security" - ], + } + } + }, + "/api/v1/accounts/{accountId}/security/allowlist_ip/{allowlistIpId}": { + "delete": { + "summary": "", + "description": "", + "operationId": "DeleteAllowedIP", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } - } - ], - "security": [ + }, { - "authorizer": [] + "name": "allowlistIpId", + "in": "path", + "description": "", + "required": true, + "schema": { + "$ref": "#/components/schemas/allowlistIpId" + } } - ] - } - }, - "/api/v1/accounts/{accountId}/security/allowlist_ip/{allowlistIpId}": { - "delete": { - "operationId": "DeleteAllowedIP", + ], + "tags": [ + "Security" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -2658,36 +2728,35 @@ } } } - }, - "tags": [ - "Security" - ], + } + }, + "get": { + "summary": "", + "description": "", + "operationId": "GetAllowedIP", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "allowlistIpId", "in": "path", + "description": "", "required": true, - "name": "allowlistIpId", "schema": { - "type": "string" + "$ref": "#/components/schemas/allowlistIpId" } } ], - "security": [ - { - "authorizer": [] - } - ] - }, - "get": { - "operationId": "GetAllowedIP", + "tags": [ + "Security" + ], "responses": { "200": { "description": "Allowed ip range", @@ -2709,95 +2778,50 @@ } } } - }, - "tags": [ - "Security" - ], - "parameters": [ - { - "in": "path", - "required": true, - "name": "accountId", - "schema": { - "type": "string" - } - }, - { - "in": "path", - "required": true, - "name": "allowlistIpId", - "schema": { - "type": "string" - } - } - ], - "security": [ - { - "authorizer": [] - } - ] + } }, "put": { + "summary": "", + "description": "", "operationId": "UpdateAllowedIP", - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "Default api error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiError" - } - } - } - } - }, - "tags": [ - "Security" - ], "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "allowlistIpId", "in": "path", + "description": "", "required": true, - "name": "allowlistIpId", "schema": { - "type": "string" + "$ref": "#/components/schemas/allowlistIpId" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Security" ], "requestBody": { + "description": "Request body", + "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAllowedIP" } } - }, - "required": true - } - } - }, - "/api/v1/me": { - "put": { - "operationId": "UpdateProfile", + } + }, "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -2809,33 +2833,33 @@ } } } - }, + } + } + }, + "/api/v1/me": { + "put": { + "summary": "", + "description": "", + "operationId": "UpdateProfile", + "parameters": [], "tags": [ "Profile" ], - "security": [ - { - "authorizer": [] - } - ], "requestBody": { + "description": "Request body", + "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateProfile" } } - }, - "required": true - } - } - }, - "/api/v1/accounts/{accountId}/users/{userId}": { - "delete": { - "operationId": "DeleteUser", + } + }, "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -2847,39 +2871,41 @@ } } } - }, - "tags": [ - "Users" - ], + } + } + }, + "/api/v1/accounts/{accountId}/users/{userId}": { + "delete": { + "summary": "", + "description": "", + "operationId": "DeleteUser", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "userId", "in": "path", + "description": "", "required": true, - "name": "userId", "schema": { - "type": "string" + "$ref": "#/components/schemas/userId" } } ], - "security": [ - { - "authorizer": [] - } - ] - }, - "patch": { - "operationId": "PatchUser", + "tags": [ + "Users" + ], "responses": { "204": { - "description": "No content" + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -2891,58 +2917,50 @@ } } } - }, - "tags": [ - "Users" - ], + } + }, + "patch": { + "summary": "", + "description": "", + "operationId": "PatchUser", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "userId", "in": "path", + "description": "", "required": true, - "name": "userId", "schema": { - "type": "string" + "$ref": "#/components/schemas/userId" } } ], - "security": [ - { - "authorizer": [] - } + "tags": [ + "Users" ], "requestBody": { + "description": "Request body", + "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchUser" } } - }, - "required": true - } - } - }, - "/api/v1/internal/accounts/{accountId}/users/{userId}": { - "get": { - "operationId": "GetUser", + } + }, "responses": { - "200": { - "description": "Users", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/User" - } - } - } + "204": { + "description": "No content", + "content": {} }, "default": { "description": "Default api error", @@ -2954,48 +2972,44 @@ } } } - }, - "tags": [ - "Users" - ], + } + } + }, + "/api/v1/internal/accounts/{accountId}/users/{userId}": { + "get": { + "summary": "", + "description": "", + "operationId": "GetUser", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "userId", "in": "path", + "description": "", "required": true, - "name": "userId", "schema": { - "type": "string" + "$ref": "#/components/schemas/userId" } } ], - "security": [ - { - "authorizer": [] - } - ] - } - }, - "/api/v1/accounts/{accountId}/users": { - "get": { - "operationId": "ListUsers", + "tags": [ + "Users" + ], "responses": { "200": { - "description": "List of users", + "description": "Users", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/User" - } + "$ref": "#/components/schemas/User" } } } @@ -3010,166 +3024,135 @@ } } } - }, - "tags": [ - "Users" - ], + } + } + }, + "/api/v1/accounts/{accountId}/users": { + "get": { + "summary": "", + "description": "", + "operationId": "ListUsers", "parameters": [ { + "name": "accountId", "in": "path", + "description": "", "required": true, - "name": "accountId", "schema": { - "type": "string" + "$ref": "#/components/schemas/accountId" } }, { + "name": "filter", "in": "query", + "description": "", "required": false, - "name": "filter", "schema": { - "type": "string" + "$ref": "#/components/schemas/filter" } }, { + "name": "next", "in": "query", + "description": "Get next page of users", "required": false, - "name": "next", "schema": { - "type": "integer" - }, - "description": "Get next page of users" + "$ref": "#/components/schemas/next" + } }, { + "name": "limit", "in": "query", + "description": "Limit amount of user in response", "required": false, - "name": "limit", "schema": { - "type": "integer" - }, - "description": "Limit amount of user in response" + "$ref": "#/components/schemas/limit" + } } ], - "security": [ - { - "authorizer": [] + "tags": [ + "Users" + ], + "responses": { + "200": { + "description": "List of users", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/User" + } + } + } + } + }, + "default": { + "description": "Default api error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiError" + } + } + } } - ] + } } } }, "components": { "schemas": { - "ApiError": { + "accountId": { + "type": "string" + }, + "yearMonth": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "csv", + "json" + ] + }, + "Usage": { "type": "object", - "properties": { - "status": { - "type": "number" - }, - "causes": { - "additionalProperties": { - "type": "boolean" - } - }, - "message": { - "type": "string" - }, - "requestId": { - "type": "string" - }, - "path": { - "type": "string" - }, - "method": { - "type": "string" - }, - "logId": { - "type": "string" - }, - "handler": { - "type": "string" - }, - "timestamp": { - "type": "string" + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UsageDatabase" } - }, - "required": [ - "status", - "message", - "requestId", - "path", - "method", - "logId", - "handler", - "timestamp" - ], - "additionalProperties": false + } }, - "UsageCluster": { + "databaseId": { + "type": "string" + }, + "CreateCluster": { "required": [ - "id", - "size", - "name" + "name", + "size" ], "properties": { - "id": { + "name": { "type": "string" }, "size": { "type": "string" }, - "name": { + "family": { "type": "string" }, - "compute": { - "type": "number" - }, - "outSameRegion": { - "type": "number" - }, - "outDifferentRegion": { - "type": "number" + "autoStop": { + "$ref": "#/components/schemas/AutoStop" }, - "outInternet": { - "type": "number" + "settings": { + "$ref": "#/components/schemas/ClusterSettingsUpdate" } }, "additionalProperties": false, "type": "object" }, - "Usage": { - "additionalProperties": { - "items": { - "required": [ - "id", - "name", - "clusters" - ], - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "usedStorage": { - "type": "number" - }, - "clusters": { - "items": { - "$ref": "#/components/schemas/UsageCluster" - }, - "type": "array" - } - }, - "additionalProperties": false, - "type": "object" - }, - "title": "UsageDatabase", - "type": "array" - }, - "type": "object" - }, "Cluster": { "required": [ "status", @@ -3225,33 +3208,8 @@ "additionalProperties": false, "type": "object" }, - "ClusterActionScale": { - "properties": { - "clusterId": { - "type": "string" - }, - "size": { - "type": "string" - } - }, - "required": [ - "clusterId", - "size" - ], - "additionalProperties": false, - "type": "object" - }, - "ClusterActionStartStop": { - "properties": { - "clusterId": { - "type": "string" - } - }, - "required": [ - "clusterId" - ], - "additionalProperties": false, - "type": "object" + "clusterId": { + "type": "string" }, "ClusterConnection": { "required": [ @@ -3272,7 +3230,26 @@ "type": "string" }, "ips": { - "$ref": "#/components/schemas/ConnectionIPs" + "required": [ + "private", + "public" + ], + "properties": { + "private": { + "items": { + "type": "string" + }, + "type": "array" + }, + "public": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" }, "dbUsername": { "type": "string" @@ -3281,59 +3258,33 @@ "additionalProperties": false, "type": "object" }, - "ClusterSettings": { + "ScaleCluster": { "required": [ - "offloadEnabled", - "offloadTimeoutMin" + "size" ], "properties": { - "offloadEnabled": { - "type": "boolean" + "size": { + "type": "string" }, - "offloadTimeoutMin": { - "type": "integer" + "family": { + "type": "string" } }, "additionalProperties": false, "type": "object" }, - "ConnectionIPs": { - "required": [ - "private", - "public" - ], - "properties": { - "private": { - "items": { - "type": "string" - }, - "type": "array" - }, - "public": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "additionalProperties": false, - "type": "object" + "actor": { + "type": "string", + "enum": [ + "auto-stop", + "scheduled-action" + ] }, - "CreateCluster": { - "required": [ - "name", - "size" - ], + "UpdateCluster": { "properties": { "name": { "type": "string" }, - "size": { - "type": "string" - }, - "family": { - "type": "string" - }, "autoStop": { "$ref": "#/components/schemas/AutoStop" }, @@ -3477,91 +3428,96 @@ }, "type": "object" }, - "DatabaseSettings": { + "extensionId": { + "type": "string" + }, + "ExtensionDetail": { "required": [ - "offloadEnabled", - "autoUpdatesEnabled", - "autoUpdatesHardDisabled", - "numNodes", - "streamType", - "streamDescription" + "id", + "version", + "parameterDefinitions" ], "properties": { - "offloadEnabled": { - "type": "boolean" - }, - "autoUpdatesEnabled": { - "type": "boolean" - }, - "autoUpdatesHardDisabled": { - "type": "boolean" - }, - "numNodes": { - "type": "integer" - }, - "streamType": { + "id": { "type": "string" }, - "streamDescription": { + "version": { "type": "string" + }, + "parameterDefinitions": { + "items": { + "$ref": "#/components/schemas/ExtensionParameterDefinitions" + }, + "type": "array" } }, "additionalProperties": false, "type": "object" }, - "DatabaseUpgradeInfo": { - "required": [ - "currentVersion", - "updateVersion", - "updatePossible" - ], + "ApiError": { + "type": "object", "properties": { - "currentVersion": { + "status": { + "type": "number" + }, + "causes": { + "additionalProperties": { + "type": "boolean" + } + }, + "message": { "type": "string" }, - "updateVersion": { + "requestId": { "type": "string" }, - "updatePossible": { - "type": "boolean" + "path": { + "type": "string" + }, + "method": { + "type": "string" + }, + "logId": { + "type": "string" + }, + "handler": { + "type": "string" + }, + "timestamp": { + "type": "string" } }, - "type": "object" - }, - "DlhcActivateStatus": { "required": [ "status", - "created_at" - ], - "properties": { - "status": { - "type": "string" - }, - "created_at": { - "type": "string" - } - }, - "type": "object" + "message", + "requestId", + "path", + "method", + "logId", + "handler", + "timestamp" + ], + "additionalProperties": false }, - "DownloadFile": { + "CreateExtensionInstance": { "required": [ - "url" + "parameterValues" ], "properties": { - "url": { - "type": "string" + "parameterValues": { + "items": { + "$ref": "#/components/schemas/ExtensionParameterValue" + }, + "type": "array" } }, "additionalProperties": false, "type": "object" }, - "Extension": { + "ExtensionInstance": { "required": [ "id", - "name", - "description", - "installableVersions", - "categoryId" + "name" ], "properties": { "id": { @@ -3569,165 +3525,124 @@ }, "name": { "type": "string" - }, - "description": { - "type": "string" - }, - "categoryId": { - "type": "string" - }, - "installableVersions": { - "items": { - "$ref": "#/components/schemas/ExtensionVersion" - }, - "type": "array" } }, "additionalProperties": false, "type": "object" }, - "ExtensionDetail": { + "instanceId": { + "type": "string" + }, + "DatabaseSettings": { "required": [ - "id", - "version", - "parameterDefinitions" + "offloadEnabled", + "autoUpdatesEnabled", + "autoUpdatesHardDisabled", + "numNodes", + "streamType", + "streamDescription" ], "properties": { - "id": { - "type": "string" + "offloadEnabled": { + "type": "boolean" }, - "version": { + "autoUpdatesEnabled": { + "type": "boolean" + }, + "autoUpdatesHardDisabled": { + "type": "boolean" + }, + "numNodes": { + "type": "integer" + }, + "streamType": { "type": "string" }, - "parameterDefinitions": { - "items": { - "$ref": "#/components/schemas/ExtensionParameterDefinitions" - }, - "type": "array" + "streamDescription": { + "type": "string" } }, "additionalProperties": false, "type": "object" }, - "ExtensionInstance": { + "DatabaseUpgradeInfo": { "required": [ - "id", - "name" + "currentVersion", + "updateVersion", + "updatePossible" ], "properties": { - "id": { + "currentVersion": { "type": "string" }, - "name": { + "updateVersion": { "type": "string" + }, + "updatePossible": { + "type": "boolean" } }, - "additionalProperties": false, "type": "object" }, - "ExtensionParameterDefinitions": { + "SetAutoUpdatesDatabase": { "required": [ - "id", - "name", - "definition" + "autoUpdatesEnabled" ], "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rawDefinition": { - "additionalProperties": true + "autoUpdatesEnabled": { + "type": "boolean" } }, "additionalProperties": false, "type": "object" }, - "ExtensionParameterValue": { + "UpdateDatabase": { "required": [ - "id", - "value" + "name" ], "properties": { - "id": { - "type": "string" - }, - "value": { + "name": { "type": "string" } }, - "additionalProperties": false, "type": "object" }, - "ExtensionVersion": { + "DlhcActivateStatus": { "required": [ - "version", - "latest", - "deprecated", - "installed" + "status", + "created_at" ], "properties": { - "version": { + "status": { "type": "string" }, - "latest": { - "type": "boolean" - }, - "deprecated": { - "type": "boolean" - }, - "installed": { - "type": "boolean" + "created_at": { + "type": "string" } }, - "additionalProperties": false, "type": "object" }, - "File": { + "key": { + "type": "string" + }, + "DownloadFile": { "required": [ - "name", - "type", - "path", - "lastModified" + "url" ], "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "path": { + "url": { "type": "string" - }, - "lastModified": { - "type": "string", - "format": "date-time" - }, - "size": { - "type": "integer" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/File" - } } }, "additionalProperties": false, "type": "object" }, - "ScaleCluster": { + "UploadFile": { "required": [ - "size" + "url" ], "properties": { - "size": { - "type": "string" - }, - "family": { + "url": { "type": "string" } }, @@ -3775,159 +3690,375 @@ "payload": { "oneOf": [ { - "$ref": "#/components/schemas/ClusterActionScale" + "properties": { + "clusterId": { + "type": "string" + }, + "size": { + "type": "string" + } + }, + "required": [ + "clusterId", + "size" + ], + "additionalProperties": false, + "type": "object" }, { - "$ref": "#/components/schemas/ClusterActionStartStop" + "properties": { + "clusterId": { + "type": "string" + } + }, + "required": [ + "clusterId" + ], + "additionalProperties": false, + "type": "object" } ] }, "state": { - "$ref": "#/components/schemas/ScheduleState", + "type": "string", "default": "ENABLED" } }, "additionalProperties": false, "type": "object" }, - "SetAutoUpdatesDatabase": { + "actionId": { + "type": "string" + }, + "CreateAllowedIP": { "required": [ - "autoUpdatesEnabled" + "name", + "cidrIp" ], "properties": { - "autoUpdatesEnabled": { - "type": "boolean" + "name": { + "type": "string" + }, + "cidrIp": { + "type": "string" } }, "additionalProperties": false, "type": "object" }, - "UpdateCluster": { + "AllowedIP": { + "required": [ + "id", + "name", + "cidrIp", + "createdAt", + "createdBy" + ], "properties": { + "id": { + "type": "string" + }, "name": { "type": "string" }, - "autoStop": { - "$ref": "#/components/schemas/AutoStop" + "cidrIp": { + "type": "string" }, - "settings": { - "$ref": "#/components/schemas/ClusterSettingsUpdate" + "createdAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "deletedBy": { + "type": "string" + }, + "deletedAt": { + "type": "string", + "format": "date-time" } }, "additionalProperties": false, "type": "object" }, - "UpdateDatabase": { + "allowlistIpId": { + "type": "string" + }, + "UpdateAllowedIP": { "required": [ - "name" + "name", + "cidrIp" ], "properties": { "name": { "type": "string" + }, + "cidrIp": { + "type": "string" } }, + "additionalProperties": false, "type": "object" }, - "UpdateScheduleCronRule": { + "next": { + "type": "integer" + }, + "limit": { + "type": "integer" + }, + "UpdateProfile": { "required": [ - "cronRule" + "firstName", + "lastName" ], "properties": { - "cronRule": { - "type": "string", - "description": "cron rule in format: " + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" } }, "additionalProperties": false, "type": "object" }, - "UpdateScheduleState": { + "userId": { + "type": "string" + }, + "User": { "required": [ - "state" + "email", + "id", + "createdAt", + "createdBy", + "status", + "roles", + "isDeletable" ], "properties": { - "state": { - "$ref": "#/components/schemas/ScheduleState" + "email": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "id": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/UserStatus" + }, + "databases": { + "items": { + "$ref": "#/components/schemas/WorksheetConnection" + }, + "type": "array" + }, + "roles": { + "items": { + "$ref": "#/components/schemas/WorksheetConnection" + }, + "type": "array" + }, + "dbUsername": { + "type": "string" + }, + "isDeletable": { + "type": "boolean" } }, "additionalProperties": false, "type": "object" }, - "UploadFile": { + "filter": { + "type": "string" + }, + "PatchUser": { + "properties": { + "roleID": { + "type": "string" + }, + "databases": { + "$ref": "#/components/schemas/PatchUserDatabases" + }, + "dbUsername": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Account": { "required": [ - "url" + "id", + "email", + "createdAt", + "createdBy", + "mode", + "edition", + "limits" ], "properties": { - "url": { + "id": { + "type": "string" + }, + "accountName": { + "type": "string" + }, + "country": { + "type": "string" + }, + "company": { + "type": "string" + }, + "email": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "deletedAt": { + "type": "string", + "format": "date-time" + }, + "deletedBy": { "type": "string" + }, + "mode": { + "enum": [ + "trial", + "pay-as-you-go", + "pre-purchase" + ], + "type": "string" + }, + "edition": { + "$ref": "#/components/schemas/AccountEdition" + }, + "editionLockedFor": { + "type": "integer" + }, + "limits": { + "$ref": "#/components/schemas/Limits" + }, + "trial": { + "$ref": "#/components/schemas/Trial" + }, + "enabledFeatures": { + "type": "array", + "items": { + "type": "string" + } } }, "additionalProperties": false, "type": "object" }, - "AutoStop": { + "EmailValidation": { "required": [ - "enabled", - "idleTime" + "isValid", + "isUniversity" ], "properties": { - "enabled": { + "isValid": { "type": "boolean" }, - "idleTime": { - "type": "integer" + "isUniversity": { + "type": "boolean" } }, "additionalProperties": false, "type": "object" }, - "ClusterSettingsUpdate": { + "Register": { + "required": [ + "identifier", + "company", + "country", + "email" + ], "properties": { - "offloadEnabled": { - "type": "boolean" + "identifier": { + "type": "string" }, - "offloadTimeoutMin": { - "type": "integer" + "company": { + "type": "string" + }, + "country": { + "type": "string" + }, + "email": { + "type": "string" + }, + "invitation": { + "type": "string" + }, + "signupPath": { + "type": "string", + "enum": [ + "", + "signup", + "lakehouse-turbo-signup" + ] } }, "additionalProperties": false, "type": "object" }, - "ScheduleState": { - "type": "string", - "enum": [ - "ENABLED", - "DISABLED" - ] + "RegisterResult": { + "required": [ + "accountId", + "invitationUrl" + ], + "properties": { + "accountId": { + "type": "string" + }, + "invitationUrl": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" }, - "Status": { + "AccountEdition": { "enum": [ - "todelete", - "tostart", - "tocreate", - "tostop", - "creating", - "starting", - "running", - "stopping", - "stopped", - "error", - "maintenance", - "deleting", - "deleted", - "scaling", - "toscale" + "enterprise", + "standard" ], "type": "string" }, - "CreateExtensionInstance": { + "Limits": { "required": [ - "parameterValues" + "workerClusters", + "databases", + "clusterSizes" ], "properties": { - "parameterValues": { + "workerClusters": { + "type": "integer" + }, + "databases": { + "type": "integer" + }, + "clusterSizes": { "items": { - "$ref": "#/components/schemas/ExtensionParameterValue" + "type": "string" }, "type": "array" } @@ -3935,99 +4066,1611 @@ "additionalProperties": false, "type": "object" }, - "ClusterSize1": { + "Trial": { "required": [ - "size", - "price", - "vcpu", - "ram", - "isDefault", - "name" + "expiresAt", + "remainingCredits" ], "properties": { - "size": { + "expiresAt": { "type": "string" }, - "price": { + "remainingCredits": { "type": "number" + } + }, + "additionalProperties": false, + "type": "object" + }, + "AddCreditCard": { + "required": [ + "token", + "gatewayAccountID", + "is3ds", + "isPrimary" + ], + "properties": { + "token": { + "type": "string" }, - "vcpu": { - "type": "number" + "gatewayAccountID": { + "type": "string" }, - "ram": { - "type": "number" + "is3ds": { + "type": "boolean" }, - "isDefault": { + "isPrimary": { "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "BillingAddress": { + "required": [ + "firstName", + "lastName", + "email", + "company", + "line1", + "city", + "country", + "zip", + "vatNumber" + ], + "properties": { + "firstName": { + "type": "string" }, - "name": { + "lastName": { "type": "string" }, - "family": { + "email": { + "type": "string" + }, + "company": { + "type": "string" + }, + "line1": { + "type": "string" + }, + "city": { + "type": "string" + }, + "country": { + "type": "string" + }, + "state": { + "type": "string" + }, + "zip": { + "type": "string" + }, + "vatNumber": { "type": "string" } }, "additionalProperties": false, "type": "object" }, - "Platform": { + "BillingInformation": { "required": [ - "id", - "name" + "optionalBilling" ], "properties": { - "id": { + "optionalBilling": { + "type": "boolean" + }, + "billingAddress": { + "$ref": "#/components/schemas/BillingInformationAddress" + }, + "card": { + "$ref": "#/components/schemas/BillingInformationCreditCard" + }, + "customer": { + "$ref": "#/components/schemas/BillingCustomer" + } + }, + "additionalProperties": false, + "type": "object" + }, + "BillingInvoiceLink": { + "required": [ + "link" + ], + "properties": { + "link": { "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ChangeEdition": { + "required": [ + "edition" + ], + "properties": { + "edition": { + "$ref": "#/components/schemas/AccountEdition" + } + }, + "additionalProperties": false, + "type": "object" + }, + "CreditCard": { + "required": [ + "id", + "status", + "maskedNumber", + "last4", + "brand", + "expireYear", + "expireMonth", + "isPrimary" + ], + "properties": { + "id": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/CreditCardStatus" + }, + "maskedNumber": { + "type": "string" + }, + "last4": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "expireYear": { + "type": "integer" + }, + "expireMonth": { + "type": "integer" + }, + "isPrimary": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Credits": { + "required": [ + "credit", + "usage", + "totalUsage" + ], + "properties": { + "credit": { + "type": "number" + }, + "usage": { + "type": "number" + }, + "totalUsage": { + "type": "number" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Invoice": { + "required": [ + "amountPaid", + "creditsApplied", + "amountDue", + "currencyCode", + "paidOn", + "date", + "dueDate", + "id", + "status", + "dunningStatus", + "priceType" + ], + "properties": { + "amountPaid": { + "type": "integer" + }, + "creditsApplied": { + "type": "integer" + }, + "amountDue": { + "type": "integer" + }, + "currencyCode": { + "type": "string" + }, + "paidOn": { + "type": "string", + "format": "date-time" + }, + "date": { + "type": "string", + "format": "date-time" + }, + "dueDate": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/InvoiceStatus" + }, + "dunningStatus": { + "$ref": "#/components/schemas/InvoiceDunningStatus" + }, + "priceType": { + "$ref": "#/components/schemas/InvoicePriceType" + } + }, + "additionalProperties": false, + "type": "object" + }, + "PaymentIntent": { + "required": [ + "id", + "status", + "amount", + "currency_code", + "gateway_account_id", + "gateway", + "active_payment_attempttype", + "customer_idtype", + "reference_idtype", + "expires_at", + "created_at", + "modified_at", + "object", + "payment_method_type" + ], + "properties": { + "id": { + "type": "string" + }, + "status": { + "type": "string" + }, + "amount": { + "type": "integer" + }, + "currency_code": { + "type": "string" + }, + "gateway_account_id": { + "type": "string" + }, + "gateway": { + "type": "string" + }, + "active_payment_attempttype": { + "$ref": "#/components/schemas/PaymentAttempt" + }, + "customer_idtype": { + "type": "string" + }, + "reference_idtype": { + "type": "string" + }, + "expires_at": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "modified_at": { + "type": "integer" + }, + "object": { + "type": "string" + }, + "payment_method_type": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "BillingAddressStatus": { + "enum": [ + "not_validated", + "valid", + "partially_valid", + "invalid" + ], + "type": "string" + }, + "BillingCustomer": { + "required": [ + "country", + "company" + ], + "properties": { + "company": { + "type": "string" + }, + "country": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "BillingInformationAddress": { + "required": [ + "city", + "company", + "country", + "email", + "firstName", + "lastName", + "line1", + "validationStatus", + "zip" + ], + "properties": { + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "email": { + "type": "string" + }, + "company": { + "type": "string" + }, + "line1": { + "type": "string" + }, + "city": { + "type": "string" + }, + "country": { + "type": "string" + }, + "state": { + "type": "string" + }, + "zip": { + "type": "string" + }, + "vatNumber": { + "type": "string" + }, + "validationStatus": { + "$ref": "#/components/schemas/BillingAddressStatus" + } + }, + "additionalProperties": false, + "type": "object" + }, + "BillingInformationCreditCard": { + "required": [ + "createdAt", + "brand", + "expiryMonth", + "expiryYear", + "maskedNumber", + "last4", + "status", + "updatedAt" + ], + "properties": { + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "status": { + "$ref": "#/components/schemas/CreditCardStatus" + }, + "maskedNumber": { + "type": "string" + }, + "last4": { + "type": "string" + }, + "brand": { + "type": "string" + }, + "expiryYear": { + "type": "integer" + }, + "expiryMonth": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object" + }, + "CreditCardStatus": { + "enum": [ + "valid", + "expiring", + "expired" + ], + "type": "string" + }, + "InvoiceDunningStatus": { + "enum": [ + "in_progress", + "exhausted", + "stopped", + "success" + ], + "type": "string" + }, + "InvoicePriceType": { + "enum": [ + "tax_exclusive", + "tax_inclusive" + ], + "type": "string" + }, + "InvoiceStatus": { + "enum": [ + "paid", + "payment_due", + "not_paid", + "voided", + "pending" + ], + "type": "string" + }, + "PaymentAttempt": { + "required": [ + "status", + "type", + "active", + "id_at_gateway", + "action_payload", + "error_code", + "error_text", + "error_msg" + ], + "properties": { + "status": { + "type": "string" + }, + "type": { + "type": "string" + }, + "active": { + "type": "boolean" + }, + "id_at_gateway": { + "type": "string" + }, + "action_payload": { + "additionalProperties": true + }, + "error_code": { + "type": "string" + }, + "error_text": { + "type": "string" + }, + "error_msg": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "UsageCluster": { + "required": [ + "id", + "size", + "name" + ], + "properties": { + "id": { + "type": "string" + }, + "size": { + "type": "string" + }, + "name": { + "type": "string" + }, + "compute": { + "type": "number" + }, + "outSameRegion": { + "type": "number" + }, + "outDifferentRegion": { + "type": "number" + }, + "outInternet": { + "type": "number" + } + }, + "additionalProperties": false, + "type": "object" + }, + "UsageDatabase": { + "required": [ + "id", + "name", + "clusters" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "usedStorage": { + "type": "number" + }, + "clusters": { + "items": { + "$ref": "#/components/schemas/UsageCluster" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "AddIntegration": { + "properties": { + "password": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "AddIntegrationResult": { + "required": [ + "encryptedPassword", + "actionUrl" + ], + "properties": { + "encryptedPassword": { + "type": "string" + }, + "actionUrl": { + "type": "string" + }, + "encryptedPat": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ClusterActionScale": { + "properties": { + "clusterId": { + "type": "string" + }, + "size": { + "type": "string" + } + }, + "required": [ + "clusterId", + "size" + ], + "additionalProperties": false, + "type": "object" + }, + "ClusterActionStartStop": { + "properties": { + "clusterId": { + "type": "string" + } + }, + "required": [ + "clusterId" + ], + "additionalProperties": false, + "type": "object" + }, + "ClusterSettings": { + "required": [ + "offloadEnabled", + "offloadTimeoutMin" + ], + "properties": { + "offloadEnabled": { + "type": "boolean" + }, + "offloadTimeoutMin": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ClusterSize": { + "required": [ + "size", + "price", + "vcpu", + "ram", + "isDefault", + "name" + ], + "properties": { + "size": { + "type": "string" + }, + "price": { + "type": "number" + }, + "vcpu": { + "type": "number" + }, + "ram": { + "type": "number" + }, + "isDefault": { + "type": "boolean" + }, + "name": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ConnectionIPs": { + "required": [ + "private", + "public" + ], + "properties": { + "private": { + "items": { + "type": "string" + }, + "type": "array" + }, + "public": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "CreateExtensionInstanceRequest": { + "required": [ + "parameterValues" + ], + "properties": { + "parameterValues": { + "items": { + "$ref": "#/components/schemas/ExtensionParameterValue" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "CreateExtensionInstanceResponse": { + "required": [ + "instanceId", + "instanceName" + ], + "properties": { + "instanceId": { + "type": "string" + }, + "instanceName": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "CreateSchedule": { + "required": [ + "action", + "cronRule", + "payload" + ], + "properties": { + "action": { + "type": "string" + }, + "cronRule": { + "type": "string" + }, + "payload": { + "type": "object" + } + }, + "additionalProperties": false + }, + "Extension": { + "required": [ + "id", + "name", + "description", + "installableVersions", + "categoryId" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "categoryId": { + "type": "string" + }, + "installableVersions": { + "items": { + "$ref": "#/components/schemas/ExtensionVersion" + }, + "type": "array" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ExtensionParameterDefinitions": { + "required": [ + "id", + "name", + "definition" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rawDefinition": { + "additionalProperties": true + } + }, + "additionalProperties": false, + "type": "object" + }, + "ExtensionParameterValue": { + "required": [ + "id", + "value" + ], + "properties": { + "id": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ExtensionVersion": { + "required": [ + "version", + "latest", + "deprecated", + "installed" + ], + "properties": { + "version": { + "type": "string" + }, + "latest": { + "type": "boolean" + }, + "deprecated": { + "type": "boolean" + }, + "installed": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, + "File": { + "required": [ + "name", + "type", + "path", + "lastModified" + ], + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "path": { + "type": "string" + }, + "lastModified": { + "type": "string", + "format": "date-time" + }, + "size": { + "type": "integer" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/File" + } + } + }, + "additionalProperties": false, + "type": "object" + }, + "FileOpenapi": { + "required": [ + "name", + "type", + "path", + "lastModified" + ], + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "path": { + "type": "string" + }, + "lastModified": { + "type": "string", + "format": "date-time" + }, + "size": { + "type": "integer" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FileOpenapi" + } + } + }, + "additionalProperties": false, + "type": "object" + }, + "AutoStop": { + "required": [ + "enabled", + "idleTime" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "idleTime": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ClusterSettingsUpdate": { + "properties": { + "offloadEnabled": { + "type": "boolean" + }, + "offloadTimeoutMin": { + "type": "integer" + } + }, + "additionalProperties": false, + "type": "object" + }, + "ScheduleState": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "Status": { + "enum": [ + "todelete", + "tostart", + "tocreate", + "tostop", + "creating", + "starting", + "running", + "stopping", + "stopped", + "error", + "maintenance", + "deleting", + "deleted", + "scaling", + "toscale" + ], + "type": "string" + }, + "Support": { + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "UpdateScheduleCronRule": { + "required": [ + "cronRule" + ], + "properties": { + "cronRule": { + "type": "string", + "description": "cron rule in format: " + } + }, + "additionalProperties": false, + "type": "object" + }, + "UpdateScheduleState": { + "required": [ + "state" + ], + "properties": { + "state": { + "$ref": "#/components/schemas/ScheduleState" + } + }, + "additionalProperties": false, + "type": "object" + }, + "WebsocketConfig": { + "required": [ + "wsTicket" + ], + "properties": { + "wsTicket": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Proxy": { + "type": "object" + }, + "Config": { + "required": [ + "signupUrl", + "patUrl", + "recaptchaKey", + "features" + ], + "properties": { + "signupUrl": { + "type": "string" + }, + "tracking": { + "$ref": "#/components/schemas/Tracking" + }, + "chargebee": { + "$ref": "#/components/schemas/Chargebee" + }, + "auth0Application": { + "$ref": "#/components/schemas/Auth0" + }, + "patUrl": { + "type": "string" + }, + "needsInvitationKey": { + "type": "boolean" + }, + "recaptchaKey": { + "type": "string" + }, + "features": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + } + }, + "additionalProperties": false, + "type": "object" + }, + "CreateSupportCase": { + "required": [ + "caseType", + "subject", + "description", + "emails" + ], + "properties": { + "caseType": { + "$ref": "#/components/schemas/CaseType" + }, + "subject": { + "type": "string" + }, + "description": { + "type": "string" + }, + "emails": { + "type": "string" + }, + "priority": { + "$ref": "#/components/schemas/CasePriority" + } + }, + "additionalProperties": false, + "type": "object" + }, + "EventIntegration": { + "required": [ + "event" + ], + "properties": { + "event": { + "type": "string" + } + }, + "additionalProperties": true, + "type": "object" + }, + "Health": { + "required": [ + "status" + ], + "properties": { + "status": { + "type": "string" + }, + "version": { + "type": "string" + }, + "releaseId": { + "type": "string" + }, + "notes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "output": { + "type": "string" + }, + "checks": { + "additionalProperties": { + "items": { + "$ref": "#/components/schemas/Checks" + }, + "type": "array" + }, + "type": "object" + }, + "links": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "serviceId": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Keboola": { + "required": [ + "cluster", + "database", + "email" + ], + "properties": { + "cluster": { + "$ref": "#/components/schemas/IdName" + }, + "database": { + "$ref": "#/components/schemas/IdName" + }, + "email": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "KeboolaResult": { + "required": [ + "exaHost", + "exaPort", + "exaUserName", + "dbName", + "exaPassword", + "email" + ], + "properties": { + "exaHost": { + "type": "string" + }, + "exaPort": { + "type": "string" + }, + "exaUserName": { + "type": "string" + }, + "dbName": { + "type": "string" + }, + "exaPassword": { + "type": "string" + }, + "email": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "MyIP": { + "required": [ + "ip" + ], + "properties": { + "ip": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Platform": { + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Region": { + "required": [ + "id", + "name", + "priceMultiplier", + "storagePrice" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priceMultiplier": { + "type": "number" + }, + "storagePrice": { + "type": "number" + } + }, + "additionalProperties": false, + "type": "object" + }, + "SendCsat": { + "required": [ + "email", + "saas_csat_score" + ], + "properties": { + "email": { + "type": "string" + }, + "saas_csat_score": { + "type": "number" + }, + "saas_csat_comments": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Auth0": { + "required": [ + "domain", + "clientId", + "audience" + ], + "properties": { + "domain": { + "type": "string" + }, + "clientId": { + "type": "string" + }, + "audience": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "CasePriority": { + "enum": [ + "minor", + "normal", + "major", + "critical" + ], + "type": "string", + "description": "Priority of the case. critical = 1, major = 2, normal = 3, minor = 4" + }, + "CaseType": { + "enum": [ + "incident", + "question" + ], + "type": "string" + }, + "Chargebee": { + "required": [ + "site", + "apiKey" + ], + "properties": { + "site": { + "type": "string" + }, + "apiKey": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Checks": { + "required": [ + "status" + ], + "properties": { + "componentId": { + "type": "string" + }, + "componentType": { + "type": "string" + }, + "observedValue": { + "additionalProperties": true + }, + "observedUnit": { + "type": "string" + }, + "status": { + "type": "string" + }, + "affectedEndpoints": { + "items": { + "type": "string" + }, + "type": "array" + }, + "time": { + "type": "string" + }, + "output": { + "type": "string" + }, + "links": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "additionalProperties": false, + "type": "object" + }, + "IdName": { + "required": [ + "name", + "id" + ], + "properties": { + "name": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Tracking": { + "required": [ + "enabled", + "apiKey" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "apiKey": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "StatusEventIntegration": { + "required": [ + "organizationId", + "databaseId", + "clusterId", + "status", + "url" + ], + "properties": { + "organizationId": { + "type": "string" + }, + "databaseId": { + "type": "string" + }, + "clusterId": { + "type": "string" + }, + "status": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "additionalProperties": true, + "type": "object" + }, + "Stream": { + "required": [ + "stream_type", + "name", + "description" + ], + "properties": { + "stream_type": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Version": { + "required": [ + "ui-backend" + ], + "properties": { + "ui-backend": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "AcceptInvitation": { + "required": [ + "email", + "roleID", + "dbUsername", + "userID" + ], + "properties": { + "email": { + "type": "string" + }, + "roleID": { + "type": "string" + }, + "dbUsername": { + "type": "string" + }, + "databases": { + "items": { + "$ref": "#/components/schemas/WorksheetConnection" + }, + "type": "array" + }, + "userID": { + "type": "string" + }, + "migratedUserId": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "CreateInvitation": { + "required": [ + "email", + "roleID", + "dbUsername" + ], + "properties": { + "email": { + "type": "string" + }, + "roleID": { + "type": "string" + }, + "databases": { + "items": { + "$ref": "#/components/schemas/WorksheetConnection" + }, + "type": "array" + }, + "dbUsername": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "Invitation": { + "required": [ + "id", + "organizationId", + "inviter", + "invitee", + "invitationUrl", + "createdAt", + "expiresAt", + "roles", + "dbUsername" + ], + "properties": { + "id": { + "type": "string" + }, + "organizationId": { + "type": "string" + }, + "inviter": { + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "invitee": { + "required": [ + "email" + ], + "properties": { + "email": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "invitationUrl": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "expiresAt": { + "type": "string" + }, + "roles": { + "items": { + "$ref": "#/components/schemas/WorksheetConnection" + }, + "type": "array" }, - "name": { + "databases": { + "items": { + "$ref": "#/components/schemas/WorksheetConnection" + }, + "type": "array" + }, + "dbUsername": { "type": "string" } }, "additionalProperties": false, "type": "object" }, - "Region": { + "PatchUserDatabases": { "required": [ - "id", - "name", - "priceMultiplier", - "storagePrice" + "delete", + "add" ], "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "priceMultiplier": { - "type": "number" + "delete": { + "items": { + "type": "string" + }, + "type": "array" }, - "storagePrice": { - "type": "number" + "add": { + "items": { + "type": "string" + }, + "type": "array" } }, "additionalProperties": false, "type": "object" }, - "AllowedIP": { + "Role": { "required": [ "id", - "name", - "cidrIp", "createdAt", - "createdBy" + "createdBy", + "name", + "description", + "scopes", + "custom" ], "properties": { "id": { "type": "string" }, - "name": { - "type": "string" - }, - "cidrIp": { - "type": "string" - }, "createdAt": { "type": "string", "format": "date-time" @@ -4041,152 +5684,195 @@ "deletedAt": { "type": "string", "format": "date-time" - } - }, - "additionalProperties": false, - "type": "object" - }, - "CreateAllowedIP": { - "required": [ - "name", - "cidrIp" - ], - "properties": { + }, "name": { "type": "string" }, - "cidrIp": { + "description": { "type": "string" + }, + "scopes": { + "items": { + "$ref": "#/components/schemas/Scope" + }, + "type": "array" + }, + "custom": { + "type": "boolean" } }, "additionalProperties": false, "type": "object" }, - "UpdateAllowedIP": { + "Scope": { + "enum": [ + "users:write", + "users:read", + "databases:use", + "databases:operate", + "billing:write", + "billing:read", + "security:read", + "security:write", + "monitoring:read", + "integrations:write", + "filemanage:write" + ], + "type": "string" + }, + "UserStatus": { + "enum": [ + "active", + "deactivated", + "pending" + ], + "type": "string" + }, + "UserDatabase": { "required": [ - "name", - "cidrIp" + "id", + "name" ], "properties": { - "name": { + "id": { "type": "string" }, - "cidrIp": { + "name": { "type": "string" } }, "additionalProperties": false, "type": "object" }, - "PatchUser": { + "UserRole": { + "required": [ + "id", + "name" + ], "properties": { - "roleID": { + "id": { "type": "string" }, - "databases": { - "$ref": "#/components/schemas/PatchUserDatabases" - }, - "dbUsername": { + "name": { "type": "string" } }, "additionalProperties": false, "type": "object" }, - "PatchUserDatabases": { + "CreateWorksheet": { "required": [ - "delete", - "add" + "name", + "content", + "databaseId", + "clusterId" ], "properties": { - "delete": { - "items": { - "type": "string" - }, - "type": "array" + "name": { + "type": "string" }, - "add": { - "items": { - "type": "string" - }, - "type": "array" + "content": { + "type": "string" + }, + "databaseId": { + "type": "string" + }, + "clusterId": { + "type": "string" } }, "additionalProperties": false, "type": "object" }, - "UpdateProfile": { + "UpdateWorksheet": { "required": [ - "firstName", - "lastName" + "name", + "content", + "databaseId", + "clusterId" ], "properties": { - "firstName": { + "name": { "type": "string" }, - "lastName": { + "content": { + "type": "string" + }, + "databaseId": { + "type": "string" + }, + "clusterId": { "type": "string" } }, "additionalProperties": false, "type": "object" }, - "User": { + "Worksheet": { "required": [ - "email", + "content", "id", + "name", + "database", + "cluster", "createdAt", - "createdBy", - "status", - "roles", - "isDeletable" + "updatedAt" ], "properties": { - "email": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "lastName": { + "content": { "type": "string" }, "id": { "type": "string" }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "createdBy": { + "name": { "type": "string" }, - "status": { - "$ref": "#/components/schemas/UserStatus" - }, - "databases": { - "items": { - "$ref": "#/components/schemas/UserDatabase" + "database": { + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, - "type": "array" + "additionalProperties": false, + "type": "object" }, - "roles": { - "items": { - "$ref": "#/components/schemas/UserRole" + "cluster": { + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, - "type": "array" + "additionalProperties": false, + "type": "object" }, - "dbUsername": { - "type": "string" + "createdAt": { + "type": "string", + "format": "date-time" }, - "isDeletable": { - "type": "boolean" + "updatedAt": { + "type": "string", + "format": "date-time" } }, "additionalProperties": false, "type": "object" }, - "UserDatabase": { + "WorksheetConnection": { "required": [ "id", "name" @@ -4202,10 +5888,14 @@ "additionalProperties": false, "type": "object" }, - "UserRole": { + "WorksheetItem": { "required": [ "id", - "name" + "name", + "database", + "cluster", + "createdAt", + "updatedAt" ], "properties": { "id": { @@ -4213,25 +5903,50 @@ }, "name": { "type": "string" + }, + "database": { + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "cluster": { + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "additionalProperties": false, + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" } }, "additionalProperties": false, "type": "object" - }, - "UserStatus": { - "enum": [ - "active", - "deactivated", - "pending" - ], - "type": "string" - } - }, - "securitySchemes": { - "authorizer": { - "type": "http", - "scheme": "bearer", - "bearerFormat": "JWT" } } } diff --git a/poetry.lock b/poetry.lock index 46e84741..2da1c8d5 100644 --- a/poetry.lock +++ b/poetry.lock @@ -507,52 +507,6 @@ files = [ {file = "cfgv-3.5.0.tar.gz", hash = "sha256:d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132"}, ] -[[package]] -name = "chardet" -version = "7.4.3" -description = "Universal character encoding detector" -optional = false -python-versions = ">=3.10" -groups = ["dev"] -files = [ - {file = "chardet-7.4.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0c79b13c9908ac7dfe0a74116ebc9a0f28b2319d23c32f3dfcdfbe1279c7eaf"}, - {file = "chardet-7.4.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bba8bea1b28d927b3e99e47deafe53658d34497c0a891d95ff1ba8ff6663f01c"}, - {file = "chardet-7.4.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:23163921dccf3103ce59540b0443c106d2c0a0ff2e0503e05196f5e6fdea453f"}, - {file = "chardet-7.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cfb54563fe5f130da17c44c6a4e2e8052ba628e5ab4eab7ef8190f736f0f8f72"}, - {file = "chardet-7.4.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3990fffcc6a6045f2234ab72752ad037e3b2d48c72037f244d42738db397eb75"}, - {file = "chardet-7.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:c7116b0452994734ccff35e154b44240090eb0f4f74b9106292668133557c175"}, - {file = "chardet-7.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:25a862cddc6a9ac07023e808aedd297115345fbaabc2690479481ddc0f980e09"}, - {file = "chardet-7.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7005c88da26fd95d8abb8acbe6281d833e9a9181b03cf49b4546c4555389bd97"}, - {file = "chardet-7.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc50f28bad067393cce0af9091052c3b8df7a23115afd8ba7b2e0947f0cef1f8"}, - {file = "chardet-7.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3da294de1a681097848ab58bd3f2771a674f8039d2d87a5538b28856b815e9"}, - {file = "chardet-7.4.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:93c45e116dd51b66226a53ade3f9f635e870de5399b90e00ce45dcc311093bf4"}, - {file = "chardet-7.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:ccc1f83ab4bcfb901cf39e0c4ba6bc6e726fc6264735f10e24ceb5cb47387578"}, - {file = "chardet-7.4.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:75d3c65cc16bddf40b8da1fd25ba84fca5f8070f2b14e86083653c1c85aee971"}, - {file = "chardet-7.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:29af5999f654e8729d251f1724a62b538b1262d9292cccaefddf8a02aae1ef6a"}, - {file = "chardet-7.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:626f00299ad62dfe937058a09572beed442ccc7b58f87aa667949b20fd3db235"}, - {file = "chardet-7.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9a4904dd5f071b7a7d7f50b4a67a86db3c902d243bf31708f1d5cde2f68239cb"}, - {file = "chardet-7.4.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5d2879598bc220689e8ce509fe9c3f37ad2fca53a36be9c9bd91abdd91dd364f"}, - {file = "chardet-7.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:4b2799bd58e7245cfa8d4ab2e8ad1d76a5c3a5b1f32318eb6acca4c69a3e7101"}, - {file = "chardet-7.4.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a9e4486df251b8962e86ea9f139ca235aa6e0542a00f7844c9a04160afb99aa9"}, - {file = "chardet-7.4.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4fbff1907925b0c5a1064cffb5e040cd5e338585c9c552625f30de6bc2f3107a"}, - {file = "chardet-7.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:365135eaf37ba65a828f8e668eb0a8c38c479dcbec724dc25f4dfd781049c357"}, - {file = "chardet-7.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfc134b70c846c21ead8e43ada3ae1a805fff732f6922f8abcf2ff27b8f6493d"}, - {file = "chardet-7.4.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9acd9988a93e09390f3cd231201ea7166c415eb8da1b735928990ffc05cb9fbb"}, - {file = "chardet-7.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:e1b98790c284ff813f18f7cf7de5f05ea2435a080030c7f1a8318f3a4f80b131"}, - {file = "chardet-7.4.3-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d892d3dcd652fdef53e3d6327d39b17c0df40a899dfc919abaeb64c974497531"}, - {file = "chardet-7.4.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:acc46d1b8b7d5783216afe15db56d1c179b9a40e5a1558bc13164c4fd20674c4"}, - {file = "chardet-7.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ac3bf11c645734a1701a3804e43eabd98851838192267d08c353a834ab79fea"}, - {file = "chardet-7.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e3bd9f936e04bae89c254262af08d9e5b98f805175ba1e29d454e6cba3107b7"}, - {file = "chardet-7.4.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:27cc23da03630cdecc9aa81a895aa86629c211f995cd57651f0fbc280717bf93"}, - {file = "chardet-7.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:b95c934b9ad59e2ba8abb9be49df70d3ad1b0d95d864b9fdb7588d4fa8bd921c"}, - {file = "chardet-7.4.3-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c77867f0c1cb8bd819502249fcdc500364aedb07881e11b743726fa2148e7b6e"}, - {file = "chardet-7.4.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:cf1efeaf65a6ef2f5b9cc3a1df6f08ba2831b369ccaa4c7018eaf90aa757bb11"}, - {file = "chardet-7.4.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9f3504c139a2ad544077dd2d9e412cd08b01786843d76997cd43bb6de311723c"}, - {file = "chardet-7.4.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457f619882ba66327d4d8d14c6c342269bdb1e4e1c38e8117df941d14d351b04"}, - {file = "chardet-7.4.3-py3-none-any.whl", hash = "sha256:1173b74051570cf08099d7429d92e4882d375ad4217f92a6e5240ccfb26f231e"}, - {file = "chardet-7.4.3.tar.gz", hash = "sha256:cc1d4eb92a4ec1c2df3b490836ffa46922e599d34ce0bb75cf41fd2bf6303d56"}, -] - [[package]] name = "charset-normalizer" version = "3.4.7" @@ -740,118 +694,118 @@ development = ["black", "flake8", "mypy", "pytest", "types-colorama"] [[package]] name = "coverage" -version = "7.13.5" +version = "7.14.0" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.10" groups = ["dev"] files = [ - {file = "coverage-7.13.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0723d2c96324561b9aa76fb982406e11d93cdb388a7a7da2b16e04719cf7ca5"}, - {file = "coverage-7.13.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:52f444e86475992506b32d4e5ca55c24fc88d73bcbda0e9745095b28ef4dc0cf"}, - {file = "coverage-7.13.5-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:704de6328e3d612a8f6c07000a878ff38181ec3263d5a11da1db294fa6a9bdf8"}, - {file = "coverage-7.13.5-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a1a6d79a14e1ec1832cabc833898636ad5f3754a678ef8bb4908515208bf84f4"}, - {file = "coverage-7.13.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:79060214983769c7ba3f0cee10b54c97609dca4d478fa1aa32b914480fd5738d"}, - {file = "coverage-7.13.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:356e76b46783a98c2a2fe81ec79df4883a1e62895ea952968fb253c114e7f930"}, - {file = "coverage-7.13.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0cef0cdec915d11254a7f549c1170afecce708d30610c6abdded1f74e581666d"}, - {file = "coverage-7.13.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dc022073d063b25a402454e5712ef9e007113e3a676b96c5f29b2bda29352f40"}, - {file = "coverage-7.13.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9b74db26dfea4f4e50d48a4602207cd1e78be33182bc9cbf22da94f332f99878"}, - {file = "coverage-7.13.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ad146744ca4fd09b50c482650e3c1b1f4dfa1d4792e0a04a369c7f23336f0400"}, - {file = "coverage-7.13.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:c555b48be1853fe3997c11c4bd521cdd9a9612352de01fa4508f16ec341e6fe0"}, - {file = "coverage-7.13.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7034b5c56a58ae5e85f23949d52c14aca2cfc6848a31764995b7de88f13a1ea0"}, - {file = "coverage-7.13.5-cp310-cp310-win32.whl", hash = "sha256:eb7fdf1ef130660e7415e0253a01a7d5a88c9c4d158bcf75cbbd922fd65a5b58"}, - {file = "coverage-7.13.5-cp310-cp310-win_amd64.whl", hash = "sha256:3e1bb5f6c78feeb1be3475789b14a0f0a5b47d505bfc7267126ccbd50289999e"}, - {file = "coverage-7.13.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66a80c616f80181f4d643b0f9e709d97bcea413ecd9631e1dedc7401c8e6695d"}, - {file = "coverage-7.13.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:145ede53ccbafb297c1c9287f788d1bc3efd6c900da23bf6931b09eafc931587"}, - {file = "coverage-7.13.5-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0672854dc733c342fa3e957e0605256d2bf5934feeac328da9e0b5449634a642"}, - {file = "coverage-7.13.5-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:ec10e2a42b41c923c2209b846126c6582db5e43a33157e9870ba9fb70dc7854b"}, - {file = "coverage-7.13.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be3d4bbad9d4b037791794ddeedd7d64a56f5933a2c1373e18e9e568b9141686"}, - {file = "coverage-7.13.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4d2afbc5cc54d286bfb54541aa50b64cdb07a718227168c87b9e2fb8f25e1743"}, - {file = "coverage-7.13.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3ad050321264c49c2fa67bb599100456fc51d004b82534f379d16445da40fb75"}, - {file = "coverage-7.13.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7300c8a6d13335b29bb76d7651c66af6bd8658517c43499f110ddc6717bfc209"}, - {file = "coverage-7.13.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:eb07647a5738b89baab047f14edd18ded523de60f3b30e75c2acc826f79c839a"}, - {file = "coverage-7.13.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:9adb6688e3b53adffefd4a52d72cbd8b02602bfb8f74dcd862337182fd4d1a4e"}, - {file = "coverage-7.13.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7c8d4bc913dd70b93488d6c496c77f3aff5ea99a07e36a18f865bca55adef8bd"}, - {file = "coverage-7.13.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0e3c426ffc4cd952f54ee9ffbdd10345709ecc78a3ecfd796a57236bfad0b9b8"}, - {file = "coverage-7.13.5-cp311-cp311-win32.whl", hash = "sha256:259b69bb83ad9894c4b25be2528139eecba9a82646ebdda2d9db1ba28424a6bf"}, - {file = "coverage-7.13.5-cp311-cp311-win_amd64.whl", hash = "sha256:258354455f4e86e3e9d0d17571d522e13b4e1e19bf0f8596bcf9476d61e7d8a9"}, - {file = "coverage-7.13.5-cp311-cp311-win_arm64.whl", hash = "sha256:bff95879c33ec8da99fc9b6fe345ddb5be6414b41d6d1ad1c8f188d26f36e028"}, - {file = "coverage-7.13.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:460cf0114c5016fa841214ff5564aa4864f11948da9440bc97e21ad1f4ba1e01"}, - {file = "coverage-7.13.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0e223ce4b4ed47f065bfb123687686512e37629be25cc63728557ae7db261422"}, - {file = "coverage-7.13.5-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6e3370441f4513c6252bf042b9c36d22491142385049243253c7e48398a15a9f"}, - {file = "coverage-7.13.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:03ccc709a17a1de074fb1d11f217342fb0d2b1582ed544f554fc9fc3f07e95f5"}, - {file = "coverage-7.13.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3f4818d065964db3c1c66dc0fbdac5ac692ecbc875555e13374fdbe7eedb4376"}, - {file = "coverage-7.13.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:012d5319e66e9d5a218834642d6c35d265515a62f01157a45bcc036ecf947256"}, - {file = "coverage-7.13.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8dd02af98971bdb956363e4827d34425cb3df19ee550ef92855b0acb9c7ce51c"}, - {file = "coverage-7.13.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f08fd75c50a760c7eb068ae823777268daaf16a80b918fa58eea888f8e3919f5"}, - {file = "coverage-7.13.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:843ea8643cf967d1ac7e8ecd4bb00c99135adf4816c0c0593fdcc47b597fcf09"}, - {file = "coverage-7.13.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:9d44d7aa963820b1b971dbecd90bfe5fe8f81cff79787eb6cca15750bd2f79b9"}, - {file = "coverage-7.13.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:7132bed4bd7b836200c591410ae7d97bf7ae8be6fc87d160b2bd881df929e7bf"}, - {file = "coverage-7.13.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a698e363641b98843c517817db75373c83254781426e94ada3197cabbc2c919c"}, - {file = "coverage-7.13.5-cp312-cp312-win32.whl", hash = "sha256:bdba0a6b8812e8c7df002d908a9a2ea3c36e92611b5708633c50869e6d922fdf"}, - {file = "coverage-7.13.5-cp312-cp312-win_amd64.whl", hash = "sha256:d2c87e0c473a10bffe991502eac389220533024c8082ec1ce849f4218dded810"}, - {file = "coverage-7.13.5-cp312-cp312-win_arm64.whl", hash = "sha256:bf69236a9a81bdca3bff53796237aab096cdbf8d78a66ad61e992d9dac7eb2de"}, - {file = "coverage-7.13.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5ec4af212df513e399cf11610cc27063f1586419e814755ab362e50a85ea69c1"}, - {file = "coverage-7.13.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:941617e518602e2d64942c88ec8499f7fbd49d3f6c4327d3a71d43a1973032f3"}, - {file = "coverage-7.13.5-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:da305e9937617ee95c2e39d8ff9f040e0487cbf1ac174f777ed5eddd7a7c1f26"}, - {file = "coverage-7.13.5-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:78e696e1cc714e57e8b25760b33a8b1026b7048d270140d25dafe1b0a1ee05a3"}, - {file = "coverage-7.13.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:02ca0eed225b2ff301c474aeeeae27d26e2537942aa0f87491d3e147e784a82b"}, - {file = "coverage-7.13.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:04690832cbea4e4663d9149e05dba142546ca05cb1848816760e7f58285c970a"}, - {file = "coverage-7.13.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0590e44dd2745c696a778f7bab6aa95256de2cbc8b8cff4f7db8ff09813d6969"}, - {file = "coverage-7.13.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d7cfad2d6d81dd298ab6b89fe72c3b7b05ec7544bdda3b707ddaecff8d25c161"}, - {file = "coverage-7.13.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e092b9499de38ae0fbfbc603a74660eb6ff3e869e507b50d85a13b6db9863e15"}, - {file = "coverage-7.13.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:48c39bc4a04d983a54a705a6389512883d4a3b9862991b3617d547940e9f52b1"}, - {file = "coverage-7.13.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2d3807015f138ffea1ed9afeeb8624fd781703f2858b62a8dd8da5a0994c57b6"}, - {file = "coverage-7.13.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ee2aa19e03161671ec964004fb74b2257805d9710bf14a5c704558b9d8dbaf17"}, - {file = "coverage-7.13.5-cp313-cp313-win32.whl", hash = "sha256:ce1998c0483007608c8382f4ff50164bfc5bd07a2246dd272aa4043b75e61e85"}, - {file = "coverage-7.13.5-cp313-cp313-win_amd64.whl", hash = "sha256:631efb83f01569670a5e866ceb80fe483e7c159fac6f167e6571522636104a0b"}, - {file = "coverage-7.13.5-cp313-cp313-win_arm64.whl", hash = "sha256:f4cd16206ad171cbc2470dbea9103cf9a7607d5fe8c242fdf1edf36174020664"}, - {file = "coverage-7.13.5-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0428cbef5783ad91fe240f673cc1f76b25e74bbfe1a13115e4aa30d3f538162d"}, - {file = "coverage-7.13.5-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e0b216a19534b2427cc201a26c25da4a48633f29a487c61258643e89d28200c0"}, - {file = "coverage-7.13.5-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:972a9cd27894afe4bc2b1480107054e062df08e671df7c2f18c205e805ccd806"}, - {file = "coverage-7.13.5-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4b59148601efcd2bac8c4dbf1f0ad6391693ccf7a74b8205781751637076aee3"}, - {file = "coverage-7.13.5-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:505d7083c8b0c87a8fa8c07370c285847c1f77739b22e299ad75a6af6c32c5c9"}, - {file = "coverage-7.13.5-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:60365289c3741e4db327e7baff2a4aaacf22f788e80fa4683393891b70a89fbd"}, - {file = "coverage-7.13.5-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1b88c69c8ef5d4b6fe7dea66d6636056a0f6a7527c440e890cf9259011f5e606"}, - {file = "coverage-7.13.5-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5b13955d31d1633cf9376908089b7cebe7d15ddad7aeaabcbe969a595a97e95e"}, - {file = "coverage-7.13.5-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:f70c9ab2595c56f81a89620e22899eea8b212a4041bd728ac6f4a28bf5d3ddd0"}, - {file = "coverage-7.13.5-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:084b84a8c63e8d6fc7e3931b316a9bcafca1458d753c539db82d31ed20091a87"}, - {file = "coverage-7.13.5-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:ad14385487393e386e2ea988b09d62dd42c397662ac2dabc3832d71253eee479"}, - {file = "coverage-7.13.5-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:7f2c47b36fe7709a6e83bfadf4eefb90bd25fbe4014d715224c4316f808e59a2"}, - {file = "coverage-7.13.5-cp313-cp313t-win32.whl", hash = "sha256:67e9bc5449801fad0e5dff329499fb090ba4c5800b86805c80617b4e29809b2a"}, - {file = "coverage-7.13.5-cp313-cp313t-win_amd64.whl", hash = "sha256:da86cdcf10d2519e10cabb8ac2de03da1bcb6e4853790b7fbd48523332e3a819"}, - {file = "coverage-7.13.5-cp313-cp313t-win_arm64.whl", hash = "sha256:0ecf12ecb326fe2c339d93fc131816f3a7367d223db37817208905c89bded911"}, - {file = "coverage-7.13.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fbabfaceaeb587e16f7008f7795cd80d20ec548dc7f94fbb0d4ec2e038ce563f"}, - {file = "coverage-7.13.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9bb2a28101a443669a423b665939381084412b81c3f8c0fcfbac57f4e30b5b8e"}, - {file = "coverage-7.13.5-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:bd3a2fbc1c6cccb3c5106140d87cc6a8715110373ef42b63cf5aea29df8c217a"}, - {file = "coverage-7.13.5-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6c36ddb64ed9d7e496028d1d00dfec3e428e0aabf4006583bb1839958d280510"}, - {file = "coverage-7.13.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:380e8e9084d8eb38db3a9176a1a4f3c0082c3806fa0dc882d1d87abc3c789247"}, - {file = "coverage-7.13.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e808af52a0513762df4d945ea164a24b37f2f518cbe97e03deaa0ee66139b4d6"}, - {file = "coverage-7.13.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e301d30dd7e95ae068671d746ba8c34e945a82682e62918e41b2679acd2051a0"}, - {file = "coverage-7.13.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:800bc829053c80d240a687ceeb927a94fd108bbdc68dfbe505d0d75ab578a882"}, - {file = "coverage-7.13.5-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:0b67af5492adb31940ee418a5a655c28e48165da5afab8c7fa6fd72a142f8740"}, - {file = "coverage-7.13.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c9136ff29c3a91e25b1d1552b5308e53a1e0653a23e53b6366d7c2dcbbaf8a16"}, - {file = "coverage-7.13.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:cff784eef7f0b8f6cb28804fbddcfa99f89efe4cc35fb5627e3ac58f91ed3ac0"}, - {file = "coverage-7.13.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:68a4953be99b17ac3c23b6efbc8a38330d99680c9458927491d18700ef23ded0"}, - {file = "coverage-7.13.5-cp314-cp314-win32.whl", hash = "sha256:35a31f2b1578185fbe6aa2e74cea1b1d0bbf4c552774247d9160d29b80ed56cc"}, - {file = "coverage-7.13.5-cp314-cp314-win_amd64.whl", hash = "sha256:2aa055ae1857258f9e0045be26a6d62bdb47a72448b62d7b55f4820f361a2633"}, - {file = "coverage-7.13.5-cp314-cp314-win_arm64.whl", hash = "sha256:1b11eef33edeae9d142f9b4358edb76273b3bfd30bc3df9a4f95d0e49caf94e8"}, - {file = "coverage-7.13.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:10a0c37f0b646eaff7cce1874c31d1f1ccb297688d4c747291f4f4c70741cc8b"}, - {file = "coverage-7.13.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b5db73ba3c41c7008037fa731ad5459fc3944cb7452fc0aa9f822ad3533c583c"}, - {file = "coverage-7.13.5-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:750db93a81e3e5a9831b534be7b1229df848b2e125a604fe6651e48aa070e5f9"}, - {file = "coverage-7.13.5-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9ddb4f4a5479f2539644be484da179b653273bca1a323947d48ab107b3ed1f29"}, - {file = "coverage-7.13.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8a7a2049c14f413163e2bdabd37e41179b1d1ccb10ffc6ccc4b7a718429c607"}, - {file = "coverage-7.13.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1c85e0b6c05c592ea6d8768a66a254bfb3874b53774b12d4c89c481eb78cb90"}, - {file = "coverage-7.13.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:777c4d1eff1b67876139d24288aaf1817f6c03d6bae9c5cc8d27b83bcfe38fe3"}, - {file = "coverage-7.13.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6697e29b93707167687543480a40f0db8f356e86d9f67ddf2e37e2dfd91a9dab"}, - {file = "coverage-7.13.5-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:8fdf453a942c3e4d99bd80088141c4c6960bb232c409d9c3558e2dbaa3998562"}, - {file = "coverage-7.13.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:32ca0c0114c9834a43f045a87dcebd69d108d8ffb666957ea65aa132f50332e2"}, - {file = "coverage-7.13.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:8769751c10f339021e2638cd354e13adeac54004d1941119b2c96fe5276d45ea"}, - {file = "coverage-7.13.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cec2d83125531bd153175354055cdb7a09987af08a9430bd173c937c6d0fba2a"}, - {file = "coverage-7.13.5-cp314-cp314t-win32.whl", hash = "sha256:0cd9ed7a8b181775459296e402ca4fb27db1279740a24e93b3b41942ebe4b215"}, - {file = "coverage-7.13.5-cp314-cp314t-win_amd64.whl", hash = "sha256:301e3b7dfefecaca37c9f1aa6f0049b7d4ab8dd933742b607765d757aca77d43"}, - {file = "coverage-7.13.5-cp314-cp314t-win_arm64.whl", hash = "sha256:9dacc2ad679b292709e0f5fc1ac74a6d4d5562e424058962c7bb0c658ad25e45"}, - {file = "coverage-7.13.5-py3-none-any.whl", hash = "sha256:34b02417cf070e173989b3db962f7ed56d2f644307b2cf9d5a0f258e13084a61"}, - {file = "coverage-7.13.5.tar.gz", hash = "sha256:c81f6515c4c40141f83f502b07bbfa5c240ba25bbe73da7b33f1e5b6120ff179"}, + {file = "coverage-7.14.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:84c32d90bf4537f0e7b4dec9aaa9a938fb8205136b9d2ecf4d7629d5262dc075"}, + {file = "coverage-7.14.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7c843572c605ab51cfdb5c6b5f2586e2a8467c0d28eca4bdef4ec70c5fecbd82"}, + {file = "coverage-7.14.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0c451757d3fa2603354fdc789b5e58a0e327a117c370a40e3476ba4eabab228c"}, + {file = "coverage-7.14.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:3fd43f0616e765ab78d069cf8358def7363957a45cee446d65c502dcfeea7893"}, + {file = "coverage-7.14.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:731e535b1498b27d13594a0527a79b0510867b0ad891532be41cb883f2128e20"}, + {file = "coverage-7.14.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c7492f2d493b976941c7ca050f273cbda2f43c381124f7586a3e3c16d1804fec"}, + {file = "coverage-7.14.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:dc38367eaa2abb1b766ac333142bce7655335a73537f5c8b75aaa89c2b987757"}, + {file = "coverage-7.14.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0a951308cde22cf77f953955a754d04dccb57fe3bb8e345d685778ed9fc1632a"}, + {file = "coverage-7.14.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fab3877e4ebb06bd9d4d4d00ee53309ee5478e66873c66a382272e3ee33eb7ea"}, + {file = "coverage-7.14.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:b812eb847b19876ebf33fb6c4f11819af05ab6050b0bfa1bc53412ae81779adb"}, + {file = "coverage-7.14.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d9c8ef6ed820c433de075657d72dda1f89a2984955e58b8a75feb3f184250218"}, + {file = "coverage-7.14.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d128b1bba9361fbaaf6a19e179e6cfd6a9103ce0c0555876f72780acc93efd85"}, + {file = "coverage-7.14.0-cp310-cp310-win32.whl", hash = "sha256:65f267ca1370726ec2c1aa38bbe4df9a71a740f22878d2d4bf59d71a4cd8d323"}, + {file = "coverage-7.14.0-cp310-cp310-win_amd64.whl", hash = "sha256:b34ece8065914f938ed7f2c5872bb865336977a52919149846eac3744327267a"}, + {file = "coverage-7.14.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a78e2a9d9c5e3b8d4ab9b9d28c985ea66fced0a7d7c2aec1f216e03a2011480"}, + {file = "coverage-7.14.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a1816c505187592dcd1c5a5f226601a549f70365fbd00930ac88b0c225b76bb4"}, + {file = "coverage-7.14.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d8e1762f0e9cbc26ec315471e7b47855218e833cd5a032d706fbf43845d878c7"}, + {file = "coverage-7.14.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9336e23e8bb3a3925398261385e2a1533957d3e760e91070dcb0e98bfa514eed"}, + {file = "coverage-7.14.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cd1169b2230f9cbe9c638ba38022ed7a2b1e641cc07f7cea0365e4be2a74980"}, + {file = "coverage-7.14.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d1bb3543b58fea74d2cd1abc4054cc927e4724687cb4560cd2ed88d2c7d820c0"}, + {file = "coverage-7.14.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a93bac2cb577ef60074999ed56d8a1535894398e2ed920d4185c3ec0c8864742"}, + {file = "coverage-7.14.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5904abf7e18cddc463219b17552229650c6b79e061d31a1059283051169cf7d5"}, + {file = "coverage-7.14.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:741f57cddc9004a8c81b084660215f33a6b597dbe62c31386b983ee26310e327"}, + {file = "coverage-7.14.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:664123feb0929d7affc135717dbd70d61d98688a08ab1e5ba464739620c6252d"}, + {file = "coverage-7.14.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:c83d2399a51bbec8429266905d33616f04bc5726b1138c35844d5fcd896b2e20"}, + {file = "coverage-7.14.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb2e855b87321259a037429288ae85216d191c74de3e79bf57cd2bc0761992c"}, + {file = "coverage-7.14.0-cp311-cp311-win32.whl", hash = "sha256:731dc15b385ac52289743d476245b61e1a2927e803bef655b52bc3b2a75a21f3"}, + {file = "coverage-7.14.0-cp311-cp311-win_amd64.whl", hash = "sha256:bfb0ed8ec5d25e93face268115d7964db9df8b9aae8edcde9ec6b16c726a7cc1"}, + {file = "coverage-7.14.0-cp311-cp311-win_arm64.whl", hash = "sha256:7ebb1c6df9f78046a1b1e0a89674cd4bf73b7c648914eebcf976a57fd99a5627"}, + {file = "coverage-7.14.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7ffd19fc8aed057fd686a17a4935eef5f9859d69208f96310e893e64b9b6ccf5"}, + {file = "coverage-7.14.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:829994cfe1aeb773ca27bf246d4badc1e764893e3bfb98fff820fcecd1ca4662"}, + {file = "coverage-7.14.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b4f07cf7edcb7ec39431a5074d7ea83b29a9f71fcfc494f0f40af4e65180420f"}, + {file = "coverage-7.14.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:ca3d9cf2c32b521bd9518385608787fa86f38daf993695307531822c3430ed67"}, + {file = "coverage-7.14.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92af52828e7f29d827346b0294e5a0853fa206db77db0395b282918d41e28db9"}, + {file = "coverage-7.14.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7b2bb6c9d7e769360d0f20a0f219603fd64f0c8f97de17ab25853261602be0fb"}, + {file = "coverage-7.14.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1c9ed6ef99f88fb8c14aa8e2bf8eb0fe55fa2edfea68f8675d78741df1a5ac0e"}, + {file = "coverage-7.14.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8231ade007f37959fbf58acc677f26b922c02eda6f0428ea307da0fd39681bf3"}, + {file = "coverage-7.14.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d8b013632cc1ce1d09dbe4f32667b4d320ec2f54fc326ebeffcd0b0bcc2bb6c4"}, + {file = "coverage-7.14.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1733198802d71ec4c524f322e2867ee05c62e9e75df86bdca545407a221827d1"}, + {file = "coverage-7.14.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:72a305291fa8ee01332f1aaf38b348ca34097f6aa0b0ef627eef2837e57bbba5"}, + {file = "coverage-7.14.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fcaba850dd317c65423a9d63d88f9573c53b00354d6dd95724576cc98a131595"}, + {file = "coverage-7.14.0-cp312-cp312-win32.whl", hash = "sha256:5ac83957a80d0701310e96d8bec68cdcf4f90a7674b7d13f15a344315b41ab27"}, + {file = "coverage-7.14.0-cp312-cp312-win_amd64.whl", hash = "sha256:70390b0da32cb90b501953716302906e8bcce087cb283e70d8c97729f22e92b2"}, + {file = "coverage-7.14.0-cp312-cp312-win_arm64.whl", hash = "sha256:91b993743d959b8be85b4abf9d5478216a69329c321efe5be0433c1a841d691d"}, + {file = "coverage-7.14.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f2bbb8254370eb4c628ff3d6fa8a7f74ddc40565394d4f7ab791d1fe568e37ef"}, + {file = "coverage-7.14.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:23b81107f46d3f21d0cbce30664fcec0f5d9f585638a67081750f99738f6bf66"}, + {file = "coverage-7.14.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:22a7e06a5f11a757cdfe79018e9095f9f69ae283c5cd8123774c788deec8717b"}, + {file = "coverage-7.14.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9d1aa57a1dc8e05bdc42e81c5d671d849577aeedf279f4c449d6d286f9ed88ca"}, + {file = "coverage-7.14.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90c1a51bcfddf645b3bb7ec333d9e94393a8e94f55642380fa8a9a5a9e636cb7"}, + {file = "coverage-7.14.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a841fae2fadcae4f438d43b6ccc4aac2ad609f47cdb6cfdce60cbb3fe5ca7bc2"}, + {file = "coverage-7.14.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c79d2319cabef1fe8e86df73371126931550804738f78ad7d31e3aad85a67367"}, + {file = "coverage-7.14.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1b23b0c6f0b1db6ad769b7050c8b641c0bf215ded26c1816955b17b7f26edfa9"}, + {file = "coverage-7.14.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:55d3089079ce181a4566b1065ab28d2575eb76d8ac8f81f4fcda2bf037fee087"}, + {file = "coverage-7.14.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:49c005cba1e2f9677fb2845dcdf9a2e72a52a17d63e8231aaaae35d9f50215ef"}, + {file = "coverage-7.14.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:9117377b823daa28aa8635fbb08cda1cd6be3d7143257345459559aeef852d52"}, + {file = "coverage-7.14.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7b79d646cf46d5cf9a9f40281d4441df5849e445726e369006d2b117710b33fe"}, + {file = "coverage-7.14.0-cp313-cp313-win32.whl", hash = "sha256:fb609b3658479e33f9516d46f1a89dbb9b6c261366e3a11844a96ec487533dae"}, + {file = "coverage-7.14.0-cp313-cp313-win_amd64.whl", hash = "sha256:0773d8329cf32b6fd222e4b52622c61fe8d503eb966cfc8d3c3c10c96266d50e"}, + {file = "coverage-7.14.0-cp313-cp313-win_arm64.whl", hash = "sha256:b4e26a0f1b696faf283bffe5b8569e44e336c582439df5d53281ab89ee0cba96"}, + {file = "coverage-7.14.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:953f521ca9445300397e65fda3dca58b2dbd68fee983777420b57ac3c77e9f90"}, + {file = "coverage-7.14.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:98af83fd65ae24b1fdd03aaead967a9f523bcd2f1aab2d4f3ffda65bb568a6f1"}, + {file = "coverage-7.14.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:668b92e6958c4db7cf92e81caac328dfbbdbb215db2850ad28f0cbe1eea0bfbd"}, + {file = "coverage-7.14.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9fbd898551762dea00d3fef2b1c4f99afd2c6a3ff952ea07d60a9bd5ed4f34bc"}, + {file = "coverage-7.14.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:68af363c07ecd8d4b7d4043d85cb376d7d227eceb54e5323ee45da73dbd3e426"}, + {file = "coverage-7.14.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6e57054a583da8ac55edf24117ea4c9133032cfc4cf72aa2d48c1e5d4b52f899"}, + {file = "coverage-7.14.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cc3499459bbcdd51a65b64c35ab7ed2764eaf3cba826e0df3f1d7fe2e102b70b"}, + {file = "coverage-7.14.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:45899ec2138a4346ed34d601dedf5076fb74edf2d1dd9dc76a78e82397edee90"}, + {file = "coverage-7.14.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8767486808c436f05b23ab98eb963fb29185e32a9357a166971685cb3459900f"}, + {file = "coverage-7.14.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:a3b5ddfd6aa7ddad53ee3edb231e88a2151507a43229b7d71b953916deca127d"}, + {file = "coverage-7.14.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:63df0fe568e698e1045792399f8ab6da3a6c2dce3182813fb92afa2641087b47"}, + {file = "coverage-7.14.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:827d6397dbd95144939b18f89edf31f63e1f99633e8d5f32f22ba8bdda567477"}, + {file = "coverage-7.14.0-cp313-cp313t-win32.whl", hash = "sha256:7bf43e000d24012599b879791cff41589af90674722421ef11b11a5431920bab"}, + {file = "coverage-7.14.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3f5549365af25d770e06b1f8f5682d9a5637d06eb494db91c6fa75d3950cc917"}, + {file = "coverage-7.14.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6d160217ec6fe890f16ad3a9531761589443749e448f91986c972714fad361c8"}, + {file = "coverage-7.14.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:9aed9fa983514ca032790f3fe0d1c0e42ca7e16b42432af1706b50a9a46bef5d"}, + {file = "coverage-7.14.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ba3b8390db29296dbbf49e91b6fe08f990743a90c8f447ba4c2ffc29670dfa63"}, + {file = "coverage-7.14.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3a5d8e876dfa2f102e970b183863d6dedd023d3c0eeca1fe7a9787bc5f28b212"}, + {file = "coverage-7.14.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5ebb8f4614a3787d567e610bbfdf96a4798dd69a1afb1bd8ad228d4111fe6ff3"}, + {file = "coverage-7.14.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b9bf47223dd8db3d4c4b2e443b02bace480d428f0822c3f991600448a176c97"}, + {file = "coverage-7.14.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3485a836550b303d006d57cc06e3d5afaabc642c77050b7c985a97b13e3776b8"}, + {file = "coverage-7.14.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3e7e88110bae996d199d1693ca8ec3fd52441d426401ae963437598667b4c5eb"}, + {file = "coverage-7.14.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:15228a6800ce7bdf1b74800595e56db7138cecb338fdbf044806e10dcf182dfe"}, + {file = "coverage-7.14.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:9d26ac7f5398bafc5b57421ad994e8a4749e8a7a0e62d05ec7d53014d5963bfa"}, + {file = "coverage-7.14.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2fb73254ff43c911c967a899e1359bc5049b4b115d6e8fbdde4937d0a2246cd5"}, + {file = "coverage-7.14.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:454a380af72c6adada298ed270d38c7a391288198dbfb8467f786f588751a90c"}, + {file = "coverage-7.14.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:65c86fb646d2bd2972e96bd1a8b45817ed907cee68655d6295fe7ec031d04cca"}, + {file = "coverage-7.14.0-cp314-cp314-win32.whl", hash = "sha256:6a6516b02a6101398e19a3f44820f69bab2590697f7def4331f668b14adaf828"}, + {file = "coverage-7.14.0-cp314-cp314-win_amd64.whl", hash = "sha256:45e0f79d8351fa76e256716df91eab12890d32678b9590df7ae1042e4bd4cf5d"}, + {file = "coverage-7.14.0-cp314-cp314-win_arm64.whl", hash = "sha256:4b899594a8b2d81e5cc064a0d7f9cac2081fed91049456cae7676787e41549c9"}, + {file = "coverage-7.14.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:f580f8c80acd94ac72e863efe2cab791d8c38d153e0b463b92dfa000d5c84cd1"}, + {file = "coverage-7.14.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a2bd259c442cd43c49b30fbafc51776eb19ea396faf159d26a83e6a0a5f13b0c"}, + {file = "coverage-7.14.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a706b908dfa85538863504c624b237a3cc34232bf403c057414ebfdb3b4d9f84"}, + {file = "coverage-7.14.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7333cd944ee4393b9b3d3c1b598c936d4fc8d70573a4c7dacfec5590dd50e436"}, + {file = "coverage-7.14.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f162bc9a15b82d947b02651b0c7e1609d6f7a8735ca330cfadec8481dd97d5a"}, + {file = "coverage-7.14.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:362cb78e01a5dc82009d88004cf60f2e6b6d6fcbfdec05b05af73b0abf40118f"}, + {file = "coverage-7.14.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:acebd068fca5512c3a6fde9c045f901613478781a73f0e82b307b214daef23fb"}, + {file = "coverage-7.14.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:29fe3da551dface75deb2ccbf87b6b66e2e7ef38f6d89050b428be94afff3490"}, + {file = "coverage-7.14.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:b4cc4fce8672fffcb09b0eafc167b396b3ba53c4a7230f54b7aaffbf6c835fa9"}, + {file = "coverage-7.14.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:5d4a51aad8ba8bdcd2b8bd8f03d4aca19693fa2327a3470e4718a25b03481020"}, + {file = "coverage-7.14.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:9f323af3e1e4f68b60b7b247e37b8515563a61375518fa59de1af48ba28a3db6"}, + {file = "coverage-7.14.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:1a0abc7342ea9711c469dd8b821c6c311e6bc6aac1442e5fbd6b27fae0a8f3db"}, + {file = "coverage-7.14.0-cp314-cp314t-win32.whl", hash = "sha256:a9f864ef57b7172e2db87a096642dd51e179e085ab6b2c371c29e885f65c8fb2"}, + {file = "coverage-7.14.0-cp314-cp314t-win_amd64.whl", hash = "sha256:29943e552fdc08e082eb51400fb2f58e118a83b5542bd06531214e084399b644"}, + {file = "coverage-7.14.0-cp314-cp314t-win_arm64.whl", hash = "sha256:742a73ea621953b012f2c4c2219b512180dd84489acf5b1596b0aafc55b9100b"}, + {file = "coverage-7.14.0-py3-none-any.whl", hash = "sha256:8de5b61163aee3d05c8a2beab6f47913df7981dad1baf82c414d99158c286ab1"}, + {file = "coverage-7.14.0.tar.gz", hash = "sha256:057a6af2f160a85384cde4ab36f0d2777bae1057bae255f95413cdd382aa5c74"}, ] [package.extras] @@ -925,27 +879,19 @@ ssh = ["bcrypt (>=3.1.5)"] [[package]] name = "cssutils" -version = "2.15.0" +version = "2.11.0" description = "A CSS Cascading Style Sheets library for Python" optional = false -python-versions = ">=3.10" +python-versions = ">=3.8" groups = ["dev"] files = [ - {file = "cssutils-2.15.0-py3-none-any.whl", hash = "sha256:207faa466810a1aef109261673f2458356d0839ddedaebc0ee553376290fb6a9"}, - {file = "cssutils-2.15.0.tar.gz", hash = "sha256:e9739237f3915037dacba787c4b58f280e3ec5d9864953e185bf23d40ff7d021"}, + {file = "cssutils-2.11.0-py3-none-any.whl", hash = "sha256:220816dc6d413e81281bbd568c473a8ae28f73b1af008b1bacf3a7ebd21e0334"}, + {file = "cssutils-2.11.0.tar.gz", hash = "sha256:cd24a30b9a848ca92d80f0d1b362139c0b69de31394d585dbf1b17a5dc4aa627"}, ] -[package.dependencies] -encutils = "*" -more_itertools = "*" - [package.extras] -check = ["pytest-checkdocs (>=2.14)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=3.4)"] -test = ["cssselect", "importlib_resources ; python_version < \"3.9\"", "jaraco.test (>=5.1)", "lxml ; python_version < \"3.11\"", "pytest (>=6,!=8.1.*)"] -type = ["pytest-mypy (>=1.0.1) ; platform_python_implementation != \"PyPy\""] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["cssselect", "importlib-resources ; python_version < \"3.9\"", "jaraco.test (>=5.1)", "lxml ; python_version < \"3.11\"", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [[package]] name = "cyclonedx-python-lib" @@ -1004,18 +950,18 @@ cli = ["tomli ; python_version < \"3.11\""] [[package]] name = "dict2css" -version = "0.3.0.post1" +version = "0.4.0" description = "A μ-library for constructing cascading style sheets from Python dictionaries." optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" groups = ["dev"] files = [ - {file = "dict2css-0.3.0.post1-py3-none-any.whl", hash = "sha256:f006a6b774c3e31869015122ae82c491fd25e7de4a75607a62aa3e798f837e0d"}, - {file = "dict2css-0.3.0.post1.tar.gz", hash = "sha256:89c544c21c4ca7472c3fffb9d37d3d926f606329afdb751dc1de67a411b70719"}, + {file = "dict2css-0.4.0-py3-none-any.whl", hash = "sha256:d6058b953a35bd56c0574e8b85540df8da26348d16a21063d9063dd6fd1cd188"}, + {file = "dict2css-0.4.0.tar.gz", hash = "sha256:fbb01ebf86c5b667aa9d0348294ef7141a1ee0b64df75d468ea423e1aaef561a"}, ] [package.dependencies] -cssutils = ">=2.2.0" +cssutils = ">=2.2.0,<=2.11.0" domdf-python-tools = ">=2.2.0" [[package]] @@ -1078,21 +1024,6 @@ typing-extensions = ">=3.7.4.1" all = ["pytz (>=2019.1)"] dates = ["pytz (>=2019.1)"] -[[package]] -name = "encutils" -version = "1.0.0" -description = "" -optional = false -python-versions = ">=3.10" -groups = ["dev"] -files = [ - {file = "encutils-1.0.0-py3-none-any.whl", hash = "sha256:605297da19a23d1b2da7d3b9bd75513acc979e9facf03aa7ec7ba04b5f567a79"}, - {file = "encutils-1.0.0.tar.gz", hash = "sha256:38eca5af18cebabd8be43c17f14c9d3fbba83cc5f7ac8e3ab1c86e24c4b2b91a"}, -] - -[package.dependencies] -chardet = "*" - [[package]] name = "exasol-toolbox" version = "7.0.0" @@ -1440,14 +1371,14 @@ license = ["ukkonen"] [[package]] name = "idna" -version = "3.13" +version = "3.14" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.8" groups = ["main", "dev"] files = [ - {file = "idna-3.13-py3-none-any.whl", hash = "sha256:892ea0cde124a99ce773decba204c5552b69c3c67ffd5f232eb7696135bc8bb3"}, - {file = "idna-3.13.tar.gz", hash = "sha256:585ea8fe5d69b9181ec1afba340451fba6ba764af97026f92a91d4eef164a242"}, + {file = "idna-3.14-py3-none-any.whl", hash = "sha256:e677eaf072e290f7b725f9acf0b3a2bd55f9fd6f7c70abe5f0e34823d0accf69"}, + {file = "idna-3.14.tar.gz", hash = "sha256:466d810d7a2cc1022bea9b037c39728d51ae7dad40d480fc9b7d7ecf98ba8ee3"}, ] [package.extras] @@ -1711,103 +1642,103 @@ type = ["pygobject-stubs", "pytest-mypy (>=1.0.1)", "shtab", "types-pywin32"] [[package]] name = "librt" -version = "0.10.0" +version = "0.11.0" description = "Mypyc runtime library" optional = false python-versions = ">=3.9" groups = ["dev"] markers = "platform_python_implementation != \"PyPy\"" files = [ - {file = "librt-0.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7dc99f9642100b86e5f6bb14cdc9970009e31a9ef7d64df6704b7018451524a3"}, - {file = "librt-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8298cedfcfaff3790000bd057aaaa3df1b0ab54cf7b48eeab16184cbb1bc66b9"}, - {file = "librt-0.10.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee7dbe312dbf76468255b79a7ba311236fde620f2f7055fc09d421e31340314e"}, - {file = "librt-0.10.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:56ed90c48c19249012dadfd79a1bc13bd5168ea60a70722d330a3a600c0b1852"}, - {file = "librt-0.10.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7d74ca0f4b2b09c117f913d4df01f6b934dff8a271096b35167d5264a31649f0"}, - {file = "librt-0.10.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8eb2daa9375f93c0e55ff5e44a4bbe98f39e5fe52e1abf9c97acb67743b61bf8"}, - {file = "librt-0.10.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7b09b90e634e6dff57978cd358070046071e2b120501f10787aeb35425f504f6"}, - {file = "librt-0.10.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:2cf22fd379d60c739b800d4295ed34045f8b04aa8df9c12bd2f8f43f7fe672b7"}, - {file = "librt-0.10.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:74c798793fcf29a84d442278ebe0bb1fff79fe58ac4106eeff7019cbba861423"}, - {file = "librt-0.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dc4f1573401e8dbe6c26511fe027620b0fb30ae9a7ab814e02e510626b8b5f9c"}, - {file = "librt-0.10.0-cp310-cp310-win32.whl", hash = "sha256:e1428275f5fe3d4db6822e58d8b005a5b28ffca55e8433ebc051247fbe46429f"}, - {file = "librt-0.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:0708e9408f585b0f065081680583a577652099680ccf820c7538904322b679c3"}, - {file = "librt-0.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:01b4500ca3a625450c032a9142a8e843923ce263fa8a92ad1b38927cabe2fe72"}, - {file = "librt-0.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6b7e42d1b3e300d20bfc87e72ffd62f0a92a2cb3c35f7bf90df90c9d2a49f74c"}, - {file = "librt-0.10.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c8ef7b8c61ce3a1b597cd3e15348ff1574325165c2e7ce09a718154cde2a7950"}, - {file = "librt-0.10.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:e73c84f72d1fa0d6eaa7a1930b436ba8d2c90c58d77bfabb09995a69ad35f6c0"}, - {file = "librt-0.10.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9728cb98713bd862fb8f4fd6a642d1896c86058a41d77c70f3d5cee75e725275"}, - {file = "librt-0.10.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:648b7e941d20acd72f9652115e0e53facd98156d61f9ebf7a812bdef8bdccea9"}, - {file = "librt-0.10.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c3e33747c068e86a9007c20fdb777eb5ba8d3d19136d7812f88e69a713041b6f"}, - {file = "librt-0.10.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d509c745bf7e77d1107cf05e6abb249dc03fad13eb39f2286a49deedaeb2bcd7"}, - {file = "librt-0.10.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:786ad5a15e99d0e0e74f3adbeecc198a5ac58f340be07e984723d1e0074838de"}, - {file = "librt-0.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:075582d877a97ee3d8e77bda3689dbe617b14f6469224a2d80b4b6c38e3951aa"}, - {file = "librt-0.10.0-cp311-cp311-win32.whl", hash = "sha256:75ecdc3f5a90065aa2af2e574706c5495adc392520762dcf10b1aa716f0b8090"}, - {file = "librt-0.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:b6f6084884131d8a52cb9d7095ff2aa52c1e786d9fdaefab1fb4515415e9e083"}, - {file = "librt-0.10.0-cp311-cp311-win_arm64.whl", hash = "sha256:0140bd62151160047e89b2730cb6f8506cdac5127baa1afb9231e4dd3fe7f681"}, - {file = "librt-0.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b4b58a44b407e91f633dafee008de9ddea6aa2a555ed94929c099260910bd0ba"}, - {file = "librt-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:950b79b11762531bdf45a9df909d2f9a2a8445c70c88665c01d14c8511a27dc5"}, - {file = "librt-0.10.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4538453f51be197633b425912c150e25b0667252d3741c53e8368176d98d9d37"}, - {file = "librt-0.10.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:70b955f091beac93e994a0b7ec616934f63b3ea5c3d6d7af847562f935aceca7"}, - {file = "librt-0.10.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:483e685e06b6163728ba6c85d74315176be7190f432ec2a41226e5e14355d5f0"}, - {file = "librt-0.10.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7ac53d946a009d1a38c44a60812708c9458fb2a239a5f630d8e625571386650f"}, - {file = "librt-0.10.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bc8771c9fcf0ea894ca41fdc2abd83572c2fbda221f232d86e718614e57ff513"}, - {file = "librt-0.10.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:70805dbc5257892ac572f86290a61e3c8d90224ecce1a8b2d1f7ed51965417f4"}, - {file = "librt-0.10.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d3b4f300f7bcba6e2ff73fb8bef1898479e9772bfa2682998c636391633ec826"}, - {file = "librt-0.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:943bc943f92f4fb3408fae62485c6a3ad68ce4f2ee205643a39641525c19a276"}, - {file = "librt-0.10.0-cp312-cp312-win32.whl", hash = "sha256:6065c1a758fba1010b41401013903d3d5d2750eab425ddedd584abac31d0630e"}, - {file = "librt-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:d788ecbe208ab352dab0e105cc06057bf9a2fc7e58cabb0d751ad9e30062b9e2"}, - {file = "librt-0.10.0-cp312-cp312-win_arm64.whl", hash = "sha256:6003d1f295bdba02656dc81308208fc060d0a51d8c0d0a6db70f7f3c57b9ba0a"}, - {file = "librt-0.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f0ede79d682e73f91c1b599a76d78b7464b9b5d213754cedb13372d9df36e596"}, - {file = "librt-0.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e0ba0b131fdb336c8b9c948e397f4a7e649d0f783b529f07b647bf4961df392e"}, - {file = "librt-0.10.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2728117da2afb96fb957768725ee43dc9a2d73b031e02da424b818a3cdd3a275"}, - {file = "librt-0.10.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:723ba80594c49cdf0584196fc430752262605dc9449902fc9bd3d9b79976cb77"}, - {file = "librt-0.10.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7292edaaca294a61a978c53a3c7d6130d099b0dfbc8f0a65916cdc6b891b9852"}, - {file = "librt-0.10.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:89fe9d539f2c10a1666633eeeac507ce95dd06d9ecc58de3c6390dba156a3d3a"}, - {file = "librt-0.10.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4efa7b9587503fa5b67f40593302b9c8836d211d222ff9f7cafe67be5f8f0b10"}, - {file = "librt-0.10.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:22dc982ef59df0136df36092ccbdbb570ced8aafb33e49585739b2f1de1c13b6"}, - {file = "librt-0.10.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:6f2e5f3606253a84cea719c94a3bb1c54487b5d617d0254d46e0920d8a06be3f"}, - {file = "librt-0.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:40884bfaa1e29f6b6a9be255007d8f359bfc9e61d68bdef8ed3158bfcbc95df9"}, - {file = "librt-0.10.0-cp313-cp313-win32.whl", hash = "sha256:3cd34cd8254eba756660bff6c2da91278248184301054fe3e4feb073bdd49b14"}, - {file = "librt-0.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:7baac5313e2d8dce1386f97777a8d03ab28f5fe1e780b3b9ac2ee7544551fedc"}, - {file = "librt-0.10.0-cp313-cp313-win_arm64.whl", hash = "sha256:afc5b4406c8e2515698d922a5c7823a009312835ea58196671fff40e35cb8166"}, - {file = "librt-0.10.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:f09588a30e6a22ec624090d72a3ab1a6d4d5485c3ed739603e76aa3c16efa688"}, - {file = "librt-0.10.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:131ade118d12bd7a0adc4e655474a553f1b76cf78385868885944d21d51e45e0"}, - {file = "librt-0.10.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b8b9ab28e40d011c373a189eae900c916e66d6fbecf7983e9e4883089ee085ef"}, - {file = "librt-0.10.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:67c39bb30da73bae1f293d1ed8bc2f8f6642649dd0928d3600aeff3041ac23d6"}, - {file = "librt-0.10.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8c3273c6b774614f093c8927c2bf1b077d0fefde988fe98f46a333734e5597ab"}, - {file = "librt-0.10.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9dd7c1b86a4baa583ab5db977484b93a2c474e69e96ef3e9538387ea54229cb9"}, - {file = "librt-0.10.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a77385c5a202e831149f7ad03be9e67cf80e957e52c614e83dcb822c95222eb8"}, - {file = "librt-0.10.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c6a5eafa74b5655bad59886138ed68426f098a6beb8cb95a71f2cc3cd8bb33fe"}, - {file = "librt-0.10.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:1fc93d0439204c50ab4d1512611ce2c206f1b369b419f69c7c27c761561e3291"}, - {file = "librt-0.10.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:79e713c178bc7a744adfbee6b4619a288eecc0c914da2a9313a20255abe2f0cf"}, - {file = "librt-0.10.0-cp314-cp314-win32.whl", hash = "sha256:2eba9d955a68c41d9f326be3da42f163ec3518b7ab20f1c826224e7bed71e0bf"}, - {file = "librt-0.10.0-cp314-cp314-win_amd64.whl", hash = "sha256:cbfaf7f5145e9917f5d18bffa298eff6a19d74e7b8b11dabdca95785befe8dbf"}, - {file = "librt-0.10.0-cp314-cp314-win_arm64.whl", hash = "sha256:8d6d385d1969849a6b1397114df22714b6ded917bada98668e3e974dc663477e"}, - {file = "librt-0.10.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:6c3a82d3bd32631ef5c79922dfc028520c9ad840255979ab4d908271818039ee"}, - {file = "librt-0.10.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d64cc66005dc324c9bb1fa3fc2841f529002f6eb15966d55e46d430f56955a6a"}, - {file = "librt-0.10.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9bb562cd28c88cd2c6a9a6c78f99dc39348d6b16c94adc25de0e574acf1176e9"}, - {file = "librt-0.10.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:b809aa2854d019c28773b03605df22adc675ee4f3f4402d673581313e8906119"}, - {file = "librt-0.10.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cc15acabdd519bd4176fdadc2119e5e3093485d86f89138daf47e5b4cedb983a"}, - {file = "librt-0.10.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b1b2d835307d08ddadd94568e2369648ec9173bd3eea6d7f52a1abe717c81f98"}, - {file = "librt-0.10.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d261c6a2f93335a5167887fb0223e8b98ffce20ee3fde242e8e58a37ece6d0e5"}, - {file = "librt-0.10.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:e2ffd44963f8e7f68995504d90f9881d64e94dc1d8e310039b9526108fc0c0f7"}, - {file = "librt-0.10.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:5f285f6455ed495791c4d8630e5af732960adea93cac4c893d15619f2eae53e8"}, - {file = "librt-0.10.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f6034ff52e663d34c7b82ef2aa2f94ad7c1d939e2368e63b06844bc4d127d2e1"}, - {file = "librt-0.10.0-cp314-cp314t-win32.whl", hash = "sha256:657860fd877fba6a241ea088ef99f63ca819945d3c715265da670bad56c37ebe"}, - {file = "librt-0.10.0-cp314-cp314t-win_amd64.whl", hash = "sha256:56ded2d66010203a0cb5af063b609e3f079531a0e5e576d618dece859fd2e1af"}, - {file = "librt-0.10.0-cp314-cp314t-win_arm64.whl", hash = "sha256:1ee63f30abf18ed4830fdbaf87b2b6f4bba1e198d46085c314edde4045e56715"}, - {file = "librt-0.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:83628c28545a5f4d860b48fae7f62367c006ab7405898573f34af8b7dcb178a2"}, - {file = "librt-0.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4bcf57b4de07e2d4bd093636ee59dc1b64298f304148dd9c4f001f7c7897650d"}, - {file = "librt-0.10.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2236c16bdb7c527eb671e4b599eec2c4229fddf80573de2bde529924f46db971"}, - {file = "librt-0.10.0-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:c1efa2f494811b245427095225a4d0251aee33ba4cf6ba2b7a6a9a619bc1a2ff"}, - {file = "librt-0.10.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d14626d350af79eed4b4f8886530052e3f78a62e9e53d2699f726f99c3d1d122"}, - {file = "librt-0.10.0-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b609f3461beae5608ca5219131ae5cdfea2e369818030abfc6ba7086830cde42"}, - {file = "librt-0.10.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0e2338b67c8e72755ccd1ab77b027e3701b375a1e12b4576fdefdf9c46448274"}, - {file = "librt-0.10.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:17cadff57139ff49beea0b17e50b28dfc3f9687126399696de4d2d8ae86ba7ff"}, - {file = "librt-0.10.0-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:5496102c8ed065c128d0f0fd10dcb3f9f3fd9b346954462d62af623f1b1ec7cd"}, - {file = "librt-0.10.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:537e1bfa459c1c92a263768a8a0c6fd0558049fa6c1b866d791eea711ae64114"}, - {file = "librt-0.10.0-cp39-cp39-win32.whl", hash = "sha256:85aca5a7ddc5f2d4cba24eba35667d83893ff2980dbd5884be16f538a24351e4"}, - {file = "librt-0.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:e45e46ff5fdfc690e77bb8557d5ba56974c4006b744ddbd70cce99fec6bfbeb8"}, - {file = "librt-0.10.0.tar.gz", hash = "sha256:1aba1e8aa4e3307a7be68a74149545fde7451964dc0235a8bec5704a17bdda42"}, + {file = "librt-0.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6e94ebfcfa2d5e9926d6c3b9aa4617ffc42a845b4321fb84021b872358c82a0f"}, + {file = "librt-0.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ae627397a2f351560440d872d6f7c8dbb4072e57868e7b2fc5b8b430fe489d45"}, + {file = "librt-0.11.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc329359321b67d24efdf4bc69012b0597001649544db662c001db5a0184794c"}, + {file = "librt-0.11.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:7e82e642ab0f7608ce2fe53d76ca2280a9ee33a1b06556142c7c6fe80a86fc33"}, + {file = "librt-0.11.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:88145c15c67731d54283d135b03244028c750cc9edc334a96a4f5950ebdb2884"}, + {file = "librt-0.11.0-cp310-cp310-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9d36a51b3d93320b686588e27123f4995804dbf1bce81df78c02fc3c6eea9280"}, + {file = "librt-0.11.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d00f3ac06a2a8b246327f11e186a53a100a4d5c7ed52346367e5ec751d51586c"}, + {file = "librt-0.11.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:461bbceede621f1ffb8839755f8663e886087ee7af16294cab7fb4d782c62eeb"}, + {file = "librt-0.11.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:0cad8a4d6a8ff03c9b76f9414caccd78e7cfbc8a2e12fa334d8e1d9932753783"}, + {file = "librt-0.11.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f37aa505b3cf60701562eddb32df74b12a9e380c207fd8b06dd157a943ac7ea0"}, + {file = "librt-0.11.0-cp310-cp310-win32.whl", hash = "sha256:94663a21534637f0e787ec2a2a756022df6e5b7b2335a5cdd7d8e33d68a2af89"}, + {file = "librt-0.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:dec7db73758c2b54953fd8b7fe348c45188fe26b39ee18446196edd08453a5d4"}, + {file = "librt-0.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:93d95bd45b7d58343d8b90d904450a545144eec19a002511163426f8ab1fae29"}, + {file = "librt-0.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ee278c769a713638cdacd4c0436d72156e75df3ebc0166ab2b9dc43acc386c9"}, + {file = "librt-0.11.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f230cb1cbc9faaa616f9a678f530ebcf186e414b6bcbd88b960e4ba1b92428d5"}, + {file = "librt-0.11.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:5d63c855d86938d9de93e265c9bd8c705b51ec494de5738340ee93767a686e4b"}, + {file = "librt-0.11.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:993f028be9e96a08d31df3479ac80d99be374d17f3b78e4796b3fd3c913d4e89"}, + {file = "librt-0.11.0-cp311-cp311-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:258d73a0aa66a055e65b2e4d1b8cdb23b9d132c5bb915d9547d804fcaed116cc"}, + {file = "librt-0.11.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0827efe7854718f04aaddf6496e96960a956e676fe1d0f04eb41511fd8ad06d5"}, + {file = "librt-0.11.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7753e57d6e12d019c0d8786f1c09c709f4c3fcc57c3887b24e36e6c06ec938b7"}, + {file = "librt-0.11.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:11bd19822431cc21af9f27374e7ae2e58103c7d98bda823536a6c47f6bb2bb3d"}, + {file = "librt-0.11.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:22bdf239b219d3993761a148ffa134b19e52e9989c84f845d5d7b71d70a17412"}, + {file = "librt-0.11.0-cp311-cp311-win32.whl", hash = "sha256:46c60b61e308eb535fbd6fa622b1ee1bb2815691c1ad9c98bf7b84952ec3bc8d"}, + {file = "librt-0.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:902e546ff044f579ff1c953ff5fce97b636fe9e3943996b2177710c6ef076f73"}, + {file = "librt-0.11.0-cp311-cp311-win_arm64.whl", hash = "sha256:65ac3bc20f78aa0ee5ae84baa68917f89fef4af63e941084dd019a0d0e749f0c"}, + {file = "librt-0.11.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b87504f1690a23b9a2cca841191a04f83895d4fc2dd04df91d82b1a04ca2ad46"}, + {file = "librt-0.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40071fc5fe0ce8daa6de616702314a01e1250711682b0523d6ab8d4525910cb3"}, + {file = "librt-0.11.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:137e79445c896a0ea7b265f52d23954e05b64222ee1af69e2cb34219067cbb67"}, + {file = "librt-0.11.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:cca6644054e78746d8d4ef238681f9c34ff8b584fe6b988ecebb8db3b15e622a"}, + {file = "librt-0.11.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5b0eea49f5562861ee8d757a32ef7d559c1d35be2aaaa1ec28941d74c9ffc8a"}, + {file = "librt-0.11.0-cp312-cp312-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0d1029d7e1ae1a7e647ed6fb5df8c4ce2dffefb7a9f5fd1376a4554d96dac09f"}, + {file = "librt-0.11.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bc3ce6b33c5828d9e80592011a5c584cb2ce86edbc4088405f70da47dc1d1b3b"}, + {file = "librt-0.11.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:936c5995f3514a42111f20099397d8177c79b4d7e70961e396c6f5a0a3566766"}, + {file = "librt-0.11.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:9bc0ca6ad9381cbe8e4aa6e5726e4c80c78115a6e9723c599ed1d73e092bc49d"}, + {file = "librt-0.11.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:070aa8c26c0a74774317a72df8851facc7f0f012a5b406557ac56992d92e1ec8"}, + {file = "librt-0.11.0-cp312-cp312-win32.whl", hash = "sha256:6bf14feb84b05ae945277395451998c89c54d0def4070eb5c08de544930b245a"}, + {file = "librt-0.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:75672f0bc524ede266287d532d7923dbce94c7514ad07627bac3d0c6d92cc4d9"}, + {file = "librt-0.11.0-cp312-cp312-win_arm64.whl", hash = "sha256:2f10cf143e4a9bb0f4f5af568a00df94a2d69ef41c2579584454bb0fe5cc642c"}, + {file = "librt-0.11.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:78dc31f7fdfe9c9d0eb0e8f42d139db230e826415bbcabd9f0e9faaaee909894"}, + {file = "librt-0.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fa475675db22290c3158e1d42326d0f5a65f04f44a0e68c3630a25b53560fb9c"}, + {file = "librt-0.11.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:621db29691044bdeda22e789e482e1b0f3a985d90e3426c9c6d17606416205ea"}, + {file = "librt-0.11.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:a9010e2ed5b3a9e158c5fd966b3ab7e834bb3d3aacc8f66c91dd4b57a3799230"}, + {file = "librt-0.11.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7c39513d8b7477a2e1ed8c43fc21c524e8d5a0f8d4e8b7b074dbdbe7820a08e2"}, + {file = "librt-0.11.0-cp313-cp313-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7aef3cf1d5af86e770ab04bfd993dfc4ae8b8c17f66fb77dd4a7d50de7bbb1a3"}, + {file = "librt-0.11.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:557183ddc36babe46b27dd60facbd5adb4492181a5be887587d57cda6e092f21"}, + {file = "librt-0.11.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:83d3e1f72bd42f6c5c0b7daec530c3f829bd02db42c70b8ddf0c2d90a2459930"}, + {file = "librt-0.11.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:4ce1f21fbe589bc1afd7872dece84fb0e1144f794a288e58a10d2c54a55c43be"}, + {file = "librt-0.11.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:970b09f7044ea2b64c9da42fd3d335666518cfd1c6e8a182c95da73d0214b41e"}, + {file = "librt-0.11.0-cp313-cp313-win32.whl", hash = "sha256:78fddc31cd4d3caa897ad5d31f856b1faadc9474021ad6cb182b9018793e254e"}, + {file = "librt-0.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ca8aa88751a775870b764e93bad5135385f563cb8dcee399abf034ea4d3cb47"}, + {file = "librt-0.11.0-cp313-cp313-win_arm64.whl", hash = "sha256:96f044bb325fd9cf1a723015638c219e9143f0dfbc0ca54c565df2b7fc748b44"}, + {file = "librt-0.11.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4a017a95e5837dc15a8c5661d60e05daa96b90908b1aa6b7acdf443cd25c8ebd"}, + {file = "librt-0.11.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b1ecbd9819deccc39b7542bf4d2a740d8a620694d39989e58661d3763458f8d4"}, + {file = "librt-0.11.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7da327dacd7be8f8ec36547373550744a3cc0e536d54665cd83f8bcd961200e8"}, + {file = "librt-0.11.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:0dc56b1f8d06e60db362cc3fdae206681817f86ce4725d34511473487f12a34b"}, + {file = "librt-0.11.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05fb8fb2ab90e21c8d12ea240d744ad514da9baf381ebfa70d91d20d21713175"}, + {file = "librt-0.11.0-cp314-cp314-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cae74872be221df4374d10fec61f93ed1513b9546ea84f2c0bf73ab3e9bd0b03"}, + {file = "librt-0.11.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:32bcc918c0148eb7e3d57385125bac7e5f9e4359d05f07448b09f6f778c2f31c"}, + {file = "librt-0.11.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:f9743fc99135d5f78d2454435615f6dec0473ca507c26ce9d92b10b562a280d3"}, + {file = "librt-0.11.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:5ba067f4aadae8fda802d91d2124c90c42195ff32d9161d3549e6d05cfe26f96"}, + {file = "librt-0.11.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:de3bf945454d032f9e390b85c4072e0a0570bf825421c8be0e71209fa65e1abe"}, + {file = "librt-0.11.0-cp314-cp314-win32.whl", hash = "sha256:d2277a05f6dcb9fd13db9566aac4fabd68c3ea1ea46ee5567d4eef8efa495a2f"}, + {file = "librt-0.11.0-cp314-cp314-win_amd64.whl", hash = "sha256:ab73e8db5e3f564d812c1f5c3a175930a5f9bc96ccb5e3b22a34d7858b401cf7"}, + {file = "librt-0.11.0-cp314-cp314-win_arm64.whl", hash = "sha256:aea3caa317752e3a466fa8af45d91ee0ea8c7fdd96e42b0a8dd9b76a7931eba1"}, + {file = "librt-0.11.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d1b36540d7aaf9b9101b3a6f376c8d8e9f7a9aec93ed05918f2c69d493ffef72"}, + {file = "librt-0.11.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:efbb343ab2ce3540f4ecbe6315d677ed70f37cd9a72b1e58066c918ca83acbaa"}, + {file = "librt-0.11.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa0dd688aab3f7914d3e6e5e3554978e0383312fb8e771d84be008a35b9ee548"}, + {file = "librt-0.11.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:f5fb36b8c6c63fdcbb1d526d94c0d1331610d43f4118cc1beb4efef4f3faacb2"}, + {file = "librt-0.11.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4a9a237d13addb93715b6fee74023d5ee3469b53fce527626c0e088aa585805f"}, + {file = "librt-0.11.0-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5ddd17bd87b2c56ddd60e546a7984a2e64c4e8eab92fb4cf3830a48ad5469d51"}, + {file = "librt-0.11.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bd43992b4473d42f12ff9e68326079f0696d9d4e6000e8f39a0238d482ba6ee2"}, + {file = "librt-0.11.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:f8e3e8056dd674e279741485e2e512d6e9a751c7455809d0114e6ebf8d781085"}, + {file = "librt-0.11.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:c1f708d8ae9c56cf38a903c44297243d2ec83fd82b396b977e0144a3e76217e3"}, + {file = "librt-0.11.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0add982e0e7b9fc14cf4b33789d5f13f66581889b88c2f58099f6ce8f92617bd"}, + {file = "librt-0.11.0-cp314-cp314t-win32.whl", hash = "sha256:2b481d846ac894c4e8403c5fd0e87c5d11d6499e404b474602508a224ff531c8"}, + {file = "librt-0.11.0-cp314-cp314t-win_amd64.whl", hash = "sha256:28edb433edde181112a908c78907af28f964eabc15f4dd16c9d66c834302677c"}, + {file = "librt-0.11.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dee008f20b542e3cd162ba338a7f9ec0f6d23d395f66fe8aeeec3c9d067ea253"}, + {file = "librt-0.11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6bd72d903911d995ab666dbd1871f8b1e80925a699af8063fbf50053329fb05f"}, + {file = "librt-0.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0ef69ac715f3cd8e5cd252cb2aebfa72c015492aacc339d5d7bf8fef3c62c677"}, + {file = "librt-0.11.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:624a40c4a4ad7773315c287276cd024509b2c66ff5904f504bfc08d2c70293ab"}, + {file = "librt-0.11.0-cp39-cp39-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:41dc19fe150b69716c8ece4f76773a9e8813fe3e35e032a58b4d46423fb8d7c0"}, + {file = "librt-0.11.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4e8bd98ea9c47ae90b319a087ab28dac493f1ffbc1ecd1f28fcdbf3b7e1108d1"}, + {file = "librt-0.11.0-cp39-cp39-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:84308fc49423ce6475d1c5d1985cd69a8ca9f0325fc7d5f81bb690a3f3625d4e"}, + {file = "librt-0.11.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ff0fbaf5f44a21beeb0110f2ab64f45135a9536a834b79c0d1ef018f2786bbfa"}, + {file = "librt-0.11.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9c028a9442a18e266955d364ce42259136e79a7ba14d773e0d778d5f70cd56f1"}, + {file = "librt-0.11.0-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:9f1692105a02bcf853f355032a5fdc5494358ef83d8fd22d16de375c85cec3f5"}, + {file = "librt-0.11.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7a80a71e1fda83cc752a9141e87aae7fef279538597564d670e9ce513f286192"}, + {file = "librt-0.11.0-cp39-cp39-win32.whl", hash = "sha256:140695816ddf3c86eb972981a26f35efd871c44b0c3aed44c8cd01749386617f"}, + {file = "librt-0.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:92f7ff819c197fc30473190a12c2856f325ac90aabfccbeb2072d28cc2e234e3"}, + {file = "librt-0.11.0.tar.gz", hash = "sha256:075dc3ef4458a278e0195cbf6ac9d38808d9b906c5a6c7f7f79c3888276a3fb1"}, ] [[package]] @@ -2003,6 +1934,7 @@ description = "More routines for operating on iterables, beyond itertools" optional = false python-versions = ">=3.10" groups = ["dev"] +markers = "platform_machine != \"ppc64le\" and platform_machine != \"s390x\"" files = [ {file = "more_itertools-11.0.2-py3-none-any.whl", hash = "sha256:6e35b35f818b01f691643c6c611bc0902f2e92b46c18fffa77ae1e7c46e912e4"}, {file = "more_itertools-11.0.2.tar.gz", hash = "sha256:392a9e1e362cbc106a2457d37cabf9b36e5e12efd4ebff1654630e76597df804"}, @@ -2082,61 +2014,61 @@ files = [ [[package]] name = "mypy" -version = "2.0.0" +version = "2.1.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.10" groups = ["dev"] files = [ - {file = "mypy-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:65d6f22d643bccaeb182d41d2a9f0990a05a871673c4ae3f97d4931eca0d2294"}, - {file = "mypy-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:106650bce72114f43019bf72197296f51c2cd47adfa9d073ea2976c247a404c5"}, - {file = "mypy-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c734b7eb89a4cc4ec347f8187ffa730e2b59693407bc93dcb878183037f80a17"}, - {file = "mypy-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd9e60388944d0f1432a2419ab938a78d5658df1d143a7172cfe1a197276cf49"}, - {file = "mypy-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f95e3890666c3be41af7a7179f4872341c08e90c161ba8e7a08a21f9be92c131"}, - {file = "mypy-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:e8e8709ce1b1046b8aad77a506dd01491157102dd727128c0b374b5025c7d769"}, - {file = "mypy-2.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:0165968759c99ab79dc1a9f8aaec18e93a1bedcf7c13edd70e68dd3d5faf17cb"}, - {file = "mypy-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c17b7222e9fdfd352e61fb3131da117e55cc465f701ff232f1bd97a02bbad91f"}, - {file = "mypy-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:cc0a61adea1a5ffc2d47a4dc4bb180d8103f477fc2a90a1cdcbb168c2cc6caff"}, - {file = "mypy-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8578f857b519993d065e5805290b71467ebfae772407a5f57e823755e4fdb850"}, - {file = "mypy-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:33f668a37a650df60f7b825c1ac61e6baadd4ac3c89519e929badde58d28edf5"}, - {file = "mypy-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29ea6da86c8c5e9addd48fa6e624f467341b3814f54ded871b28980468686dea"}, - {file = "mypy-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:904baa0124ebbccf0c7ba94f722cf9186ee30478f5e5b11432ffc8929248ee55"}, - {file = "mypy-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:440165501295e523bf1e5d3e411b62b367b901c65610938e75f0e56ba0462461"}, - {file = "mypy-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:660790551c988e69d8bf7a35c8b4149edeb22f4a339165702be843532e9dcdb5"}, - {file = "mypy-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7a15bf92cd8781f8e72f69ffa7e30d1f434402d065ee1ecd5223ef2ef100f914"}, - {file = "mypy-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4ff370b43d7def05bbcd2f5267f0bcda72dd6a552ef2ea9375b02d6fe06da270"}, - {file = "mypy-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:37bd246590a018e5a11703b7b09c39d47ede3df5ba3fa863c5b8590b465beb01"}, - {file = "mypy-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cce87e92214fac8bf8feb8a680d0c1b6fb748d50e9b57fbb13e4b1d83a3ed19b"}, - {file = "mypy-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:e19e9cb69b66a4141009d24898259914fa2b71d026de0b46edf9fafdbf4fd46e"}, - {file = "mypy-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:b021614cb08d44785b025982163ec3c39c94bff766ead071fa9e82b4ef6f62cd"}, - {file = "mypy-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9ef5f581b61240d1cc629b12f8df6565ed6ffac0d82ed745eef7833222ab50b9"}, - {file = "mypy-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:20e3470a165dbc249bdfbe8d1c5172727ef22688cffc279f8c3aa264ab9d4d9a"}, - {file = "mypy-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:224ba142eee8b4d65d4db657cb1fc22abec30b135ded6ab297302ba1f62e505d"}, - {file = "mypy-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e879ad8a03908ff74d15e8a9b42bf049918e6798d52c011011f1873d0b5877e"}, - {file = "mypy-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:65c5c15bcbd18d6fe927cc55c459597a3517d69cc3123f067be3b020010e115e"}, - {file = "mypy-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:d1a068acd7c9fb77e9f8923f1556f2f49d6d7895821121b8d97fa5642b9c52f5"}, - {file = "mypy-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:ef9d96da1ddffbc21f27d3939319b6846d12393baa17c4d2f3e81e040e73ce2c"}, - {file = "mypy-2.0.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c918c64e8ce36557851b0347f84eb12f1965d3a06813c36df253eb0c0afd1d82"}, - {file = "mypy-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:301f1a8ccc7d79b542ee218b28bb49443a83e194eb3d10da63ff1649e5aa5d34"}, - {file = "mypy-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fdf4ef489d44ce350bac3fd699907834e551d4c934e9cc862ef201215ab1558d"}, - {file = "mypy-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9cde2d0989f912fc850890f727d0d76495e7a6c5bdd9912a1efdb64952b4398d"}, - {file = "mypy-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:cdf05693c231a14fe37dbfce192a3a1372c26a833af4a80f550547742952e719"}, - {file = "mypy-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:73aee2da33a2237e66cbe84a94780e53599847e86bb3aa7b93e405e8cd9905f2"}, - {file = "mypy-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:1f6dcd8f39971f41edab2728c877c4ac8b50ad3c387ff2770423b79a05d23910"}, - {file = "mypy-2.0.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:a04e980b9275c76159da66c6e1723c7798306f9802b31bdaf9358d0c84030ce8"}, - {file = "mypy-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:33f9cf4825469b2bc73c53ba55f6d9a9b4cdb60f9e6e228745581520f29b8771"}, - {file = "mypy-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:191675c3c7dc2a5c7722a035a6909c277f14046c5e4e02aa5fbf65f8524f08ad"}, - {file = "mypy-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c3d26c4321a3b06fc9f04c741e0733af693f82d823f8e64e47b2e63b7f19fa84"}, - {file = "mypy-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:bbcbc4d5917ca6ce12de70e051de7f533e3bf92d548b41a38a2232a6fe356525"}, - {file = "mypy-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:dbc6ba6d40572ae49268531565793a8f07eac7fc65ad76d482c9b4c8765b6043"}, - {file = "mypy-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:77926029dfcb7e1a3ecb0acb2ddbb24ca36be03f7d623e1759ad5376be8f6c01"}, - {file = "mypy-2.0.0-py3-none-any.whl", hash = "sha256:8a92b2be3146b4fa1f062af7eb05574cbf3e6eb8e1f14704af1075423144e4e5"}, - {file = "mypy-2.0.0.tar.gz", hash = "sha256:1a9e3900ac5c40f1fe813506c7739da6e6f0eab2729067ebd94bfb0bbba53532"}, + {file = "mypy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:11a6beb180257a805961aea9ec591bbd0bd17f1e18d35b8456d57aee5bedfedc"}, + {file = "mypy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8ef78c1d306bbf9a8a12f526c44902c9c28dffd6c52c52bf6a72641ce18d3849"}, + {file = "mypy-2.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c209a90853081ff01d01ee895cafe10f7db1474e0d95beaeef0f6c1db9119bbd"}, + {file = "mypy-2.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:47cebf61abde7c088a4e27718a8b13a81655686b2e9c251f5c0915a802248166"}, + {file = "mypy-2.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d57a90ae5e872138a425ec328edbc9b235d1934c4377881a33ec05b341acc9a8"}, + {file = "mypy-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:aea7f7a8a55b459c34275fc468ada6ca7c173a5e43a68f5dbe588a563d8a06b8"}, + {file = "mypy-2.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:c989640253f0d76843e9c6c1bbf4bd48c5e85ada61bde4beb37cb3eca035685e"}, + {file = "mypy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a683016b16fe2f572dc04c72be7ee0504ac1605a265d0200f5cea695fb788f41"}, + {file = "mypy-2.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1a293c534adb55271fef24a26da04b855540a8c13cc07bc5917b9fd2c394f2ca"}, + {file = "mypy-2.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7406f4d048e71e576f5356d317e5b0a9e666dfd966bd99f9d14ca06e1a341538"}, + {file = "mypy-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e0210d626fc8b31ccc90233754c7bc90e1f43205e85d96387f7db1285b55c398"}, + {file = "mypy-2.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3712c20deed54e814eaaa825603bada8ea1c390670a397c95b98405347acc563"}, + {file = "mypy-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fcaa0e479066e31f7cceb6a3bea39cb22b2ff51a6b2f24f193d19179ba17c389"}, + {file = "mypy-2.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:0b1a5260c95aa443083f9ed3592662941951bca3d4ca224a5dc517c38b7cf666"}, + {file = "mypy-2.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:244358bf1c0da7722230bce60683d52e8e9fd030554926f15b747a84efb5b3af"}, + {file = "mypy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4ec7c57657493c7a75534df2751c8ae2cda383c16ecc55d2106c54476b1b16f6"}, + {file = "mypy-2.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8161b6ff4392410023224f0969d17db93e1e154bc3e4ba62598e720723ae211"}, + {file = "mypy-2.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bf03e12003084a67395184d3eb8cbd6a489dc3655b5664b28c210a9e2403ab0b"}, + {file = "mypy-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:20509760fd791c51579d573153407d226385ec1f8bcce55d730b354f3336bc22"}, + {file = "mypy-2.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:6753d0c1fdd6b1a23b9e4f283ce80b2153b724adcb2653b20b85a8a28ac6436b"}, + {file = "mypy-2.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:98ebb6589bb3b6d0c6f0c459d53ca55b8091fbc13d277c4041c885392e8195e8"}, + {file = "mypy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:35aac3bb114e03888f535d5eb51b8bafbb3266586b599da1940f9b1be3ec5bd5"}, + {file = "mypy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8de55a8c861f2a49331f807be98d90caeceeef520bde13d43a160207f8af613e"}, + {file = "mypy-2.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5fdf2941a07434af755837d9880f7d7d25f1dacb1af9dcd4b9b66f2220a3024e"}, + {file = "mypy-2.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e195b817c13f02352a9c124301f9f30f078405444679b6753c1b96b6eed37285"}, + {file = "mypy-2.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5431d42af987ebd92ba2f71d45c85ed41d8e6ca9f5fd209a69f68f707d2469e5"}, + {file = "mypy-2.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:767fe8c66dc3e01e19e1737d4c38ebefead16125e1b8e58ad421903b376f5c65"}, + {file = "mypy-2.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:ecfe70d43775ab99562ab128ce49854a362044c9f894961f68f898c23cb7429d"}, + {file = "mypy-2.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:7354c5a7f69d9345c3d6e69921d57088eea3ddeeb6b20d34c1b3855b02c36ec2"}, + {file = "mypy-2.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:49890d4f76ac9e06ec117f9e09f3174da70a620a0c300953d8595c926e80947f"}, + {file = "mypy-2.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:761be68e023ef5d94678772396a8af1220030f80837a3afd8d0aef3b419666f4"}, + {file = "mypy-2.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c90345fc182dc363b891350457ec69c35140858538f38b4540845afcc32b1aef"}, + {file = "mypy-2.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b84802e7b5a6daf1f5e15bc9fcd7ddae77be13981ffab037f1c67bb84d67d135"}, + {file = "mypy-2.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:022c771234936ceac541ebaf836fe9e2abeb3f5e09aff21588fe543ff006fe21"}, + {file = "mypy-2.1.0-cp314-cp314-win_arm64.whl", hash = "sha256:498207db725cec88829a6a5c2fc771205fd043719ef98bc49aba8fb9fc4e6d57"}, + {file = "mypy-2.1.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7d5e5cad0efeba72b93cd17490cc0d69c5ac9ca132994fe3fb0314808aeeb83e"}, + {file = "mypy-2.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ff715050c127d724fd260a2e666e7747fdd83511c0c47d449d98238970aef780"}, + {file = "mypy-2.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:82208da9e09414d520e912d3e462d454854bed0810b71540bb016dcbca7308fd"}, + {file = "mypy-2.1.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e79ebc1b904b84f0310dff7469655a9c36c7a68bddb37bdd42b67a332df61d08"}, + {file = "mypy-2.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e583edc957cfb0deb142079162ae826f58449b116c1d442f2d91c69d9fced081"}, + {file = "mypy-2.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b33b6cd332695bba180d55e717a79d3038e479a2c49cc5eb3d53603409b9a5d7"}, + {file = "mypy-2.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:4f910fe825376a7b66ef7ca8c98e5a149e8cd64c19ae71d84047a74ee060d4e6"}, + {file = "mypy-2.1.0-py3-none-any.whl", hash = "sha256:a663814603a5c563fb87a4f96fb473eeb30d1f5a4885afcf44f9db000a366289"}, + {file = "mypy-2.1.0.tar.gz", hash = "sha256:81e76ad12c2d804512e9b13240d1588316531bfba07558286078bfbce9613633"}, ] [package.dependencies] ast-serialize = ">=0.3.0,<1.0.0" -librt = {version = ">=0.10.0", markers = "platform_python_implementation != \"PyPy\""} +librt = {version = ">=0.11.0", markers = "platform_python_implementation != \"PyPy\""} mypy_extensions = ">=1.0.0" pathspec = ">=1.0.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} @@ -2282,14 +2214,14 @@ uv = ["uv (>=0.1.6)"] [[package]] name = "openapi-python-client" -version = "0.28.3" +version = "0.28.4" description = "Generate modern Python clients from OpenAPI" optional = false python-versions = "<4.0,>=3.10" groups = ["dev"] files = [ - {file = "openapi_python_client-0.28.3-py3-none-any.whl", hash = "sha256:fbb29976a3d0fcea2822fdd7504b7437825dd4f075f2412dd234882c4a56d469"}, - {file = "openapi_python_client-0.28.3.tar.gz", hash = "sha256:c443df7cabf7d260feddb21626c0ff7bd83f5747453d10164f7c88d98e89c3d7"}, + {file = "openapi_python_client-0.28.4-py3-none-any.whl", hash = "sha256:6bb87dbb05f88e5ab5ba4e5902f0c85ea53e666d3646be49ea2bb19bc8b5bb85"}, + {file = "openapi_python_client-0.28.4.tar.gz", hash = "sha256:f78dfab5e21652806b17af07c16187b5911138fc526229126953c1b7b37d2b88"}, ] [package.dependencies] @@ -2302,7 +2234,7 @@ python-dateutil = ">=2.8.1,<3.0.0" ruamel-yaml = ">=0.18.6,<0.20.0" ruff = ">=0.2" shellingham = ">=1.3.2,<2.0.0" -typer = ">0.16,<0.25" +typer = ">0.16,<0.26" [[package]] name = "packageurl-python" @@ -3081,14 +3013,14 @@ md = ["cmarkgfm (>=0.8.0)"] [[package]] name = "requests" -version = "2.33.1" +version = "2.34.0" description = "Python HTTP for Humans." optional = false python-versions = ">=3.10" groups = ["main", "dev"] files = [ - {file = "requests-2.33.1-py3-none-any.whl", hash = "sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a"}, - {file = "requests-2.33.1.tar.gz", hash = "sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517"}, + {file = "requests-2.34.0-py3-none-any.whl", hash = "sha256:917520a21b767485ce7c588f4ebb917c436b24a31231b44228715eaeb5a52c60"}, + {file = "requests-2.34.0.tar.gz", hash = "sha256:7d62fe92f50eb82c529b0916bb445afa1531a566fc8f35ffdc64446e771b856a"}, ] [package.dependencies] @@ -3942,14 +3874,14 @@ files = [ [[package]] name = "tomlkit" -version = "0.14.0" +version = "0.15.0" description = "Style preserving TOML library" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "tomlkit-0.14.0-py3-none-any.whl", hash = "sha256:592064ed85b40fa213469f81ac584f67a4f2992509a7c3ea2d632208623a3680"}, - {file = "tomlkit-0.14.0.tar.gz", hash = "sha256:cf00efca415dbd57575befb1f6634c4f42d2d87dbba376128adb42c121b87064"}, + {file = "tomlkit-0.15.0-py3-none-any.whl", hash = "sha256:4dbc8f0fc024412b57ced8757ac7461305126a648ff8c2c807fcb8e133a78738"}, + {file = "tomlkit-0.15.0.tar.gz", hash = "sha256:7d1a9ecba3086638211b13814ea79c90dd54dd11993564376f3aa92271f5c7a3"}, ] [[package]] @@ -3980,20 +3912,20 @@ keyring = ["keyring (>=21.2.0)"] [[package]] name = "typer" -version = "0.24.2" +version = "0.25.1" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." optional = false python-versions = ">=3.10" groups = ["dev"] files = [ - {file = "typer-0.24.2-py3-none-any.whl", hash = "sha256:b618bc3d721f9a8d30f3e05565be26416d06e9bcc29d49bc491dc26aba674fa8"}, - {file = "typer-0.24.2.tar.gz", hash = "sha256:ec070dcfca1408e85ee203c6365001e818c3b7fffe686fd07ff2d68095ca0480"}, + {file = "typer-0.25.1-py3-none-any.whl", hash = "sha256:75caa44ed46a03fb2dab8808753ffacdbfea88495e74c85a28c5eefcf5f39c89"}, + {file = "typer-0.25.1.tar.gz", hash = "sha256:9616eb8853a09ffeabab1698952f33c6f29ffdbceb4eaeecf571880e8d7664cc"}, ] [package.dependencies] annotated-doc = ">=0.0.2" click = ">=8.2.1" -rich = ">=12.3.0" +rich = ">=13.8.0" shellingham = ">=1.3.0" [[package]] @@ -4153,4 +4085,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.1" python-versions = ">=3.10.0,<3.15" -content-hash = "bc7bf430b593b3224a2de8c50ebcf01ed8edcce367444107afdc2b7af78e846d" +content-hash = "e70d85e5ed776a47ec2143cd0cd08bafa6b81399902aa662cfb8501d6e1bed64" diff --git a/pyproject.toml b/pyproject.toml index 4aec2f12..8657812c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,13 +17,13 @@ classifiers = [ "Development Status :: 3 - Alpha", ] dependencies = [ - "requests>=2.33.1, <3", + "requests>=2.34.0, <3", "types-requests>=2.31.0.6, <3", "tenacity>=8, <10", # generated by openapi-python-client - "httpx>=0.23.0", - "python-dateutil>=2.8.0", - "attrs>=26.1.0", + "httpx (>=0.23.0)", + "python-dateutil (>=2.8.0,<3.0.0)", + "attrs (>=22.2.0)", ] [project.urls] @@ -46,7 +46,7 @@ dev = [ "pytest>=9.0.3", "pytest-mock>=3.7.0", "exasol-toolbox>=7, <8", - "openapi-python-client>=0.28, <0.29", + "openapi-python-client>=0.28.4, <0.29", "pyexasol>=2, <3", "toml>=0.10.2", "types-python-dateutil>=2.9.0.20250516",