stackit-edge 0.4.0__tar.gz → 0.5.0__tar.gz

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 (29) hide show
  1. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/PKG-INFO +1 -1
  2. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/pyproject.toml +1 -1
  3. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/__init__.py +4 -0
  4. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/api/default_api.py +235 -0
  5. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/__init__.py +1 -0
  6. stackit_edge-0.5.0/src/stackit/edge/models/kubernetes_release_list.py +82 -0
  7. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/.gitignore +0 -0
  8. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/LICENSE.md +0 -0
  9. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/NOTICE.txt +0 -0
  10. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/README.md +0 -0
  11. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/api/__init__.py +0 -0
  12. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/api_client.py +0 -0
  13. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/api_response.py +0 -0
  14. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/configuration.py +0 -0
  15. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/exceptions.py +0 -0
  16. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/bad_request.py +0 -0
  17. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/create_instance_payload.py +0 -0
  18. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/instance.py +0 -0
  19. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/instance_list.py +0 -0
  20. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/kubeconfig.py +0 -0
  21. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/plan.py +0 -0
  22. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/plan_list.py +0 -0
  23. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/token.py +0 -0
  24. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/unauthorized_request.py +0 -0
  25. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/update_instance_by_name_payload.py +0 -0
  26. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/update_instance_payload.py +0 -0
  27. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/models/user.py +0 -0
  28. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/py.typed +0 -0
  29. {stackit_edge-0.4.0 → stackit_edge-0.5.0}/src/stackit/edge/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stackit-edge
3
- Version: 0.4.0
3
+ Version: 0.5.0
4
4
  Summary: STACKIT Edge Cloud API
5
5
  Project-URL: Homepage, https://github.com/stackitcloud/stackit-sdk-python
6
6
  Project-URL: Issues, https://github.com/stackitcloud/stackit-sdk-python/issues
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stackit-edge"
3
- version = "v0.4.0"
3
+ version = "v0.5.0"
4
4
  description = "STACKIT Edge Cloud API"
5
5
  authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
6
6
  requires-python = ">=3.9,<4"
@@ -33,6 +33,7 @@ __all__ = [
33
33
  "Instance",
34
34
  "InstanceList",
35
35
  "Kubeconfig",
36
+ "KubernetesReleaseList",
36
37
  "Plan",
37
38
  "PlanList",
38
39
  "Token",
@@ -64,6 +65,9 @@ from stackit.edge.models.create_instance_payload import (
64
65
  from stackit.edge.models.instance import Instance as Instance
65
66
  from stackit.edge.models.instance_list import InstanceList as InstanceList
66
67
  from stackit.edge.models.kubeconfig import Kubeconfig as Kubeconfig
68
+ from stackit.edge.models.kubernetes_release_list import (
69
+ KubernetesReleaseList as KubernetesReleaseList,
70
+ )
67
71
  from stackit.edge.models.plan import Plan as Plan
68
72
  from stackit.edge.models.plan_list import PlanList as PlanList
69
73
  from stackit.edge.models.token import Token as Token
@@ -30,6 +30,7 @@ from stackit.edge.models.create_instance_payload import CreateInstancePayload
30
30
  from stackit.edge.models.instance import Instance
31
31
  from stackit.edge.models.instance_list import InstanceList
32
32
  from stackit.edge.models.kubeconfig import Kubeconfig
33
+ from stackit.edge.models.kubernetes_release_list import KubernetesReleaseList
33
34
  from stackit.edge.models.plan_list import PlanList
34
35
  from stackit.edge.models.token import Token
35
36
  from stackit.edge.models.update_instance_by_name_payload import (
@@ -2627,6 +2628,240 @@ class DefaultApi:
2627
2628
  _request_auth=_request_auth,
2628
2629
  )
2629
2630
 
2631
+ @validate_call
2632
+ def list_compatible_kubernetes_releases(
2633
+ self,
2634
+ talos_version: Annotated[StrictStr, Field(description="The name of the Talos release.")],
2635
+ _request_timeout: Union[
2636
+ None,
2637
+ Annotated[StrictFloat, Field(gt=0)],
2638
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2639
+ ] = None,
2640
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2641
+ _content_type: Optional[StrictStr] = None,
2642
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2643
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2644
+ ) -> KubernetesReleaseList:
2645
+ """list_compatible_kubernetes_releases
2646
+
2647
+
2648
+ :param talos_version: The name of the Talos release. (required)
2649
+ :type talos_version: str
2650
+ :param _request_timeout: timeout setting for this request. If one
2651
+ number provided, it will be total request
2652
+ timeout. It can also be a pair (tuple) of
2653
+ (connection, read) timeouts.
2654
+ :type _request_timeout: int, tuple(int, int), optional
2655
+ :param _request_auth: set to override the auth_settings for an a single
2656
+ request; this effectively ignores the
2657
+ authentication in the spec for a single request.
2658
+ :type _request_auth: dict, optional
2659
+ :param _content_type: force content-type for the request.
2660
+ :type _content_type: str, Optional
2661
+ :param _headers: set to override the headers for a single
2662
+ request; this effectively ignores the headers
2663
+ in the spec for a single request.
2664
+ :type _headers: dict, optional
2665
+ :param _host_index: set to override the host_index for a single
2666
+ request; this effectively ignores the host_index
2667
+ in the spec for a single request.
2668
+ :type _host_index: int, optional
2669
+ :return: Returns the result object.
2670
+ """ # noqa: E501
2671
+
2672
+ _param = self._list_compatible_kubernetes_releases_serialize(
2673
+ talos_version=talos_version,
2674
+ _request_auth=_request_auth,
2675
+ _content_type=_content_type,
2676
+ _headers=_headers,
2677
+ _host_index=_host_index,
2678
+ )
2679
+
2680
+ _response_types_map: Dict[str, Optional[str]] = {
2681
+ "200": "KubernetesReleaseList",
2682
+ "400": "BadRequest",
2683
+ "404": None,
2684
+ "500": None,
2685
+ }
2686
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2687
+ response_data.read()
2688
+ return self.api_client.response_deserialize(
2689
+ response_data=response_data,
2690
+ response_types_map=_response_types_map,
2691
+ ).data
2692
+
2693
+ @validate_call
2694
+ def list_compatible_kubernetes_releases_with_http_info(
2695
+ self,
2696
+ talos_version: Annotated[StrictStr, Field(description="The name of the Talos release.")],
2697
+ _request_timeout: Union[
2698
+ None,
2699
+ Annotated[StrictFloat, Field(gt=0)],
2700
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2701
+ ] = None,
2702
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2703
+ _content_type: Optional[StrictStr] = None,
2704
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2705
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2706
+ ) -> ApiResponse[KubernetesReleaseList]:
2707
+ """list_compatible_kubernetes_releases
2708
+
2709
+
2710
+ :param talos_version: The name of the Talos release. (required)
2711
+ :type talos_version: str
2712
+ :param _request_timeout: timeout setting for this request. If one
2713
+ number provided, it will be total request
2714
+ timeout. It can also be a pair (tuple) of
2715
+ (connection, read) timeouts.
2716
+ :type _request_timeout: int, tuple(int, int), optional
2717
+ :param _request_auth: set to override the auth_settings for an a single
2718
+ request; this effectively ignores the
2719
+ authentication in the spec for a single request.
2720
+ :type _request_auth: dict, optional
2721
+ :param _content_type: force content-type for the request.
2722
+ :type _content_type: str, Optional
2723
+ :param _headers: set to override the headers for a single
2724
+ request; this effectively ignores the headers
2725
+ in the spec for a single request.
2726
+ :type _headers: dict, optional
2727
+ :param _host_index: set to override the host_index for a single
2728
+ request; this effectively ignores the host_index
2729
+ in the spec for a single request.
2730
+ :type _host_index: int, optional
2731
+ :return: Returns the result object.
2732
+ """ # noqa: E501
2733
+
2734
+ _param = self._list_compatible_kubernetes_releases_serialize(
2735
+ talos_version=talos_version,
2736
+ _request_auth=_request_auth,
2737
+ _content_type=_content_type,
2738
+ _headers=_headers,
2739
+ _host_index=_host_index,
2740
+ )
2741
+
2742
+ _response_types_map: Dict[str, Optional[str]] = {
2743
+ "200": "KubernetesReleaseList",
2744
+ "400": "BadRequest",
2745
+ "404": None,
2746
+ "500": None,
2747
+ }
2748
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2749
+ response_data.read()
2750
+ return self.api_client.response_deserialize(
2751
+ response_data=response_data,
2752
+ response_types_map=_response_types_map,
2753
+ )
2754
+
2755
+ @validate_call
2756
+ def list_compatible_kubernetes_releases_without_preload_content(
2757
+ self,
2758
+ talos_version: Annotated[StrictStr, Field(description="The name of the Talos release.")],
2759
+ _request_timeout: Union[
2760
+ None,
2761
+ Annotated[StrictFloat, Field(gt=0)],
2762
+ Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
2763
+ ] = None,
2764
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2765
+ _content_type: Optional[StrictStr] = None,
2766
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2767
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2768
+ ) -> RESTResponseType:
2769
+ """list_compatible_kubernetes_releases
2770
+
2771
+
2772
+ :param talos_version: The name of the Talos release. (required)
2773
+ :type talos_version: str
2774
+ :param _request_timeout: timeout setting for this request. If one
2775
+ number provided, it will be total request
2776
+ timeout. It can also be a pair (tuple) of
2777
+ (connection, read) timeouts.
2778
+ :type _request_timeout: int, tuple(int, int), optional
2779
+ :param _request_auth: set to override the auth_settings for an a single
2780
+ request; this effectively ignores the
2781
+ authentication in the spec for a single request.
2782
+ :type _request_auth: dict, optional
2783
+ :param _content_type: force content-type for the request.
2784
+ :type _content_type: str, Optional
2785
+ :param _headers: set to override the headers for a single
2786
+ request; this effectively ignores the headers
2787
+ in the spec for a single request.
2788
+ :type _headers: dict, optional
2789
+ :param _host_index: set to override the host_index for a single
2790
+ request; this effectively ignores the host_index
2791
+ in the spec for a single request.
2792
+ :type _host_index: int, optional
2793
+ :return: Returns the result object.
2794
+ """ # noqa: E501
2795
+
2796
+ _param = self._list_compatible_kubernetes_releases_serialize(
2797
+ talos_version=talos_version,
2798
+ _request_auth=_request_auth,
2799
+ _content_type=_content_type,
2800
+ _headers=_headers,
2801
+ _host_index=_host_index,
2802
+ )
2803
+
2804
+ _response_types_map: Dict[str, Optional[str]] = {
2805
+ "200": "KubernetesReleaseList",
2806
+ "400": "BadRequest",
2807
+ "404": None,
2808
+ "500": None,
2809
+ }
2810
+ response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2811
+ return response_data.response
2812
+
2813
+ def _list_compatible_kubernetes_releases_serialize(
2814
+ self,
2815
+ talos_version,
2816
+ _request_auth,
2817
+ _content_type,
2818
+ _headers,
2819
+ _host_index,
2820
+ ) -> RequestSerialized:
2821
+
2822
+ _host = None
2823
+
2824
+ _collection_formats: Dict[str, str] = {}
2825
+
2826
+ _path_params: Dict[str, str] = {}
2827
+ _query_params: List[Tuple[str, str]] = []
2828
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2829
+ _form_params: List[Tuple[str, str]] = []
2830
+ _files: Dict[str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]] = {}
2831
+ _body_params: Optional[bytes] = None
2832
+
2833
+ # process the path parameters
2834
+ # process the query parameters
2835
+ if talos_version is not None:
2836
+
2837
+ _query_params.append(("talosVersion", talos_version))
2838
+
2839
+ # process the header parameters
2840
+ # process the form parameters
2841
+ # process the body parameter
2842
+
2843
+ # set the HTTP header `Accept`
2844
+ if "Accept" not in _header_params:
2845
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2846
+
2847
+ # authentication setting
2848
+ _auth_settings: List[str] = []
2849
+
2850
+ return self.api_client.param_serialize(
2851
+ method="GET",
2852
+ resource_path="/v1beta1/listcompatiblekubernetesreleases",
2853
+ path_params=_path_params,
2854
+ query_params=_query_params,
2855
+ header_params=_header_params,
2856
+ body=_body_params,
2857
+ post_params=_form_params,
2858
+ files=_files,
2859
+ auth_settings=_auth_settings,
2860
+ collection_formats=_collection_formats,
2861
+ _host=_host,
2862
+ _request_auth=_request_auth,
2863
+ )
2864
+
2630
2865
  @validate_call
2631
2866
  def list_instances(
2632
2867
  self,
@@ -18,6 +18,7 @@ from stackit.edge.models.create_instance_payload import CreateInstancePayload
18
18
  from stackit.edge.models.instance import Instance
19
19
  from stackit.edge.models.instance_list import InstanceList
20
20
  from stackit.edge.models.kubeconfig import Kubeconfig
21
+ from stackit.edge.models.kubernetes_release_list import KubernetesReleaseList
21
22
  from stackit.edge.models.plan import Plan
22
23
  from stackit.edge.models.plan_list import PlanList
23
24
  from stackit.edge.models.token import Token
@@ -0,0 +1,82 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ STACKIT Edge Cloud API
5
+
6
+ This API provides endpoints for managing STACKIT Edge Cloud instances.
7
+
8
+ The version of the OpenAPI document: 1beta1
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, Field, StrictStr
21
+ from pydantic_core import to_jsonable_python
22
+ from typing_extensions import Self
23
+
24
+
25
+ class KubernetesReleaseList(BaseModel):
26
+ """
27
+ A list of compatible Kubernetes releases.
28
+ """ # noqa: E501
29
+
30
+ k8s_releases: List[StrictStr] = Field(description="Array of Kubernetes version strings.")
31
+ __properties: ClassVar[List[str]] = ["k8s_releases"]
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 KubernetesReleaseList 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 KubernetesReleaseList 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({"k8s_releases": obj.get("k8s_releases")})
82
+ return _obj
File without changes
File without changes
File without changes
File without changes