Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit10ef492

Browse files
Generator: Update SDK /services/ske (#2266)
v1.3.0- Feature: Add new field `kubernetes` to `Nodepool` model---------Co-authored-by: Marcel Jacek <Marcel.Jacek@stackit.cloud>
1 parent1866b21 commit10ef492

File tree

7 files changed

+115
-1
lines changed

7 files changed

+115
-1
lines changed

‎CHANGELOG.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
-**Breaking Change:** Mark`protection` attribute as required in`Key`,`CreateKeyPayload`,`CreateWrappingKeyPayload` and`WrappingKey` model
1515
-`intake`:[v0.1.1](services/intake/CHANGELOG.md#v011)
1616
- Mark attributes`max_message_size_ki_b` and`max_messages_per_hour` as optional (previously required) in`UpdateIntakeRunnerPayload` model
17+
-`ske`:[v1.3.0](services/ske/CHANGELOG.md#v130)
18+
-**Feature:** Add new field`kubernetes` to`Nodepool` model
1719

1820
##Release (2025-08-29)
1921
-`kms`:[v0.3.0](services/kms/CHANGELOG.md#v030)

‎services/ske/CHANGELOG.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
##v1.3.0
2+
-**Feature:** Add new field`kubernetes` to`Nodepool` model
3+
14
##v1.2.0
25
-**Version**: Minimal version is now python 3.9
36

‎services/ske/pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "stackit-ske"
33

44
[tool.poetry]
55
name ="stackit-ske"
6-
version ="v1.2.0"
6+
version ="v1.3.0"
77
authors = [
88
"STACKIT Developer Tools <developer-tools@stackit.cloud>",
99
]

‎services/ske/src/stackit/ske/__init__.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"MaintenanceAutoUpdate",
5757
"Network",
5858
"Nodepool",
59+
"NodepoolKubernetes",
5960
"Observability",
6061
"ProviderOptions",
6162
"RuntimeError",
@@ -124,6 +125,9 @@
124125
)
125126
fromstackit.ske.models.networkimportNetworkasNetwork
126127
fromstackit.ske.models.nodepoolimportNodepoolasNodepool
128+
fromstackit.ske.models.nodepool_kubernetesimport (
129+
NodepoolKubernetesasNodepoolKubernetes,
130+
)
127131
fromstackit.ske.models.observabilityimportObservabilityasObservability
128132
fromstackit.ske.models.provider_optionsimportProviderOptionsasProviderOptions
129133
fromstackit.ske.models.runtime_errorimportRuntimeErrorasRuntimeError

‎services/ske/src/stackit/ske/models/__init__.py‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
fromstackit.ske.models.maintenance_auto_updateimportMaintenanceAutoUpdate
4545
fromstackit.ske.models.networkimportNetwork
4646
fromstackit.ske.models.nodepoolimportNodepool
47+
fromstackit.ske.models.nodepool_kubernetesimportNodepoolKubernetes
4748
fromstackit.ske.models.observabilityimportObservability
4849
fromstackit.ske.models.provider_optionsimportProviderOptions
4950
fromstackit.ske.models.runtime_errorimportRuntimeError

‎services/ske/src/stackit/ske/models/nodepool.py‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
fromstackit.ske.models.criimportCRI
2424
fromstackit.ske.models.machineimportMachine
25+
fromstackit.ske.models.nodepool_kubernetesimportNodepoolKubernetes
2526
fromstackit.ske.models.taintimportTaint
2627
fromstackit.ske.models.volumeimportVolume
2728

@@ -36,6 +37,7 @@ class Nodepool(BaseModel):
3637
)
3738
availability_zones:List[StrictStr]=Field(alias="availabilityZones")
3839
cri:Optional[CRI]=None
40+
kubernetes:Optional[NodepoolKubernetes]=None
3941
labels:Optional[Dict[str,StrictStr]]=None
4042
machine:Machine
4143
max_surge:Optional[StrictInt]=Field(default=None,alias="maxSurge")
@@ -53,6 +55,7 @@ class Nodepool(BaseModel):
5355
"allowSystemComponents",
5456
"availabilityZones",
5557
"cri",
58+
"kubernetes",
5659
"labels",
5760
"machine",
5861
"maxSurge",
@@ -104,6 +107,9 @@ def to_dict(self) -> Dict[str, Any]:
104107
# override the default output from pydantic by calling `to_dict()` of cri
105108
ifself.cri:
106109
_dict["cri"]=self.cri.to_dict()
110+
# override the default output from pydantic by calling `to_dict()` of kubernetes
111+
ifself.kubernetes:
112+
_dict["kubernetes"]=self.kubernetes.to_dict()
107113
# override the default output from pydantic by calling `to_dict()` of machine
108114
ifself.machine:
109115
_dict["machine"]=self.machine.to_dict()
@@ -133,6 +139,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
133139
"allowSystemComponents":obj.get("allowSystemComponents"),
134140
"availabilityZones":obj.get("availabilityZones"),
135141
"cri":CRI.from_dict(obj["cri"])ifobj.get("cri")isnotNoneelseNone,
142+
"kubernetes": (
143+
NodepoolKubernetes.from_dict(obj["kubernetes"])ifobj.get("kubernetes")isnotNoneelseNone
144+
),
136145
"labels":obj.get("labels"),
137146
"machine":Machine.from_dict(obj["machine"])ifobj.get("machine")isnotNoneelseNone,
138147
"maxSurge":obj.get("maxSurge"),
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# coding: utf-8
2+
3+
"""
4+
SKE-API
5+
6+
The SKE API provides endpoints to create, update, delete clusters within STACKIT portal projects and to trigger further cluster management tasks.
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__importannotations
15+
16+
importjson
17+
importpprint
18+
importre# noqa: F401
19+
fromtypingimportAny,ClassVar,Dict,List,Optional,Set
20+
21+
frompydanticimportBaseModel,ConfigDict,Field,field_validator
22+
fromtyping_extensionsimportAnnotated,Self
23+
24+
25+
classNodepoolKubernetes(BaseModel):
26+
"""
27+
NodepoolKubernetes
28+
"""# noqa: E501
29+
30+
version:Optional[Annotated[str,Field(strict=True)]]=Field(
31+
default=None,
32+
description="Override the Kubernetes version for the Kubelet of this Nodepool. Version must be equal or lower than the version of the cluster. Only one minor version difference to the version of the cluster is allowed. Downgrade of existing Nodepools is prohibited.",
33+
)
34+
__properties:ClassVar[List[str]]= ["version"]
35+
36+
@field_validator("version")
37+
defversion_validate_regular_expression(cls,value):
38+
"""Validates the regular expression"""
39+
ifvalueisNone:
40+
returnvalue
41+
42+
ifnotre.match(r"^\d+\.\d+\.\d+$",value):
43+
raiseValueError(r"must validate the regular expression /^\d+\.\d+\.\d+$/")
44+
returnvalue
45+
46+
model_config=ConfigDict(
47+
populate_by_name=True,
48+
validate_assignment=True,
49+
protected_namespaces=(),
50+
)
51+
52+
defto_str(self)->str:
53+
"""Returns the string representation of the model using alias"""
54+
returnpprint.pformat(self.model_dump(by_alias=True))
55+
56+
defto_json(self)->str:
57+
"""Returns the JSON representation of the model using alias"""
58+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
59+
returnjson.dumps(self.to_dict())
60+
61+
@classmethod
62+
deffrom_json(cls,json_str:str)->Optional[Self]:
63+
"""Create an instance of NodepoolKubernetes from a JSON string"""
64+
returncls.from_dict(json.loads(json_str))
65+
66+
defto_dict(self)->Dict[str,Any]:
67+
"""Return the dictionary representation of the model using alias.
68+
69+
This has the following differences from calling pydantic's
70+
`self.model_dump(by_alias=True)`:
71+
72+
* `None` is only added to the output dict for nullable fields that
73+
were set at model initialization. Other fields with value `None`
74+
are ignored.
75+
"""
76+
excluded_fields:Set[str]=set([])
77+
78+
_dict=self.model_dump(
79+
by_alias=True,
80+
exclude=excluded_fields,
81+
exclude_none=True,
82+
)
83+
return_dict
84+
85+
@classmethod
86+
deffrom_dict(cls,obj:Optional[Dict[str,Any]])->Optional[Self]:
87+
"""Create an instance of NodepoolKubernetes from a dict"""
88+
ifobjisNone:
89+
returnNone
90+
91+
ifnotisinstance(obj,dict):
92+
returncls.model_validate(obj)
93+
94+
_obj=cls.model_validate({"version":obj.get("version")})
95+
return_obj

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp