diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b13a1b22..8899090ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,8 +12,11 @@ - Switch to API version `v1` of STACKIT KMS service (previously `v1beta`) - **Breaking Change:** Removal of deprecated `Backend` model - **Breaking Change:** Mark `protection` attribute as required in `Key`, `CreateKeyPayload`, `CreateWrappingKeyPayload` and `WrappingKey` model -- `intake`: [v0.1.1](services/intake/CHANGELOG.md#v011) - - Mark attributes `max_message_size_ki_b` and `max_messages_per_hour` as optional (previously required) in `UpdateIntakeRunnerPayload` model +- `intake`: + - [v0.1.2](services/intake/CHANGELOG.md#v012) + - **Feature:** Add new field `partitioning` to `IntakeCatalog` model + - [v0.1.1](services/intake/CHANGELOG.md#v011) + - Mark attributes `max_message_size_ki_b` and `max_messages_per_hour` as optional (previously required) in `UpdateIntakeRunnerPayload` model - `ske`: [v1.3.0](services/ske/CHANGELOG.md#v130) - **Feature:** Add new field `kubernetes` to `Nodepool` model - `serviceaccount`: [v0.4.1](services/serviceaccount/CHANGELOG.md#v041) diff --git a/services/intake/CHANGELOG.md b/services/intake/CHANGELOG.md index 90338acb0..467e45981 100644 --- a/services/intake/CHANGELOG.md +++ b/services/intake/CHANGELOG.md @@ -1,3 +1,6 @@ +## v0.1.2 +- **Feature:** Add new field `partitioning` to `IntakeCatalog` model + ## v0.1.1 - Mark attributes `max_message_size_ki_b` and `max_messages_per_hour` as optional (previously required) in `UpdateIntakeRunnerPayload` model diff --git a/services/intake/pyproject.toml b/services/intake/pyproject.toml index 468e298cc..6cc9acf26 100644 --- a/services/intake/pyproject.toml +++ b/services/intake/pyproject.toml @@ -3,7 +3,7 @@ name = "stackit-intake" [tool.poetry] name = "stackit-intake" -version = "v0.1.1" +version = "v0.1.2" authors = [ "STACKIT Developer Tools ", ] diff --git a/services/intake/src/stackit/intake/__init__.py b/services/intake/src/stackit/intake/__init__.py index 2e9c2b267..402c71747 100644 --- a/services/intake/src/stackit/intake/__init__.py +++ b/services/intake/src/stackit/intake/__init__.py @@ -7,7 +7,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -45,6 +45,7 @@ "ListIntakeRunnersResponse", "ListIntakeUsersResponse", "ListIntakesResponse", + "PartitioningType", "UpdateIntakePayload", "UpdateIntakeRunnerPayload", "UpdateIntakeUserPayload", @@ -103,6 +104,7 @@ from stackit.intake.models.list_intakes_response import ( ListIntakesResponse as ListIntakesResponse, ) +from stackit.intake.models.partitioning_type import PartitioningType as PartitioningType from stackit.intake.models.update_intake_payload import ( UpdateIntakePayload as UpdateIntakePayload, ) diff --git a/services/intake/src/stackit/intake/api/default_api.py b/services/intake/src/stackit/intake/api/default_api.py index f7f13acb2..99df0fa93 100644 --- a/services/intake/src/stackit/intake/api/default_api.py +++ b/services/intake/src/stackit/intake/api/default_api.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/api_client.py b/services/intake/src/stackit/intake/api_client.py index 8f8a5e94a..ef7d397bc 100644 --- a/services/intake/src/stackit/intake/api_client.py +++ b/services/intake/src/stackit/intake/api_client.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/configuration.py b/services/intake/src/stackit/intake/configuration.py index 5445d509f..4c8bf288b 100644 --- a/services/intake/src/stackit/intake/configuration.py +++ b/services/intake/src/stackit/intake/configuration.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/exceptions.py b/services/intake/src/stackit/intake/exceptions.py index 989acaee0..cfd1fb8d4 100644 --- a/services/intake/src/stackit/intake/exceptions.py +++ b/services/intake/src/stackit/intake/exceptions.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/__init__.py b/services/intake/src/stackit/intake/models/__init__.py index 4396cb623..da5269e95 100644 --- a/services/intake/src/stackit/intake/models/__init__.py +++ b/services/intake/src/stackit/intake/models/__init__.py @@ -6,7 +6,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,6 +31,7 @@ from stackit.intake.models.list_intake_runners_response import ListIntakeRunnersResponse from stackit.intake.models.list_intake_users_response import ListIntakeUsersResponse from stackit.intake.models.list_intakes_response import ListIntakesResponse +from stackit.intake.models.partitioning_type import PartitioningType from stackit.intake.models.update_intake_payload import UpdateIntakePayload from stackit.intake.models.update_intake_runner_payload import UpdateIntakeRunnerPayload from stackit.intake.models.update_intake_user_payload import UpdateIntakeUserPayload diff --git a/services/intake/src/stackit/intake/models/catalog_auth.py b/services/intake/src/stackit/intake/models/catalog_auth.py index 3b81e19ee..b39b8735d 100644 --- a/services/intake/src/stackit/intake/models/catalog_auth.py +++ b/services/intake/src/stackit/intake/models/catalog_auth.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/catalog_auth_patch.py b/services/intake/src/stackit/intake/models/catalog_auth_patch.py index 3f98f2e32..cca7d6a65 100644 --- a/services/intake/src/stackit/intake/models/catalog_auth_patch.py +++ b/services/intake/src/stackit/intake/models/catalog_auth_patch.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/catalog_auth_type.py b/services/intake/src/stackit/intake/models/catalog_auth_type.py index abb0cf661..5e340aed8 100644 --- a/services/intake/src/stackit/intake/models/catalog_auth_type.py +++ b/services/intake/src/stackit/intake/models/catalog_auth_type.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/client_config.py b/services/intake/src/stackit/intake/models/client_config.py index 31f46067c..91b5e6472 100644 --- a/services/intake/src/stackit/intake/models/client_config.py +++ b/services/intake/src/stackit/intake/models/client_config.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/create_intake_payload.py b/services/intake/src/stackit/intake/models/create_intake_payload.py index 128d85040..fa87c8709 100644 --- a/services/intake/src/stackit/intake/models/create_intake_payload.py +++ b/services/intake/src/stackit/intake/models/create_intake_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/create_intake_runner_payload.py b/services/intake/src/stackit/intake/models/create_intake_runner_payload.py index 342b8f9c4..ceb1df596 100644 --- a/services/intake/src/stackit/intake/models/create_intake_runner_payload.py +++ b/services/intake/src/stackit/intake/models/create_intake_runner_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/create_intake_user_payload.py b/services/intake/src/stackit/intake/models/create_intake_user_payload.py index 521d7da5d..2b6f54508 100644 --- a/services/intake/src/stackit/intake/models/create_intake_user_payload.py +++ b/services/intake/src/stackit/intake/models/create_intake_user_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/dremio_auth.py b/services/intake/src/stackit/intake/models/dremio_auth.py index 5c7844aad..2ee8b2c91 100644 --- a/services/intake/src/stackit/intake/models/dremio_auth.py +++ b/services/intake/src/stackit/intake/models/dremio_auth.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/dremio_auth_patch.py b/services/intake/src/stackit/intake/models/dremio_auth_patch.py index f75fd5f8e..3553cbd98 100644 --- a/services/intake/src/stackit/intake/models/dremio_auth_patch.py +++ b/services/intake/src/stackit/intake/models/dremio_auth_patch.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/intake_catalog.py b/services/intake/src/stackit/intake/models/intake_catalog.py index f1e0d3ea6..547b92f56 100644 --- a/services/intake/src/stackit/intake/models/intake_catalog.py +++ b/services/intake/src/stackit/intake/models/intake_catalog.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,6 +21,7 @@ from typing_extensions import Annotated, Self from stackit.intake.models.catalog_auth import CatalogAuth +from stackit.intake.models.partitioning_type import PartitioningType class IntakeCatalog(BaseModel): @@ -34,8 +35,11 @@ class IntakeCatalog(BaseModel): description="The namespace to which data shall be written. It will be automatically created, if it does not exist.", ) partition_by: Optional[List[Annotated[str, Field(strict=True, max_length=1024)]]] = Field( - default=None, alias="partitionBy" + default=None, + description="List of Iceberg partitioning expressions to use when creating the target table. This setting can only be used when `partitioning` is set to `manual`. Partitioning configuration of an Intake cannot be changed after creation. See the [Apache Iceberg spec](https://iceberg.apache.org/spec/#partitioning) for more details. ", + alias="partitionBy", ) + partitioning: Optional[PartitioningType] = PartitioningType.NONE table_name: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=32)]] = Field( default=None, description="The table name is a short name chosen by the user to identify the table in Iceberg.", @@ -47,7 +51,15 @@ class IntakeCatalog(BaseModel): warehouse: Annotated[str, Field(strict=True, max_length=1024)] = Field( description="The Iceberg warehouse to connect to, required when the catalog has no default warehouse configured." ) - __properties: ClassVar[List[str]] = ["auth", "namespace", "partitionBy", "tableName", "uri", "warehouse"] + __properties: ClassVar[List[str]] = [ + "auth", + "namespace", + "partitionBy", + "partitioning", + "tableName", + "uri", + "warehouse", + ] model_config = ConfigDict( populate_by_name=True, @@ -110,6 +122,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "auth": CatalogAuth.from_dict(obj["auth"]) if obj.get("auth") is not None else None, "namespace": obj.get("namespace") if obj.get("namespace") is not None else "intake", "partitionBy": obj.get("partitionBy"), + "partitioning": ( + obj.get("partitioning") if obj.get("partitioning") is not None else PartitioningType.NONE + ), "tableName": obj.get("tableName"), "uri": obj.get("uri"), "warehouse": obj.get("warehouse"), diff --git a/services/intake/src/stackit/intake/models/intake_catalog_patch.py b/services/intake/src/stackit/intake/models/intake_catalog_patch.py index 6596d5f84..9679a238a 100644 --- a/services/intake/src/stackit/intake/models/intake_catalog_patch.py +++ b/services/intake/src/stackit/intake/models/intake_catalog_patch.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/intake_response.py b/services/intake/src/stackit/intake/models/intake_response.py index 0f830fd51..53aaae0a8 100644 --- a/services/intake/src/stackit/intake/models/intake_response.py +++ b/services/intake/src/stackit/intake/models/intake_response.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/intake_runner_response.py b/services/intake/src/stackit/intake/models/intake_runner_response.py index e974cd1b6..71c8d10d0 100644 --- a/services/intake/src/stackit/intake/models/intake_runner_response.py +++ b/services/intake/src/stackit/intake/models/intake_runner_response.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/intake_user_response.py b/services/intake/src/stackit/intake/models/intake_user_response.py index 99430a3e9..a8fc260bd 100644 --- a/services/intake/src/stackit/intake/models/intake_user_response.py +++ b/services/intake/src/stackit/intake/models/intake_user_response.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/list_intake_runners_response.py b/services/intake/src/stackit/intake/models/list_intake_runners_response.py index 5096ce56e..55b42579e 100644 --- a/services/intake/src/stackit/intake/models/list_intake_runners_response.py +++ b/services/intake/src/stackit/intake/models/list_intake_runners_response.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/list_intake_users_response.py b/services/intake/src/stackit/intake/models/list_intake_users_response.py index db9c7773a..3512b845c 100644 --- a/services/intake/src/stackit/intake/models/list_intake_users_response.py +++ b/services/intake/src/stackit/intake/models/list_intake_users_response.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/list_intakes_response.py b/services/intake/src/stackit/intake/models/list_intakes_response.py index d636f62dd..26f0a6784 100644 --- a/services/intake/src/stackit/intake/models/list_intakes_response.py +++ b/services/intake/src/stackit/intake/models/list_intakes_response.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/partitioning_type.py b/services/intake/src/stackit/intake/models/partitioning_type.py new file mode 100644 index 000000000..42f82cd4c --- /dev/null +++ b/services/intake/src/stackit/intake/models/partitioning_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + STACKIT Intake API + + This API provides endpoints for managing Intakes. + + The version of the OpenAPI document: 1beta.3.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +from __future__ import annotations + +import json +from enum import Enum + +from typing_extensions import Self + + +class PartitioningType(str, Enum): + """ + The target table's partitioning. * `none` disables partitioning, the default. * `intake-time` configures daily partitioning based on the automatically created ingestion time column `__intake_ts`. * `manual` allows arbitrary Iceberg partitioning expression to be set via `partitionBy`. + """ + + """ + allowed enum values + """ + NONE = "none" + INTAKE_MINUS_TIME = "intake-time" + MANUAL = "manual" + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PartitioningType from a JSON string""" + return cls(json.loads(json_str)) diff --git a/services/intake/src/stackit/intake/models/update_intake_payload.py b/services/intake/src/stackit/intake/models/update_intake_payload.py index 651eba96b..ddf53c76d 100644 --- a/services/intake/src/stackit/intake/models/update_intake_payload.py +++ b/services/intake/src/stackit/intake/models/update_intake_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/update_intake_runner_payload.py b/services/intake/src/stackit/intake/models/update_intake_runner_payload.py index 5791c2e44..4304a799a 100644 --- a/services/intake/src/stackit/intake/models/update_intake_runner_payload.py +++ b/services/intake/src/stackit/intake/models/update_intake_runner_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/update_intake_user_payload.py b/services/intake/src/stackit/intake/models/update_intake_user_payload.py index 88c890293..7b727c0e8 100644 --- a/services/intake/src/stackit/intake/models/update_intake_user_payload.py +++ b/services/intake/src/stackit/intake/models/update_intake_user_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/models/user_type.py b/services/intake/src/stackit/intake/models/user_type.py index 4bb376719..8af2245a1 100644 --- a/services/intake/src/stackit/intake/models/user_type.py +++ b/services/intake/src/stackit/intake/models/user_type.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/intake/src/stackit/intake/rest.py b/services/intake/src/stackit/intake/rest.py index 07c13b656..8bc276192 100644 --- a/services/intake/src/stackit/intake/rest.py +++ b/services/intake/src/stackit/intake/rest.py @@ -5,7 +5,7 @@ This API provides endpoints for managing Intakes. - The version of the OpenAPI document: 1beta.2.3 + The version of the OpenAPI document: 1beta.3.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually.