stackit-valkey 0.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. src/stackit/valkey/__init__.py +134 -0
  2. src/stackit/valkey/api/__init__.py +4 -0
  3. src/stackit/valkey/api/default_api.py +5235 -0
  4. src/stackit/valkey/api_client.py +649 -0
  5. src/stackit/valkey/api_response.py +22 -0
  6. src/stackit/valkey/configuration.py +162 -0
  7. src/stackit/valkey/exceptions.py +217 -0
  8. src/stackit/valkey/models/__init__.py +48 -0
  9. src/stackit/valkey/models/backup.py +102 -0
  10. src/stackit/valkey/models/create_backup_response_item.py +83 -0
  11. src/stackit/valkey/models/create_credentials_payload.py +82 -0
  12. src/stackit/valkey/models/create_instance_payload.py +97 -0
  13. src/stackit/valkey/models/create_instance_response.py +82 -0
  14. src/stackit/valkey/models/credentials.py +98 -0
  15. src/stackit/valkey/models/credentials_list_item.py +82 -0
  16. src/stackit/valkey/models/credentials_response.py +95 -0
  17. src/stackit/valkey/models/error.py +83 -0
  18. src/stackit/valkey/models/get_metrics_response.py +161 -0
  19. src/stackit/valkey/models/instance.py +148 -0
  20. src/stackit/valkey/models/instance_last_operation.py +100 -0
  21. src/stackit/valkey/models/instance_parameters.py +240 -0
  22. src/stackit/valkey/models/instance_schema.py +96 -0
  23. src/stackit/valkey/models/list_credentials_response.py +99 -0
  24. src/stackit/valkey/models/list_instances_response.py +99 -0
  25. src/stackit/valkey/models/list_offerings_response.py +99 -0
  26. src/stackit/valkey/models/list_restores_response.py +99 -0
  27. src/stackit/valkey/models/model_schema.py +82 -0
  28. src/stackit/valkey/models/offering.py +135 -0
  29. src/stackit/valkey/models/partial_update_instance_payload.py +97 -0
  30. src/stackit/valkey/models/plan.py +100 -0
  31. src/stackit/valkey/models/raw_credentials.py +89 -0
  32. src/stackit/valkey/models/restore.py +94 -0
  33. src/stackit/valkey/models/trigger_restore_response.py +82 -0
  34. src/stackit/valkey/models/update_backups_config_payload.py +82 -0
  35. src/stackit/valkey/models/update_backups_config_response.py +82 -0
  36. src/stackit/valkey/py.typed +0 -0
  37. src/stackit/valkey/rest.py +163 -0
  38. stackit_valkey-0.0.1.dist-info/METADATA +46 -0
  39. stackit_valkey-0.0.1.dist-info/RECORD +40 -0
  40. stackit_valkey-0.0.1.dist-info/WHEEL +4 -0
