Skip to content

Commit b1d335e

Browse files
Merge branch 'main' into generator-bot-23059610336/logs
2 parents 21b50ff + 086655d commit b1d335e

File tree

336 files changed

+2713
-1574
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

336 files changed

+2713
-1574
lines changed

CHANGELOG.md

Lines changed: 113 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
## Release (2026-xx-xx)
22

3-
- `serviceaccount`: [v0.6.0](services/kms/CHANGELOG.md#v060)
4-
- **Breaking Change:** rename `CreateFederatedIdentityProviderResponse` to `FederatedIdentityProvider` and update file path accordingly
5-
- **Breaking Change:** rename `CreateFederatedIdentityProviderResponseAssertionsInner` to `FederatedIdentityProviderAssertionsInner` and update file path accordingly
6-
- **Feature:** add `id` for `FederatedIdentityProvider`
3+
- `serviceaccount`:
4+
- [v0.6.1](services/serviceaccount/CHANGELOG.md#v061)
5+
- **Feature:** client now supports UUID and decimal types
6+
- **Bugfix:** timeouts now passed to requests library
7+
- [v0.6.0](services/kms/CHANGELOG.md#v060)
8+
- **Breaking Change:** rename `CreateFederatedIdentityProviderResponse` to `FederatedIdentityProvider` and update file path accordingly
9+
- **Breaking Change:** rename `CreateFederatedIdentityProviderResponseAssertionsInner` to `FederatedIdentityProviderAssertionsInner` and update file path accordingly
10+
- **Feature:** add `id` for `FederatedIdentityProvider`
11+
- `ske`: [v1.7.0](services/ske/CHANGELOG.md#v170)
12+
- **Feature:** New model `Access`
13+
- **Feature:** New model `IDPKubeconfig`
14+
- **Feature:** Add attribute `access` of type `Access` to model `Cluster`
15+
- **Feature:** New API client methods: `get_idp_kubeconfig`, `get_idp_kubeconfig_with_http_info`, `get_idp_kubeconfig_without_preload_content`, `_get_idp_kubeconfig_serialize`
716
- `kms`: [v0.8.0](services/kms/CHANGELOG.md#v080)
817
- **Breaking Change:** Switch from regional to global API server URL (region can't be set via `Configuration` / env-variable anymore).
918
- `intake`: [v0.5.0](services/intake/CHANGELOG.md#v050)
@@ -20,60 +29,112 @@
2029
- **Breaking change:** Renamed `TargetPoolTlsConfig` to `TlsConfig`
2130
- `loadbalancer`: [v0.9.0](services/loadbalancer/CHANGELOG.md#v090)
2231
- **Feature:** Add new fields `AltPort` and `HttpHealthCheck` to `ActiveHealthCheck`
32+
- `opensearch`: [v1.2.2](services/opensearch/CHANGELOG.md#v122)
33+
- **Feature:** client now supports UUID and decimal types
34+
- **Bugfix:** timeouts now passed to requests library
35+
- `postresflex`: [v1.2.1](services/postgresflex/CHANGELOG.md#v121)
36+
- **Feature:** client now supports UUID and decimal types
37+
- **Bugfix:** timeouts now passed to requests library
38+
- `rabbitmq`: [v0.4.1](services/rabbitmq/CHANGELOG.md#v041)
39+
- **Feature:** client now supports UUID and decimal types
40+
- **Bugfix:** timeouts now passed to requests library
41+
- `redis`: [v0.3.1](services/redis/CHANGELOG.md#v031)
42+
- **Feature:** client now supports UUID and decimal types
43+
- **Bugfix:** timeouts now passed to requests library
44+
- `resourcemanager`: [v0.7.1](services/resourcemanager/CHANGELOG.md#v071)
45+
- **Feature:** client now supports UUID and decimal types
46+
- **Bugfix:** timeouts now passed to requests library
47+
- `runcommand`: [v1.1.2](services/runcommand/CHANGELOG.md#v112)
48+
- **Feature:** client now supports UUID and decimal types
49+
- **Bugfix:** timeouts now passed to requests library
50+
- `scf`: [v0.4.1](services/scf/CHANGELOG.md#v041)
51+
- **Feature:** client now supports UUID and decimal types
52+
- **Bugfix:** timeouts now passed to requests library
2353
- `sfs`: [v0.3.0](services/sfs/CHANGELOG.md#v030)
2454
- **Breaking change:** The `name` and `spaceHardLimitGigabytes` fields are now marked as required for `ShareExportPayload`, `SharePayload`.
55+
- `secretsmanager`: [v0.4.1](services/secretsmanager/CHANGELOG.md#v041)
56+
- **Feature:** client now supports UUID and decimal types
57+
- **Bugfix:** timeouts now passed to requests library
2558
- `serviceaccount`: [v0.5.0](services/serviceaccount/CHANGELOG.md#v050)
2659
- **Feature:** add support for Federated Identity Providers
2760
- new operations: `CreateFederatedIdentityProvider`, `DeleteServiceFederatedIdentityProvider`, `ListFederatedIdentityProviders`,`PartialUpdateServiceAccountFederatedIdentityProvider`
2861
- new models: `CreateFederatedIdentityProviderPayload`, `CreateFederatedIdentityProviderPayloadAssertionsInner`, `CreateFederatedIdentityProviderResponse`, `CreateFederatedIdentityProviderResponseAssertionsInner`, `FederatedListFederatedIdentityProvidersResponse`, `PartialUpdateServiceAccountFederatedIdentityProviderPayload`
29-
- `observability`: [v0.13.0](services/observability/CHANGELOG.md#v0130)
30-
- **Feature:** manage alert records
31-
- New API client methods: `create_alert_record`, `delete_alert_record`, `delete_alert_records`, `get_alert_record`, `list_alert_records`, `update_alert_record`, `partial_update_alert_records`
32-
- New model classes: `AlertRecord`, `AlertRecordResponse`, `AlertRecordsResponse`, `CreateAlertRecordPayload`, `UpdateAlertRecordPayload`, `PartialUpdateAlertRecordsRequestInner`
33-
- **Feature:** manage alert rules
34-
- New API client methods: `get_alertrule`, `update_alertrule`, `delete_alertrule`
35-
- New model classes: `AlertRuleResponse`, `UpdateAlertrulePayload`
36-
- **Feature:** manage backups
37-
- New API client methods: `create_backup`,`create_backup_schedule`, `list_backup_retentions`, `list_backup_schedules`, `list_backups`, `restore_backup`
38-
- New model classes: `BackupResponse`, `BackupRetentionResponse`, `BackupSchedule`, `BackupSchedulePostResponse`, `BackupScheduleResponse`, `CreateBackupSchedulePayload`
39-
- **Feature:** to manage checks
40-
- MongoDB
41-
- New API client methods: `create_mongodb_check`, `delete_mongodb_check`, `list_mongodb_checks`
42-
- New model classes: `CreateMongodbCheckPayload`, `MongodbCheckChildResponse`, `MongodbCheckResponse`
43-
- RabbitMQ
44-
- New API client methods: `create_rabbitmq_check`, `delete_rabbitmq_check`, `list_rabbitmq_checks`
45-
- New model classes: `CreateRabbitmqCheckPayload`, `RabbitMQCheckChildResponse`, `RabbitmqCheckResponse`
46-
- Network
47-
- New API client methods: `list_network_checks`, `delete_network_check`, `create_network_check`
48-
- New model classes: `CreateNetworkCheckPayload`, `NetworkCheckChildResponse`, `NetworkCheckResponse`
49-
- Redis
50-
- New API client methods: `create_redis_check`, `list_redis_checks`, `delete_redis_check`
51-
- New model classes: `CreateRedisCheckPayload`, `RedisCheckChildResponse`, `RedisCheckResponse`
52-
- MySQL
53-
- New API client methods: `create_mysql_check`, `delete_mysql_check`, `list_mysql_checks`
54-
- New model classes: `CreateMysqlCheckPayload`, `MysqlCheckChildResponse`, `MysqlCheckResponse`
55-
- Ping
56-
- New API client methods: `create_ping_check`, `delete_ping_check`, `list_ping_checks`
57-
- New model classes: `CreatePingCheckPayload`, `PingCheckChildResponse`, `PingCheckResponse`
58-
- Elasticsearch
59-
- New API client methods: `create_elasticsearch_check`, `delete_elasticsearch_check`, `list_elasticsearch_checks`
60-
- New model classes: `CreateElasticsearchCheckPayload`, `ElasticsearchCheckChildResponse`, `ElasticsearchCheckResponse`
61-
- PostgreSQL
62-
- New API client methods: `create_postgresql_check`, `delete_postgresql_check`, `list_postgresql_checks`
63-
- New model classes: `CreatePostgresqlCheckPayload`, `PostgresqlCheckChildResponse`, `PostgresqlCheckResponse`
64-
- **Feature:** List offerings
65-
- New API client method: `list_offerings`
66-
- New model struct: `Offerings`
67-
- **Feature:** Manage scrape configs
68-
- New API client method: `delete_scrape_configs`, `partial_update_scrape_configs`
69-
- New model struct: `PartialUpdateScrapeConfigsRequestInner`
70-
- **Breaking changes**:
71-
- rename `CreateScrapeConfigPayloadBasicAuth` to `PartialUpdateScrapeConfigsRequestInnerBasicAuth`
72-
- rename `CreateScrapeConfigPayloadHttpSdConfigsInner` to `PartialUpdateScrapeConfigsRequestInnerHttpSdConfigsInner`
73-
- rename `CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2` to `PartialUpdateScrapeConfigsRequestInnerHttpSdConfigsInnerOauth2`
74-
- rename `CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig` to `PartialUpdateScrapeConfigsRequestInnerHttpSdConfigsInnerOauth2TlsConfig`
75-
- rename `CreateScrapeConfigPayloadMetricsRelabelConfigsInner` to `PartialUpdateScrapeConfigsRequestInnerMetricsRelabelConfigsInner`
76-
- rename `CreateScrapeConfigPayloadStaticConfigsInner` to `PartialUpdateScrapeConfigsRequestInnerStaticConfigsInner`
62+
- `serviceenablement`: [v1.1.2](services/serviceenablement/CHANGELOG.md#v112)
63+
- **Feature:** client now supports UUID and decimal types
64+
- **Bugfix:** timeouts now passed to requests library
65+
- `serverbackup`: [v1.1.2](services/serverbackup/CHANGELOG.md#v112)
66+
- **Feature:** client now supports UUID and decimal types
67+
- **Bugfix:** timeouts now passed to requests library
68+
- `serverupdate`: [v1.1.1](services/serverupdate/CHANGELOG.md#v111)
69+
- **Feature:** client now supports UUID and decimal types
70+
- **Bugfix:** timeouts now passed to requests library
71+
- `sqlserverflex`: [v1.1.2](services/sqlserverflex/CHANGELOG.md#v112)
72+
- **Feature:** client now supports UUID and decimal types
73+
- **Bugfix:** timeouts now passed to requests library
74+
- `mariadb`: [v0.3.1](services/mariadb/CHANGELOG.md#v031)
75+
- **Feature:** client now supports UUID and decimal types
76+
- **Bugfix:** timeouts now passed to requests library
77+
- `modelserving`: [v0.2.3](services/modelserving/CHANGELOG.md#v023)
78+
- **Feature:** client now supports UUID and decimal types
79+
- **Bugfix:** timeouts now passed to requests library
80+
- `mongodbflex`: [v1.2.3](services/mongodbflex/CHANGELOG.md#v123)
81+
- **Feature:** client now supports UUID and decimal types
82+
- **Bugfix:** timeouts now passed to requests library
83+
- `objectstorage`: [v1.2.2](services/objectstorage/CHANGELOG.md#v122)
84+
- **Feature:** client now supports UUID and decimal types
85+
- **Bugfix:** timeouts now passed to requests library
86+
- `observability`:
87+
- [v0.13.1](services/observability/CHANGELOG.md#v0131)
88+
- **Feature:** client now supports UUID and decimal types
89+
- **Bugfix:** timeouts now passed to requests library
90+
- [v0.13.0](services/observability/CHANGELOG.md#v0130)
91+
- **Feature:** manage alert records
92+
- New API client methods: `create_alert_record`, `delete_alert_record`, `delete_alert_records`, `get_alert_record`, `list_alert_records`, `update_alert_record`, `partial_update_alert_records`
93+
- New model classes: `AlertRecord`, `AlertRecordResponse`, `AlertRecordsResponse`, `CreateAlertRecordPayload`, `UpdateAlertRecordPayload`, `PartialUpdateAlertRecordsRequestInner`
94+
- **Feature:** manage alert rules
95+
- New API client methods: `get_alertrule`, `update_alertrule`, `delete_alertrule`
96+
- New model classes: `AlertRuleResponse`, `UpdateAlertrulePayload`
97+
- **Feature:** manage backups
98+
- New API client methods: `create_backup`,`create_backup_schedule`, `list_backup_retentions`, `list_backup_schedules`, `list_backups`, `restore_backup`
99+
- New model classes: `BackupResponse`, `BackupRetentionResponse`, `BackupSchedule`, `BackupSchedulePostResponse`, `BackupScheduleResponse`, `CreateBackupSchedulePayload`
100+
- **Feature:** to manage checks
101+
- MongoDB
102+
- New API client methods: `create_mongodb_check`, `delete_mongodb_check`, `list_mongodb_checks`
103+
- New model classes: `CreateMongodbCheckPayload`, `MongodbCheckChildResponse`, `MongodbCheckResponse`
104+
- RabbitMQ
105+
- New API client methods: `create_rabbitmq_check`, `delete_rabbitmq_check`, `list_rabbitmq_checks`
106+
- New model classes: `CreateRabbitmqCheckPayload`, `RabbitMQCheckChildResponse`, `RabbitmqCheckResponse`
107+
- Network
108+
- New API client methods: `list_network_checks`, `delete_network_check`, `create_network_check`
109+
- New model classes: `CreateNetworkCheckPayload`, `NetworkCheckChildResponse`, `NetworkCheckResponse`
110+
- Redis
111+
- New API client methods: `create_redis_check`, `list_redis_checks`, `delete_redis_check`
112+
- New model classes: `CreateRedisCheckPayload`, `RedisCheckChildResponse`, `RedisCheckResponse`
113+
- MySQL
114+
- New API client methods: `create_mysql_check`, `delete_mysql_check`, `list_mysql_checks`
115+
- New model classes: `CreateMysqlCheckPayload`, `MysqlCheckChildResponse`, `MysqlCheckResponse`
116+
- Ping
117+
- New API client methods: `create_ping_check`, `delete_ping_check`, `list_ping_checks`
118+
- New model classes: `CreatePingCheckPayload`, `PingCheckChildResponse`, `PingCheckResponse`
119+
- Elasticsearch
120+
- New API client methods: `create_elasticsearch_check`, `delete_elasticsearch_check`, `list_elasticsearch_checks`
121+
- New model classes: `CreateElasticsearchCheckPayload`, `ElasticsearchCheckChildResponse`, `ElasticsearchCheckResponse`
122+
- PostgreSQL
123+
- New API client methods: `create_postgresql_check`, `delete_postgresql_check`, `list_postgresql_checks`
124+
- New model classes: `CreatePostgresqlCheckPayload`, `PostgresqlCheckChildResponse`, `PostgresqlCheckResponse`
125+
- **Feature:** List offerings
126+
- New API client method: `list_offerings`
127+
- New model struct: `Offerings`
128+
- **Feature:** Manage scrape configs
129+
- New API client method: `delete_scrape_configs`, `partial_update_scrape_configs`
130+
- New model struct: `PartialUpdateScrapeConfigsRequestInner`
131+
- **Breaking changes**:
132+
- rename `CreateScrapeConfigPayloadBasicAuth` to `PartialUpdateScrapeConfigsRequestInnerBasicAuth`
133+
- rename `CreateScrapeConfigPayloadHttpSdConfigsInner` to `PartialUpdateScrapeConfigsRequestInnerHttpSdConfigsInner`
134+
- rename `CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2` to `PartialUpdateScrapeConfigsRequestInnerHttpSdConfigsInnerOauth2`
135+
- rename `CreateScrapeConfigPayloadHttpSdConfigsInnerOauth2TlsConfig` to `PartialUpdateScrapeConfigsRequestInnerHttpSdConfigsInnerOauth2TlsConfig`
136+
- rename `CreateScrapeConfigPayloadMetricsRelabelConfigsInner` to `PartialUpdateScrapeConfigsRequestInnerMetricsRelabelConfigsInner`
137+
- rename `CreateScrapeConfigPayloadStaticConfigsInner` to `PartialUpdateScrapeConfigsRequestInnerStaticConfigsInner`
77138

78139
## Release (2026-02-18)
79140

services/mariadb/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## v0.3.1
2+
- **Feature:** client now supports UUID and decimal types
3+
- **Bugfix:** timeouts now passed to requests library
4+
15
## v0.3.0
26
- **Version**: Minimal version is now python 3.9
37

services/mariadb/oas_commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0e64886dd0847341800d7191ed193b75413be998

services/mariadb/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "stackit-mariadb"
3-
version = "v0.3.0"
3+
version = "v0.3.1"
44
description = "STACKIT MariaDB API"
55
authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
66
requires-python = ">=3.9,<4.0"

services/mariadb/src/stackit/mariadb/api_client.py

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@
1212
""" # noqa: E501
1313

1414
import datetime
15+
import decimal
1516
import json
1617
import mimetypes
1718
import os
1819
import re
1920
import tempfile
21+
import uuid
2022
from enum import Enum
2123
from typing import Dict, List, Optional, Tuple, Union
2224
from urllib.parse import quote
@@ -63,8 +65,10 @@ class ApiClient:
6365
"bool": bool,
6466
"date": datetime.date,
6567
"datetime": datetime.datetime,
68+
"decimal": decimal.Decimal,
6669
"object": object,
6770
}
71+
_pool = None
6872

6973
def __init__(self, configuration, header_name=None, header_value=None, cookie=None) -> None:
7074
self.config: Configuration = configuration
@@ -267,7 +271,7 @@ def response_deserialize(
267271
return_data = self.__deserialize_file(response_data)
268272
elif response_type is not None:
269273
match = None
270-
content_type = response_data.getheader("content-type")
274+
content_type = response_data.headers.get("content-type")
271275
if content_type is not None:
272276
match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type)
273277
encoding = match.group(1) if match else "utf-8"
@@ -284,7 +288,7 @@ def response_deserialize(
284288
return ApiResponse(
285289
status_code=response_data.status,
286290
data=return_data,
287-
headers=response_data.getheaders(),
291+
headers=response_data.headers,
288292
raw_data=response_data.data,
289293
)
290294

@@ -296,6 +300,7 @@ def sanitize_for_serialization(self, obj):
296300
If obj is str, int, long, float, bool, return directly.
297301
If obj is datetime.datetime, datetime.date
298302
convert to string in iso8601 format.
303+
If obj is decimal.Decimal return string representation.
299304
If obj is list, sanitize each element in the list.
300305
If obj is dict, return the dict.
301306
If obj is OpenAPI model, return the properties dict.
@@ -311,12 +316,16 @@ def sanitize_for_serialization(self, obj):
311316
return obj.get_secret_value()
312317
elif isinstance(obj, self.PRIMITIVE_TYPES):
313318
return obj
319+
elif isinstance(obj, uuid.UUID):
320+
return str(obj)
314321
elif isinstance(obj, list):
315322
return [self.sanitize_for_serialization(sub_obj) for sub_obj in obj]
316323
elif isinstance(obj, tuple):
317324
return tuple(self.sanitize_for_serialization(sub_obj) for sub_obj in obj)
318325
elif isinstance(obj, (datetime.datetime, datetime.date)):
319326
return obj.isoformat()
327+
elif isinstance(obj, decimal.Decimal):
328+
return str(obj)
320329

321330
elif isinstance(obj, dict):
322331
obj_dict = obj
@@ -326,7 +335,7 @@ def sanitize_for_serialization(self, obj):
326335
# and attributes which value is not None.
327336
# Convert attribute name to json key in
328337
# model definition for request.
329-
if hasattr(obj, "to_dict") and callable(obj.to_dict):
338+
if hasattr(obj, "to_dict") and callable(getattr(obj, "to_dict")): # noqa: B009
330339
obj_dict = obj.to_dict()
331340
else:
332341
obj_dict = obj.__dict__
@@ -354,7 +363,7 @@ def deserialize(self, response_text: str, response_type: str, content_type: Opti
354363
data = json.loads(response_text)
355364
except ValueError:
356365
data = response_text
357-
elif re.match(r"^application/(json|[\w!#$&.+-^_]+\+json)\s*(;|$)", content_type, re.IGNORECASE):
366+
elif re.match(r"^application/(json|[\w!#$&.+\-^_]+\+json)\s*(;|$)", content_type, re.IGNORECASE):
358367
if response_text == "":
359368
data = ""
360369
else:
@@ -400,12 +409,14 @@ def __deserialize(self, data, klass):
400409

401410
if klass in self.PRIMITIVE_TYPES:
402411
return self.__deserialize_primitive(data, klass)
403-
elif klass == object:
412+
elif klass is object:
404413
return self.__deserialize_object(data)
405-
elif klass == datetime.date:
414+
elif klass is datetime.date:
406415
return self.__deserialize_date(data)
407-
elif klass == datetime.datetime:
416+
elif klass is datetime.datetime:
408417
return self.__deserialize_datetime(data)
418+
elif klass is decimal.Decimal:
419+
return decimal.Decimal(data)
409420
elif issubclass(klass, Enum):
410421
return self.__deserialize_enum(data, klass)
411422
else:
@@ -553,12 +564,14 @@ def __deserialize_file(self, response):
553564
os.close(fd)
554565
os.remove(path)
555566

556-
content_disposition = response.getheader("Content-Disposition")
567+
content_disposition = response.headers.get("Content-Disposition")
557568
if content_disposition:
558569
m = re.search(r'filename=[\'"]?([^\'"\s]+)[\'"]?', content_disposition)
559570
if m is None:
560571
raise ValueError("Unexpected 'content-disposition' header value")
561-
filename = m.group(1)
572+
filename = os.path.basename(m.group(1)) # Strip any directory traversal
573+
if filename in ("", ".", ".."): # fall back to tmp filename
574+
filename = os.path.basename(path)
562575
path = os.path.join(os.path.dirname(path), filename)
563576

564577
with open(path, "wb") as f:

services/mariadb/src/stackit/mariadb/exceptions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ def __init__(
129129
self.body = http_resp.data.decode("utf-8")
130130
except Exception: # noqa: S110
131131
pass
132-
self.headers = http_resp.getheaders()
132+
self.headers = http_resp.headers
133133

134134
@classmethod
135135
def from_response(

services/mariadb/src/stackit/mariadb/models/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
Do not edit the class manually.
1313
""" # noqa: E501
1414

15-
1615
# import models into model package
1716
from stackit.mariadb.models.backup import Backup
1817
from stackit.mariadb.models.create_backup_response_item import CreateBackupResponseItem

0 commit comments

Comments
 (0)