Skip to content

Commit 774dab1

Browse files
Generator: Update SDK /services/loadbalancer (#1277)
Co-authored-by: Ruben Hoenle <Ruben.Hoenle@stackit.cloud>
1 parent 010ab88 commit 774dab1

File tree

6 files changed

+57
-9
lines changed

6 files changed

+57
-9
lines changed

CHANGELOG.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@
88
- `MachineType`
99
- Set max length of description of `Network` to 255
1010
- Update the description of `Server` and `CreateServerPayload` status field to include new possible value `PAUSED`
11-
- `loadbalanccer`: [v0.3.0](services/loadbalancer/CHANGELOG.md#v030-2025-06-10)
12-
- **Feature:** Add new field `target_security_group` in `LoadBalancer` Model
11+
- `loadbalancer`:
12+
- [v0.4.0](services/loadbalancer/CHANGELOG.md#v040-2025-06-12)
13+
- **Feature:** Add new field `disable_target_security_group_assignment` in `LoadBalancer`, `CreateLoadBalancerPayload` and `UpdateLoadBalancerPayload` Models
14+
- [v0.3.0](services/loadbalancer/CHANGELOG.md#v030-2025-06-10)
15+
- **Feature:** Add new field `target_security_group` in `LoadBalancer` Model
1316
- `resourcemanager`: [v0.5.0](services/resourcemanager/CHANGELOG.md#v050-2025-06-04)
1417
- **Feature:** Delete Organization labels using the new method `DeleteOrganizationLabels`
1518
- **Feature:** Delete Project labels using the new method `DeleteProjectLabels`

services/loadbalancer/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## v0.4.0 (2025-06-12)
2+
- **Feature:** Add new field `disable_target_security_group_assignment` in `LoadBalancer`, `CreateLoadBalancerPayload` and `UpdateLoadBalancerPayload` Models
3+
14
## v0.3.0 (2025-06-10)
25
- **Feature:** Add new field `target_security_group` in `LoadBalancer` Model
36

services/loadbalancer/pyproject.toml

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

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

services/loadbalancer/src/stackit/loadbalancer/models/create_load_balancer_payload.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,14 @@
1818
import re
1919
from typing import Any, ClassVar, Dict, List, Optional, Set
2020

21-
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21+
from pydantic import (
22+
BaseModel,
23+
ConfigDict,
24+
Field,
25+
StrictBool,
26+
StrictStr,
27+
field_validator,
28+
)
2229
from typing_extensions import Annotated, Self
2330

2431
from stackit.loadbalancer.models.listener import Listener
@@ -34,6 +41,11 @@ class CreateLoadBalancerPayload(BaseModel):
3441
CreateLoadBalancerPayload
3542
"""
3643

44+
disable_target_security_group_assignment: Optional[StrictBool] = Field(
45+
default=None,
46+
description="Disable target security group assignemt to allow targets outside of the given network. Connectivity to targets need to be ensured by the customer, including routing and Security Groups (targetSecurityGroup can be assigned). Not changeable after creation.",
47+
alias="disableTargetSecurityGroupAssignment",
48+
)
3749
errors: Optional[List[LoadBalancerError]] = Field(
3850
default=None, description="Reports all errors a load balancer has."
3951
)
@@ -73,14 +85,15 @@ class CreateLoadBalancerPayload(BaseModel):
7385
)
7486
target_security_group: Optional[SecurityGroup] = Field(
7587
default=None,
76-
description="Security Group permitting network traffic from the LoadBalancer to the targets.",
88+
description="Security Group permitting network traffic from the LoadBalancer to the targets. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.",
7789
alias="targetSecurityGroup",
7890
)
7991
version: Optional[StrictStr] = Field(
8092
default=None,
8193
description="Load balancer resource version. Must be empty or unset for creating load balancers, non-empty for updating load balancers. Semantics: While retrieving load balancers, this is the current version of this load balancer resource that changes during updates of the load balancers. On updates this field specified the load balancer version you calculated your update for instead of the future version to enable concurrency safe updates. Update calls will then report the new version in their result as you would see with a load balancer retrieval call later. There exist no total order of the version, so you can only compare it for equality, but not for less/greater than another version. Since the creation of load balancer is always intended to create the first version of it, there should be no existing version. That's why this field must by empty of not present in that case.",
8294
)
8395
__properties: ClassVar[List[str]] = [
96+
"disableTargetSecurityGroupAssignment",
8497
"errors",
8598
"externalAddress",
8699
"listeners",
@@ -217,6 +230,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
217230

218231
_obj = cls.model_validate(
219232
{
233+
"disableTargetSecurityGroupAssignment": obj.get("disableTargetSecurityGroupAssignment"),
220234
"errors": (
221235
[LoadBalancerError.from_dict(_item) for _item in obj["errors"]]
222236
if obj.get("errors") is not None

services/loadbalancer/src/stackit/loadbalancer/models/load_balancer.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,14 @@
1818
import re
1919
from typing import Any, ClassVar, Dict, List, Optional, Set
2020

21-
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21+
from pydantic import (
22+
BaseModel,
23+
ConfigDict,
24+
Field,
25+
StrictBool,
26+
StrictStr,
27+
field_validator,
28+
)
2229
from typing_extensions import Annotated, Self
2330

2431
from stackit.loadbalancer.models.listener import Listener
@@ -34,6 +41,11 @@ class LoadBalancer(BaseModel):
3441
LoadBalancer
3542
"""
3643

44+
disable_target_security_group_assignment: Optional[StrictBool] = Field(
45+
default=None,
46+
description="Disable target security group assignemt to allow targets outside of the given network. Connectivity to targets need to be ensured by the customer, including routing and Security Groups (targetSecurityGroup can be assigned). Not changeable after creation.",
47+
alias="disableTargetSecurityGroupAssignment",
48+
)
3749
errors: Optional[List[LoadBalancerError]] = Field(
3850
default=None, description="Reports all errors a load balancer has."
3951
)
@@ -73,14 +85,15 @@ class LoadBalancer(BaseModel):
7385
)
7486
target_security_group: Optional[SecurityGroup] = Field(
7587
default=None,
76-
description="Security Group permitting network traffic from the LoadBalancer to the targets.",
88+
description="Security Group permitting network traffic from the LoadBalancer to the targets. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.",
7789
alias="targetSecurityGroup",
7890
)
7991
version: Optional[StrictStr] = Field(
8092
default=None,
8193
description="Load balancer resource version. Must be empty or unset for creating load balancers, non-empty for updating load balancers. Semantics: While retrieving load balancers, this is the current version of this load balancer resource that changes during updates of the load balancers. On updates this field specified the load balancer version you calculated your update for instead of the future version to enable concurrency safe updates. Update calls will then report the new version in their result as you would see with a load balancer retrieval call later. There exist no total order of the version, so you can only compare it for equality, but not for less/greater than another version. Since the creation of load balancer is always intended to create the first version of it, there should be no existing version. That's why this field must by empty of not present in that case.",
8294
)
8395
__properties: ClassVar[List[str]] = [
96+
"disableTargetSecurityGroupAssignment",
8497
"errors",
8598
"externalAddress",
8699
"listeners",
@@ -217,6 +230,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
217230

218231
_obj = cls.model_validate(
219232
{
233+
"disableTargetSecurityGroupAssignment": obj.get("disableTargetSecurityGroupAssignment"),
220234
"errors": (
221235
[LoadBalancerError.from_dict(_item) for _item in obj["errors"]]
222236
if obj.get("errors") is not None

services/loadbalancer/src/stackit/loadbalancer/models/update_load_balancer_payload.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,14 @@
1818
import re
1919
from typing import Any, ClassVar, Dict, List, Optional, Set
2020

21-
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21+
from pydantic import (
22+
BaseModel,
23+
ConfigDict,
24+
Field,
25+
StrictBool,
26+
StrictStr,
27+
field_validator,
28+
)
2229
from typing_extensions import Annotated, Self
2330

2431
from stackit.loadbalancer.models.listener import Listener
@@ -34,6 +41,11 @@ class UpdateLoadBalancerPayload(BaseModel):
3441
UpdateLoadBalancerPayload
3542
"""
3643

44+
disable_target_security_group_assignment: Optional[StrictBool] = Field(
45+
default=None,
46+
description="Disable target security group assignemt to allow targets outside of the given network. Connectivity to targets need to be ensured by the customer, including routing and Security Groups (targetSecurityGroup can be assigned). Not changeable after creation.",
47+
alias="disableTargetSecurityGroupAssignment",
48+
)
3749
errors: Optional[List[LoadBalancerError]] = Field(
3850
default=None, description="Reports all errors a load balancer has."
3951
)
@@ -73,14 +85,15 @@ class UpdateLoadBalancerPayload(BaseModel):
7385
)
7486
target_security_group: Optional[SecurityGroup] = Field(
7587
default=None,
76-
description="Security Group permitting network traffic from the LoadBalancer to the targets.",
88+
description="Security Group permitting network traffic from the LoadBalancer to the targets. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.",
7789
alias="targetSecurityGroup",
7890
)
7991
version: Optional[StrictStr] = Field(
8092
default=None,
8193
description="Load balancer resource version. Must be empty or unset for creating load balancers, non-empty for updating load balancers. Semantics: While retrieving load balancers, this is the current version of this load balancer resource that changes during updates of the load balancers. On updates this field specified the load balancer version you calculated your update for instead of the future version to enable concurrency safe updates. Update calls will then report the new version in their result as you would see with a load balancer retrieval call later. There exist no total order of the version, so you can only compare it for equality, but not for less/greater than another version. Since the creation of load balancer is always intended to create the first version of it, there should be no existing version. That's why this field must by empty of not present in that case.",
8294
)
8395
__properties: ClassVar[List[str]] = [
96+
"disableTargetSecurityGroupAssignment",
8497
"errors",
8598
"externalAddress",
8699
"listeners",
@@ -217,6 +230,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
217230

218231
_obj = cls.model_validate(
219232
{
233+
"disableTargetSecurityGroupAssignment": obj.get("disableTargetSecurityGroupAssignment"),
220234
"errors": (
221235
[LoadBalancerError.from_dict(_item) for _item in obj["errors"]]
222236
if obj.get("errors") is not None

0 commit comments

Comments
 (0)