@@ -0,0 +1,82 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ STACKIT Key Value Store API
5
+
6
+ The STACKIT Key Value Store API provides endpoints to list service offerings, manage service instances and service credentials within STACKIT portal projects.
7
+
8
+ The version of the OpenAPI document: 2.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+
16
+ import json
17
+ import pprint
18
+ from typing import Any, ClassVar, Dict, List, Optional, Set
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictStr
21
+ from pydantic_core import to_jsonable_python
22
+ from typing_extensions import Self
23
+
24
+
25
+ class UpdateBackupsConfigResponse(BaseModel):
26
+ """
27
+ UpdateBackupsConfigResponse
28
+ """ # noqa: E501
29
+
30
+ message: StrictStr
31
+ __properties: ClassVar[List[str]] = ["message"]
32
+
33
+ model_config = ConfigDict(
34
+ validate_by_name=True,
35
+ validate_by_alias=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ return json.dumps(to_jsonable_python(self.to_dict()))
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of UpdateBackupsConfigResponse from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([])
64
+
65
+ _dict = self.model_dump(
66
+ by_alias=True,
67
+ exclude=excluded_fields,
68
+ exclude_none=True,
69
+ )
70
+ return _dict
71
+
72
+ @classmethod
73
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
74
+ """Create an instance of UpdateBackupsConfigResponse from a dict"""
75
+ if obj is None:
76
+ return None
77
+
78
+ if not isinstance(obj, dict):
79
+ return cls.model_validate(obj)
80
+
81
+ _obj = cls.model_validate({"message": obj.get("message")})
82
+ return _obj
File without changes
@@ -0,0 +1,163 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ STACKIT Key Value Store API
5
+
6
+ The STACKIT Key Value Store API provides endpoints to list service offerings, manage service instances and service credentials within STACKIT portal projects.
7
+
8
+ The version of the OpenAPI document: 2.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import io
15
+ import json
16
+ import re
17
+
18
+ import requests
19
+ from stackit.core.authorization import Authorization
20
+ from stackit.core.configuration import Configuration
21
+
22
+ from stackit.valkey.exceptions import ApiException, ApiValueError
23
+
24
+ RESTResponseType = requests.Response
25
+
26
+
27
+ class RESTResponse(io.IOBase):
28
+
29
+ def __init__(self, resp) -> None:
30
+ self.response = resp
31
+ self.status = resp.status_code
32
+ self.reason = resp.reason
33
+ self.data = None
34
+
35
+ def read(self):
36
+ if self.data is None:
37
+ self.data = self.response.content
38
+ return self.data
39
+
40
+ @property
41
+ def headers(self):
42
+ """Returns a dictionary of response headers."""
43
+ return self.response.headers
44
+
45
+ def getheaders(self):
46
+ """Returns a dictionary of the response headers; use ``headers`` instead."""
47
+ return self.response.headers
48
+
49
+ def getheader(self, name, default=None):
50
+ """Returns a given response header; use ``headers.get()`` instead."""
51
+ return self.response.headers.get(name, default)
52
+
53
+
54
+ class RESTClientObject:
55
+ def __init__(self, config: Configuration) -> None:
56
+ self.session = config.custom_http_session if config.custom_http_session else requests.Session()
57
+ authorization = Authorization(config)
58
+ self.session.auth = authorization.auth_method
59
+
60
+ def request(self, method, url, headers=None, body=None, post_params=None, _request_timeout=None):
61
+ """Perform requests.
62
+
63
+ :param method: http request method
64
+ :param url: http request url
65
+ :param headers: http request headers
66
+ :param body: request json body, for `application/json`
67
+ :param post_params: request post parameters,
68
+ `application/x-www-form-urlencoded`
69
+ and `multipart/form-data`
70
+ :param _request_timeout: timeout setting for this request. If one
71
+ number provided, it will be total request
72
+ timeout. It can also be a pair (tuple) of
73
+ (connection, read) timeouts.
74
+ """
75
+ method = method.upper()
76
+ if method not in ["GET", "HEAD", "DELETE", "POST", "PUT", "PATCH", "OPTIONS"]:
77
+ raise ValueError("Method %s not allowed", method)
78
+
79
+ if post_params and body:
80
+ raise ApiValueError("body parameter cannot be used with post_params parameter.")
81
+
82
+ post_params = post_params or {}
83
+ headers = headers or {}
84
+
85
+ try:
86
+ # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE`
87
+ if method in ["POST", "PUT", "PATCH", "OPTIONS", "DELETE"]:
88
+
89
+ # no content type provided or payload is json
90
+ content_type = headers.get("Content-Type")
91
+ if not content_type or re.search("json", content_type, re.IGNORECASE):
92
+ request_body = None
93
+ if body is not None:
94
+ request_body = json.dumps(body)
95
+ r = self.session.request(
96
+ method,
97
+ url,
98
+ data=request_body,
99
+ headers=headers,
100
+ timeout=_request_timeout,
101
+ )
102
+ elif content_type == "application/x-www-form-urlencoded":
103
+ r = self.session.request(
104
+ method,
105
+ url,
106
+ params=post_params,
107
+ headers=headers,
108
+ timeout=_request_timeout,
109
+ )
110
+ elif content_type == "multipart/form-data":
111
+ # must del headers['Content-Type'], or the correct
112
+ # Content-Type which generated by urllib3 will be
113
+ # overwritten.
114
+ del headers["Content-Type"]
115
+ # Ensures that dict objects are serialized
116
+ post_params = [(a, json.dumps(b)) if isinstance(b, dict) else (a, b) for a, b in post_params]
117
+ r = self.session.request(
118
+ method,
119
+ url,
120
+ files=post_params,
121
+ headers=headers,
122
+ timeout=_request_timeout,
123
+ )
124
+ # Pass a `string` parameter directly in the body to support
125
+ # other content types than JSON when `body` argument is
126
+ # provided in serialized form.
127
+ elif isinstance(body, str) or isinstance(body, bytes):
128
+ r = self.session.request(
129
+ method,
130
+ url,
131
+ data=body,
132
+ headers=headers,
133
+ timeout=_request_timeout,
134
+ )
135
+ elif headers["Content-Type"].startswith("text/") and isinstance(body, bool):
136
+ request_body = "true" if body else "false"
137
+ r = self.session.request(
138
+ method,
139
+ url,
140
+ data=request_body,
141
+ headers=headers,
142
+ timeout=_request_timeout,
143
+ )
144
+ else:
145
+ # Cannot generate the request from given parameters
146
+ msg = """Cannot prepare a request message for provided
147
+ arguments. Please check that your arguments match
148
+ declared content type."""
149
+ raise ApiException(status=0, reason=msg)
150
+ # For `GET`, `HEAD`
151
+ else:
152
+ r = self.session.request(
153
+ method,
154
+ url,
155
+ params={},
156
+ headers=headers,
157
+ timeout=_request_timeout,
158
+ )
159
+ except requests.exceptions.SSLError as e:
160
+ msg = "\n".join([type(e).__name__, str(e)])
161
+ raise ApiException(status=0, reason=msg)
162
+
163
+ return RESTResponse(r)
@@ -0,0 +1,46 @@
1
+ Metadata-Version: 2.5
2
+ Name: stackit-valkey
3
+ Version: 0.0.1
4
+ Summary: STACKIT Key Value Store API
5
+ Project-URL: Homepage, https://github.com/stackitcloud/stackit-sdk-python
6
+ Project-URL: Issues, https://github.com/stackitcloud/stackit-sdk-python/issues
7
+ Author-email: STACKIT Developer Tools <developer-tools@stackit.cloud>
8
+ Classifier: License :: OSI Approved :: Apache Software License
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Classifier: Programming Language :: Python :: 3.15
17
+ Requires-Python: <4.0,>=3.10
18
+ Requires-Dist: pydantic>=2.9.2
19
+ Requires-Dist: python-dateutil>=2.9.0.post0
20
+ Requires-Dist: requests>=2.33.0
21
+ Requires-Dist: stackit-core>=0.0.1a
22
+ Description-Content-Type: text/markdown
23
+
24
+ # stackit.valkey
25
+ The STACKIT Key Value Store API provides endpoints to list service offerings, manage service instances and service credentials within STACKIT portal projects.
26
+
27
+ For more information, please visit [https://docs.stackit.cloud/stackit/en/support-area-72063304.html](https://docs.stackit.cloud/stackit/en/support-area-72063304.html)
28
+
29
+ This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK.
30
+
31
+
32
+ ## Installation & Usage
33
+ ### pip install
34
+
35
+ ```sh
36
+ pip install stackit-valkey
37
+ ```
38
+
39
+ Then import the package:
40
+ ```python
41
+ import stackit.valkey
42
+ ```
43
+
44
+ ## Getting Started
45
+
46
+ [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK.
@@ -0,0 +1,40 @@
1
+ src/stackit/valkey/__init__.py,sha256=1GBTrAQZhLkJUqxsS-INC0hF_Pq6yJNI5QfCZDcMBYU,4771
2
+ src/stackit/valkey/api_client.py,sha256=-aJtYzpPMn07dbbgZncn7QcNvAE2DgWKRHya8KOi5ZY,23768
3
+ src/stackit/valkey/api_response.py,sha256=rSuCVGY-HE8X_WwteQP5wyANIuS-L5AmtZEUOwTicak,641
4
+ src/stackit/valkey/configuration.py,sha256=zbtGZndO9L9wFBGo3Z9w3dXEeT35xY0ezRJZ_N46WpE,5739
5
+ src/stackit/valkey/exceptions.py,sha256=6eQzyBB9kKzWHt9QsdKg-v39rN9aCyIu5i7IRYkYT8c,6467
6
+ src/stackit/valkey/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ src/stackit/valkey/rest.py,sha256=c-ESpkQIiQQHY9spGN6pCkj5tYXG9NB5-6TEQ8brUvs,6455
8
+ src/stackit/valkey/api/__init__.py,sha256=jSD2M3nIP9I3RZ7adj3BKmBkiZRKd0GzL9jO_1DqMfM,101
9
+ src/stackit/valkey/api/default_api.py,sha256=vH0Mcb_r8wyV1lufwqhr9-_qTOGNGVfkO6dWcZJSMFY,231495
10
+ src/stackit/valkey/models/__init__.py,sha256=d-0Yi9llMhJRmL5-eUm1PWgxwRJ6L5eDLvY1TpBY-Ww,2379
11
+ src/stackit/valkey/models/backup.py,sha256=jpzRJNJOKgYLHfe91R53Sjotyd8VEw-6_vDow_qEA3I,3011
12
+ src/stackit/valkey/models/create_backup_response_item.py,sha256=2e6p6J3NNUM3d_Ge5oA93XiR5KrYVCJdRofMVRg8r3Q,2561
13
+ src/stackit/valkey/models/create_credentials_payload.py,sha256=TLql0_oF6IgTzZMQ6_8Xj3DLa3vGpHRFEFSAHZTxgGA,2528
14
+ src/stackit/valkey/models/create_instance_payload.py,sha256=IpcYrcjPsdQdwDlVLBTUoBRYsNOUdwQU3BTnhk_cVXY,3189
15
+ src/stackit/valkey/models/create_instance_response.py,sha256=mJdkSj1coL9Hu8ufBfWNrhN331kzH3C9gAHUSk9PqBA,2545
16
+ src/stackit/valkey/models/credentials.py,sha256=u9_Z_XwxSBWHDxCYExf8JdVsODlAiekPEn6ZpvfmYqU,3081
17
+ src/stackit/valkey/models/credentials_list_item.py,sha256=MNk7nzMAmq9Y8qHtfkPA7XmOYWeUqCwzGTIFvfkLSeY,2465
18
+ src/stackit/valkey/models/credentials_response.py,sha256=wS03HDqZVO3iizBxP8DR_Vc47S-NuF5Wu1fLUKP8sVI,2947
19
+ src/stackit/valkey/models/error.py,sha256=Vv5PO8McZ5ENz6V42SxcBiavBiX2cCoodbrd6j1oGrM,2502
20
+ src/stackit/valkey/models/get_metrics_response.py,sha256=krKEctf0tYWxGuBN9RfQ3nqJ8vGvwZcKuj4W4xqMT-s,6816
21
+ src/stackit/valkey/models/instance.py,sha256=kqD6z1qUa87JSgIwc1JbXoo-5Jyu3a-fQ2SOIOSrvTY,5109
22
+ src/stackit/valkey/models/instance_last_operation.py,sha256=BUBWU7S9Ct2rJ70pJrMZg1Q0flClLCh0cvfPj3ia8Tw,3226
23
+ src/stackit/valkey/models/instance_parameters.py,sha256=tgvzj_RgKH0GpnJJ0Z7J1G7-cAfIosQIV7hWHUXPrpU,10060
24
+ src/stackit/valkey/models/instance_schema.py,sha256=1JduY5oAC8YEhUV9MS-XbHq9QnWoyoUPv-htVHuvHgo,3090
25
+ src/stackit/valkey/models/list_credentials_response.py,sha256=j0kGq12Uler_aozhm6dD7-EQe7t402Fics50hnBF5FY,3279
26
+ src/stackit/valkey/models/list_instances_response.py,sha256=ixllJLD4SBo04rUQf0oc75MqkF2H3R59qDYvqapf_Lw,3106
27
+ src/stackit/valkey/models/list_offerings_response.py,sha256=uqO4-VIbaQIr6Zr5FQ35bdVryLRbUMhXW5UbCpl7K20,3106
28
+ src/stackit/valkey/models/list_restores_response.py,sha256=x5BHoPaGLaymuP1j7S5w0PvP9-tfLAhxAtjKQEH47rM,3230
29
+ src/stackit/valkey/models/model_schema.py,sha256=yipTJmiP8Yv0pIa0f-BgE9T3yguu_HK37bMNmB9_x7M,2459
30
+ src/stackit/valkey/models/offering.py,sha256=DZ0gOhu54wwxNii57ltABkl1tOWt3LeA8BMawZ6nrmc,4322
31
+ src/stackit/valkey/models/partial_update_instance_payload.py,sha256=pzZSpFP_5K11SX5W-ie8N_lkKFfk8TVwagTSORdFddY,3265
32
+ src/stackit/valkey/models/plan.py,sha256=zKDgzCTVnk9AIyctqufE8idbVjkupgz7KHgz9lnpfJM,2845
33
+ src/stackit/valkey/models/raw_credentials.py,sha256=-k1UUMMFG7r8iTPuIM26SypTWhQY2IHeYRyq8a3oOYI,2801
34
+ src/stackit/valkey/models/restore.py,sha256=8_7xT3cJ4RG7niQxBn55UJ2pEnlFjbHU0tlGsObQgFM,2862
35
+ src/stackit/valkey/models/trigger_restore_response.py,sha256=28m6lHP2DYAPhoP1KSlwMLtmETuwCJMNgPTO0DP0pXc,2477
36
+ src/stackit/valkey/models/update_backups_config_payload.py,sha256=gOQM086g8TwYccwn3NhE1FER4vbeefeT2Yk0mj5Ps64,2558
37
+ src/stackit/valkey/models/update_backups_config_response.py,sha256=78E3W_I-GB-gVUFyYCqrghNcx3Fx8XUXkGX3EItRCz0,2517
38
+ stackit_valkey-0.0.1.dist-info/METADATA,sha256=5fJ64TLqXsjQG3xQWmCCLgyTJQuG9RgwDPHSze9lOgk,1895
39
+ stackit_valkey-0.0.1.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
40
+ stackit_valkey-0.0.1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any