diff --git a/CHANGELOG.md b/CHANGELOG.md index bb3b230d..aef40368 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,7 +25,9 @@ - **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request. - `sqlserverflex`: [v1.0.0](services/sqlserverflex/CHANGELOG.md#v100-2025-03-18) - **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request. - +- `secretsmanager`: [v0.2.1](services/secretsmanager/CHANGELOG.md#v021-2025-03-20) + - **Improvement:** Error handling + - **Feature:** Add description to `UpdateUserPayload` ## Release (2025-03-05) diff --git a/services/secretsmanager/CHANGELOG.md b/services/secretsmanager/CHANGELOG.md index 698273aa..ecfa9da2 100644 --- a/services/secretsmanager/CHANGELOG.md +++ b/services/secretsmanager/CHANGELOG.md @@ -1,3 +1,7 @@ +## v0.2.1 (2025-03-20) +- **Improvement:** Error handling +- **Feature:** Add description to `UpdateUserPayload` + ## v0.2.0 (2025-01-13) - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. diff --git a/services/secretsmanager/pyproject.toml b/services/secretsmanager/pyproject.toml index 325ada94..66735b0d 100644 --- a/services/secretsmanager/pyproject.toml +++ b/services/secretsmanager/pyproject.toml @@ -3,7 +3,7 @@ name = "stackit-secretsmanager" [tool.poetry] name = "stackit-secretsmanager" -version = "v0.2.0" +version = "v0.2.1" authors = [ "STACKIT Developer Tools ", ] diff --git a/services/secretsmanager/src/stackit/secretsmanager/__init__.py b/services/secretsmanager/src/stackit/secretsmanager/__init__.py index f9864a9a..77e42d18 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/__init__.py +++ b/services/secretsmanager/src/stackit/secretsmanager/__init__.py @@ -7,7 +7,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,6 +34,8 @@ # import models into sdk package from stackit.secretsmanager.models.acl import ACL +from stackit.secretsmanager.models.bad_request import BadRequest +from stackit.secretsmanager.models.conflict import Conflict from stackit.secretsmanager.models.create_acl_payload import CreateACLPayload from stackit.secretsmanager.models.create_instance_payload import CreateInstancePayload from stackit.secretsmanager.models.create_user_payload import CreateUserPayload @@ -41,6 +43,7 @@ from stackit.secretsmanager.models.list_acls_response import ListACLsResponse from stackit.secretsmanager.models.list_instances_response import ListInstancesResponse from stackit.secretsmanager.models.list_users_response import ListUsersResponse +from stackit.secretsmanager.models.not_found import NotFound from stackit.secretsmanager.models.update_acl_payload import UpdateACLPayload from stackit.secretsmanager.models.update_acls_payload import UpdateACLsPayload from stackit.secretsmanager.models.update_instance_payload import UpdateInstancePayload diff --git a/services/secretsmanager/src/stackit/secretsmanager/api/default_api.py b/services/secretsmanager/src/stackit/secretsmanager/api/default_api.py index 56db9d80..c3df5bc0 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/api/default_api.py +++ b/services/secretsmanager/src/stackit/secretsmanager/api/default_api.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -110,9 +110,9 @@ def create_acl( _response_types_map: Dict[str, Optional[str]] = { "201": "ACL", - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -184,9 +184,9 @@ def create_acl_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "201": "ACL", - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -258,9 +258,9 @@ def create_acl_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "201": "ACL", - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -302,7 +302,7 @@ def _create_acl_serialize( # set the HTTP header `Accept` if "Accept" not in _header_params: - _header_params["Accept"] = self.api_client.select_header_accept(["application/json"]) + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) # set the HTTP header `Content-Type` if _content_type: @@ -388,8 +388,8 @@ def create_instance( _response_types_map: Dict[str, Optional[str]] = { "201": "Instance", - "400": None, - "401": None, + "400": "BadRequest", + "401": "str", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -457,8 +457,8 @@ def create_instance_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "201": "Instance", - "400": None, - "401": None, + "400": "BadRequest", + "401": "str", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -526,8 +526,8 @@ def create_instance_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "201": "Instance", - "400": None, - "401": None, + "400": "BadRequest", + "401": "str", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -566,7 +566,7 @@ def _create_instance_serialize( # set the HTTP header `Accept` if "Accept" not in _header_params: - _header_params["Accept"] = self.api_client.select_header_accept(["application/json"]) + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) # set the HTTP header `Content-Type` if _content_type: @@ -656,10 +656,10 @@ def create_user( _response_types_map: Dict[str, Optional[str]] = { "200": "User", - "400": None, - "401": None, - "404": None, - "409": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", + "409": "Conflict", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -731,10 +731,10 @@ def create_user_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "200": "User", - "400": None, - "401": None, - "404": None, - "409": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", + "409": "Conflict", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -806,10 +806,10 @@ def create_user_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "200": "User", - "400": None, - "401": None, - "404": None, - "409": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", + "409": "Conflict", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -851,7 +851,7 @@ def _create_user_serialize( # set the HTTP header `Accept` if "Accept" not in _header_params: - _header_params["Accept"] = self.api_client.select_header_accept(["application/json"]) + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) # set the HTTP header `Content-Type` if _content_type: @@ -941,8 +941,9 @@ def delete_acl( _response_types_map: Dict[str, Optional[str]] = { "204": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1014,8 +1015,9 @@ def delete_acl_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "204": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1087,8 +1089,9 @@ def delete_acl_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "204": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1128,6 +1131,10 @@ def _delete_acl_serialize( # process the form parameters # process the body parameter + # set the HTTP header `Accept` + if "Accept" not in _header_params: + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) + # authentication setting _auth_settings: List[str] = [] @@ -1204,8 +1211,9 @@ def delete_instance( _response_types_map: Dict[str, Optional[str]] = { "204": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1273,8 +1281,9 @@ def delete_instance_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "204": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1342,8 +1351,9 @@ def delete_instance_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "204": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1380,6 +1390,10 @@ def _delete_instance_serialize( # process the form parameters # process the body parameter + # set the HTTP header `Accept` + if "Accept" not in _header_params: + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) + # authentication setting _auth_settings: List[str] = [] @@ -1462,8 +1476,9 @@ def delete_user( _response_types_map: Dict[str, Optional[str]] = { "204": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1537,8 +1552,9 @@ def delete_user_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "204": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1612,8 +1628,9 @@ def delete_user_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "204": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1653,6 +1670,10 @@ def _delete_user_serialize( # process the form parameters # process the body parameter + # set the HTTP header `Accept` + if "Accept" not in _header_params: + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) + # authentication setting _auth_settings: List[str] = [] @@ -1733,8 +1754,9 @@ def get_acl( _response_types_map: Dict[str, Optional[str]] = { "200": "ACL", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1806,8 +1828,9 @@ def get_acl_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "200": "ACL", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1879,8 +1902,9 @@ def get_acl_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "200": "ACL", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -1922,7 +1946,7 @@ def _get_acl_serialize( # set the HTTP header `Accept` if "Accept" not in _header_params: - _header_params["Accept"] = self.api_client.select_header_accept(["application/json"]) + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) # authentication setting _auth_settings: List[str] = [] @@ -2000,8 +2024,9 @@ def get_instance( _response_types_map: Dict[str, Optional[str]] = { "200": "Instance", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2069,8 +2094,9 @@ def get_instance_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "200": "Instance", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2138,8 +2164,9 @@ def get_instance_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "200": "Instance", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2178,7 +2205,7 @@ def _get_instance_serialize( # set the HTTP header `Accept` if "Accept" not in _header_params: - _header_params["Accept"] = self.api_client.select_header_accept(["application/json"]) + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) # authentication setting _auth_settings: List[str] = [] @@ -2262,8 +2289,9 @@ def get_user( _response_types_map: Dict[str, Optional[str]] = { "200": "User", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2337,8 +2365,9 @@ def get_user_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "200": "User", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2412,8 +2441,9 @@ def get_user_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "200": "User", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2455,7 +2485,7 @@ def _get_user_serialize( # set the HTTP header `Accept` if "Accept" not in _header_params: - _header_params["Accept"] = self.api_client.select_header_accept(["application/json"]) + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) # authentication setting _auth_settings: List[str] = [] @@ -2533,8 +2563,9 @@ def list_acls( _response_types_map: Dict[str, Optional[str]] = { "200": "ListACLsResponse", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2602,8 +2633,9 @@ def list_acls_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "200": "ListACLsResponse", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2671,8 +2703,9 @@ def list_acls_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "200": "ListACLsResponse", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2711,7 +2744,7 @@ def _list_acls_serialize( # set the HTTP header `Accept` if "Accept" not in _header_params: - _header_params["Accept"] = self.api_client.select_header_accept(["application/json"]) + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) # authentication setting _auth_settings: List[str] = [] @@ -2785,7 +2818,8 @@ def list_instances( _response_types_map: Dict[str, Optional[str]] = { "200": "ListInstancesResponse", - "401": None, + "400": "BadRequest", + "401": "str", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2849,7 +2883,8 @@ def list_instances_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "200": "ListInstancesResponse", - "401": None, + "400": "BadRequest", + "401": "str", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2913,7 +2948,8 @@ def list_instances_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "200": "ListInstancesResponse", - "401": None, + "400": "BadRequest", + "401": "str", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -2949,7 +2985,7 @@ def _list_instances_serialize( # set the HTTP header `Accept` if "Accept" not in _header_params: - _header_params["Accept"] = self.api_client.select_header_accept(["application/json"]) + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) # authentication setting _auth_settings: List[str] = [] @@ -3027,8 +3063,9 @@ def list_users( _response_types_map: Dict[str, Optional[str]] = { "200": "ListUsersResponse", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -3096,8 +3133,9 @@ def list_users_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "200": "ListUsersResponse", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -3165,8 +3203,9 @@ def list_users_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "200": "ListUsersResponse", - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -3205,7 +3244,7 @@ def _list_users_serialize( # set the HTTP header `Accept` if "Accept" not in _header_params: - _header_params["Accept"] = self.api_client.select_header_accept(["application/json"]) + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) # authentication setting _auth_settings: List[str] = [] @@ -3291,9 +3330,9 @@ def update_acl( _response_types_map: Dict[str, Optional[str]] = { "200": None, - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -3369,9 +3408,9 @@ def update_acl_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "200": None, - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -3447,9 +3486,9 @@ def update_acl_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "200": None, - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -3492,6 +3531,10 @@ def _update_acl_serialize( if update_acl_payload is not None: _body_params = update_acl_payload + # set the HTTP header `Accept` + if "Accept" not in _header_params: + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) + # set the HTTP header `Content-Type` if _content_type: _header_params["Content-Type"] = _content_type @@ -3580,9 +3623,9 @@ def update_acls( _response_types_map: Dict[str, Optional[str]] = { "200": None, - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -3654,9 +3697,9 @@ def update_acls_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "200": None, - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -3728,9 +3771,9 @@ def update_acls_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "200": None, - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -3770,6 +3813,10 @@ def _update_acls_serialize( if update_acls_payload is not None: _body_params = update_acls_payload + # set the HTTP header `Accept` + if "Accept" not in _header_params: + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) + # set the HTTP header `Content-Type` if _content_type: _header_params["Content-Type"] = _content_type @@ -3858,9 +3905,9 @@ def update_instance( _response_types_map: Dict[str, Optional[str]] = { "201": None, - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -3932,9 +3979,9 @@ def update_instance_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "201": None, - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -4006,9 +4053,9 @@ def update_instance_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "201": None, - "400": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -4048,6 +4095,10 @@ def _update_instance_serialize( if update_instance_payload is not None: _body_params = update_instance_payload + # set the HTTP header `Accept` + if "Accept" not in _header_params: + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) + # set the HTTP header `Content-Type` if _content_type: _header_params["Content-Type"] = _content_type @@ -4142,8 +4193,9 @@ def update_user( _response_types_map: Dict[str, Optional[str]] = { "200": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -4221,8 +4273,9 @@ def update_user_with_http_info( _response_types_map: Dict[str, Optional[str]] = { "200": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -4300,8 +4353,9 @@ def update_user_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { "200": None, - "401": None, - "404": None, + "400": "BadRequest", + "401": "str", + "404": "NotFound", "500": None, } response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout) @@ -4344,6 +4398,10 @@ def _update_user_serialize( if update_user_payload is not None: _body_params = update_user_payload + # set the HTTP header `Accept` + if "Accept" not in _header_params: + _header_params["Accept"] = self.api_client.select_header_accept(["application/json", "text/plain"]) + # set the HTTP header `Content-Type` if _content_type: _header_params["Content-Type"] = _content_type diff --git a/services/secretsmanager/src/stackit/secretsmanager/api_client.py b/services/secretsmanager/src/stackit/secretsmanager/api_client.py index 530f65b0..9d6d904a 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/api_client.py +++ b/services/secretsmanager/src/stackit/secretsmanager/api_client.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/configuration.py b/services/secretsmanager/src/stackit/secretsmanager/configuration.py index 20aba911..c86aea2c 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/configuration.py +++ b/services/secretsmanager/src/stackit/secretsmanager/configuration.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/exceptions.py b/services/secretsmanager/src/stackit/secretsmanager/exceptions.py index beaa1b13..223cf2d3 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/exceptions.py +++ b/services/secretsmanager/src/stackit/secretsmanager/exceptions.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/__init__.py b/services/secretsmanager/src/stackit/secretsmanager/models/__init__.py index 4254cee9..53f34d16 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/__init__.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/__init__.py @@ -6,7 +6,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,6 +15,8 @@ # import models into model package from stackit.secretsmanager.models.acl import ACL +from stackit.secretsmanager.models.bad_request import BadRequest +from stackit.secretsmanager.models.conflict import Conflict from stackit.secretsmanager.models.create_acl_payload import CreateACLPayload from stackit.secretsmanager.models.create_instance_payload import CreateInstancePayload from stackit.secretsmanager.models.create_user_payload import CreateUserPayload @@ -22,6 +24,7 @@ from stackit.secretsmanager.models.list_acls_response import ListACLsResponse from stackit.secretsmanager.models.list_instances_response import ListInstancesResponse from stackit.secretsmanager.models.list_users_response import ListUsersResponse +from stackit.secretsmanager.models.not_found import NotFound from stackit.secretsmanager.models.update_acl_payload import UpdateACLPayload from stackit.secretsmanager.models.update_acls_payload import UpdateACLsPayload from stackit.secretsmanager.models.update_instance_payload import UpdateInstancePayload diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/acl.py b/services/secretsmanager/src/stackit/secretsmanager/models/acl.py index cb608303..d8d8b166 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/acl.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/acl.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/bad_request.py b/services/secretsmanager/src/stackit/secretsmanager/models/bad_request.py new file mode 100644 index 00000000..1aa0dbd4 --- /dev/null +++ b/services/secretsmanager/src/stackit/secretsmanager/models/bad_request.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + STACKIT Secrets Manager API + + This API provides endpoints for managing the Secrets-Manager. + + The version of the OpenAPI document: 1.4.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 docstring might be too long + +from __future__ import annotations + +import json +import pprint +from typing import Any, ClassVar, Dict, List, Optional, Set + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing_extensions import Self + + +class BadRequest(BaseModel): + """ + BadRequest + """ + + message: StrictStr = Field(description="The error message for bad requests") + __properties: ClassVar[List[str]] = ["message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BadRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BadRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({"message": obj.get("message")}) + return _obj diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/conflict.py b/services/secretsmanager/src/stackit/secretsmanager/models/conflict.py new file mode 100644 index 00000000..2c2bfb83 --- /dev/null +++ b/services/secretsmanager/src/stackit/secretsmanager/models/conflict.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + STACKIT Secrets Manager API + + This API provides endpoints for managing the Secrets-Manager. + + The version of the OpenAPI document: 1.4.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 docstring might be too long + +from __future__ import annotations + +import json +import pprint +from typing import Any, ClassVar, Dict, List, Optional, Set + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing_extensions import Self + + +class Conflict(BaseModel): + """ + Conflict + """ + + message: StrictStr = Field(description="The error message for conflicts") + __properties: ClassVar[List[str]] = ["message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Conflict from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Conflict from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({"message": obj.get("message")}) + return _obj diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/create_acl_payload.py b/services/secretsmanager/src/stackit/secretsmanager/models/create_acl_payload.py index e68fa2ad..acaab559 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/create_acl_payload.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/create_acl_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/create_instance_payload.py b/services/secretsmanager/src/stackit/secretsmanager/models/create_instance_payload.py index dc23bf1a..bb63be6f 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/create_instance_payload.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/create_instance_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/create_user_payload.py b/services/secretsmanager/src/stackit/secretsmanager/models/create_user_payload.py index 0d16bf51..e2b45a84 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/create_user_payload.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/create_user_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/instance.py b/services/secretsmanager/src/stackit/secretsmanager/models/instance.py index 9a7f8eed..732c30e6 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/instance.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/instance.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/list_acls_response.py b/services/secretsmanager/src/stackit/secretsmanager/models/list_acls_response.py index 928be815..9e45b5db 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/list_acls_response.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/list_acls_response.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/list_instances_response.py b/services/secretsmanager/src/stackit/secretsmanager/models/list_instances_response.py index 0e925af8..54ce21a1 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/list_instances_response.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/list_instances_response.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/list_users_response.py b/services/secretsmanager/src/stackit/secretsmanager/models/list_users_response.py index 40fcfe7d..15ce919a 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/list_users_response.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/list_users_response.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/not_found.py b/services/secretsmanager/src/stackit/secretsmanager/models/not_found.py new file mode 100644 index 00000000..7f376a3b --- /dev/null +++ b/services/secretsmanager/src/stackit/secretsmanager/models/not_found.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + STACKIT Secrets Manager API + + This API provides endpoints for managing the Secrets-Manager. + + The version of the OpenAPI document: 1.4.1 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 docstring might be too long + +from __future__ import annotations + +import json +import pprint +from typing import Any, ClassVar, Dict, List, Optional, Set + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing_extensions import Self + + +class NotFound(BaseModel): + """ + NotFound + """ + + message: StrictStr = Field(description="The error message for not found resources") + __properties: ClassVar[List[str]] = ["message"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NotFound from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NotFound from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({"message": obj.get("message")}) + return _obj diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/update_acl_payload.py b/services/secretsmanager/src/stackit/secretsmanager/models/update_acl_payload.py index 0dc63f65..5d94f442 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/update_acl_payload.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/update_acl_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/update_acls_payload.py b/services/secretsmanager/src/stackit/secretsmanager/models/update_acls_payload.py index 05330b74..72b5ae06 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/update_acls_payload.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/update_acls_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/update_instance_payload.py b/services/secretsmanager/src/stackit/secretsmanager/models/update_instance_payload.py index ec0312ed..cd2242f0 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/update_instance_payload.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/update_instance_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/update_user_payload.py b/services/secretsmanager/src/stackit/secretsmanager/models/update_user_payload.py index 56fdb8f1..506a1c55 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/update_user_payload.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/update_user_payload.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,7 +17,7 @@ import pprint from typing import Any, ClassVar, Dict, List, Optional, Set -from pydantic import BaseModel, ConfigDict, Field, StrictBool +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing_extensions import Self @@ -26,11 +26,14 @@ class UpdateUserPayload(BaseModel): UpdateUserPayload """ + description: Optional[StrictStr] = Field( + default=None, description="A user chosen description to differentiate between multiple users." + ) write: Optional[StrictBool] = Field( default=None, description="Is true if the user has write access to the secrets engine. Is false for a read-only user.", ) - __properties: ClassVar[List[str]] = ["write"] + __properties: ClassVar[List[str]] = ["description", "write"] model_config = ConfigDict( populate_by_name=True, @@ -80,5 +83,5 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: if not isinstance(obj, dict): return cls.model_validate(obj) - _obj = cls.model_validate({"write": obj.get("write")}) + _obj = cls.model_validate({"description": obj.get("description"), "write": obj.get("write")}) return _obj diff --git a/services/secretsmanager/src/stackit/secretsmanager/models/user.py b/services/secretsmanager/src/stackit/secretsmanager/models/user.py index cb7c876b..d469a48e 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/models/user.py +++ b/services/secretsmanager/src/stackit/secretsmanager/models/user.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/services/secretsmanager/src/stackit/secretsmanager/rest.py b/services/secretsmanager/src/stackit/secretsmanager/rest.py index 3a133d02..0c452a50 100644 --- a/services/secretsmanager/src/stackit/secretsmanager/rest.py +++ b/services/secretsmanager/src/stackit/secretsmanager/rest.py @@ -5,7 +5,7 @@ This API provides endpoints for managing the Secrets-Manager. - The version of the OpenAPI document: 1.4.0 + The version of the OpenAPI document: 1.4.1 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually.