Skip to content

Commit aeedcfb

Browse files
Generate edge
1 parent 97be425 commit aeedcfb

5 files changed

Lines changed: 322 additions & 1 deletion

File tree

services/edge/oas_commit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
95de5cba3201a683657cb472d5fa30aa768f19cc
1+
a896a71ffc1c1152f63b40a0194ac461ce179d6c

services/edge/src/stackit/edge/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"Instance",
3434
"InstanceList",
3535
"Kubeconfig",
36+
"KubernetesReleaseList",
3637
"Plan",
3738
"PlanList",
3839
"Token",
@@ -64,6 +65,9 @@
6465
from stackit.edge.models.instance import Instance as Instance
6566
from stackit.edge.models.instance_list import InstanceList as InstanceList
6667
from stackit.edge.models.kubeconfig import Kubeconfig as Kubeconfig
68+
from stackit.edge.models.kubernetes_release_list import (
69+
KubernetesReleaseList as KubernetesReleaseList,
70+
)
6771
from stackit.edge.models.plan import Plan as Plan
6872
from stackit.edge.models.plan_list import PlanList as PlanList
6973
from stackit.edge.models.token import Token as Token

services/edge/src/stackit/edge/api/default_api.py

Lines changed: 235 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
from stackit.edge.models.instance import Instance
3131
from stackit.edge.models.instance_list import InstanceList
3232
from stackit.edge.models.kubeconfig import Kubeconfig
33+
from stackit.edge.models.kubernetes_release_list import KubernetesReleaseList
3334
from stackit.edge.models.plan_list import PlanList
3435
from stackit.edge.models.token import Token
3536
from stackit.edge.models.update_instance_by_name_payload import (
@@ -2627,6 +2628,240 @@ def _get_token_by_instance_name_serialize(
26272628
_request_auth=_request_auth,
26282629
)
26292630

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+
26302865
@validate_call
26312866
def list_instances(
26322867
self,

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from stackit.edge.models.instance import Instance
1919
from stackit.edge.models.instance_list import InstanceList
2020
from stackit.edge.models.kubeconfig import Kubeconfig
21+
from stackit.edge.models.kubernetes_release_list import KubernetesReleaseList
2122
from stackit.edge.models.plan import Plan
2223
from stackit.edge.models.plan_list import PlanList
2324
from stackit.edge.models.token import Token
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
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 typing_extensions import Self
22+
23+
24+
class KubernetesReleaseList(BaseModel):
25+
"""
26+
A list of compatible Kubernetes releases.
27+
""" # noqa: E501
28+
29+
k8s_releases: List[StrictStr] = Field(description="Array of Kubernetes version strings.")
30+
__properties: ClassVar[List[str]] = ["k8s_releases"]
31+
32+
model_config = ConfigDict(
33+
populate_by_name=True,
34+
validate_assignment=True,
35+
protected_namespaces=(),
36+
)
37+
38+
def to_str(self) -> str:
39+
"""Returns the string representation of the model using alias"""
40+
return pprint.pformat(self.model_dump(by_alias=True))
41+
42+
def to_json(self) -> str:
43+
"""Returns the JSON representation of the model using alias"""
44+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
45+
return json.dumps(self.to_dict())
46+
47+
@classmethod
48+
def from_json(cls, json_str: str) -> Optional[Self]:
49+
"""Create an instance of KubernetesReleaseList from a JSON string"""
50+
return cls.from_dict(json.loads(json_str))
51+
52+
def to_dict(self) -> Dict[str, Any]:
53+
"""Return the dictionary representation of the model using alias.
54+
55+
This has the following differences from calling pydantic's
56+
`self.model_dump(by_alias=True)`:
57+
58+
* `None` is only added to the output dict for nullable fields that
59+
were set at model initialization. Other fields with value `None`
60+
are ignored.
61+
"""
62+
excluded_fields: Set[str] = set([])
63+
64+
_dict = self.model_dump(
65+
by_alias=True,
66+
exclude=excluded_fields,
67+
exclude_none=True,
68+
)
69+
return _dict
70+
71+
@classmethod
72+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
73+
"""Create an instance of KubernetesReleaseList from a dict"""
74+
if obj is None:
75+
return None
76+
77+
if not isinstance(obj, dict):
78+
return cls.model_validate(obj)
79+
80+
_obj = cls.model_validate({"k8s_releases": obj.get("k8s_releases")})
81+
return _obj

0 commit comments

Comments
 (0)