stackit-loadbalancer 0.4.1__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 (48) hide show
  1. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/PKG-INFO +1 -1
  2. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/pyproject.toml +1 -1
  3. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/create_load_balancer_payload.py +17 -1
  4. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/load_balancer.py +17 -1
  5. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/update_load_balancer_payload.py +17 -1
  6. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/LICENSE.md +0 -0
  7. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/NOTICE.txt +0 -0
  8. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/README.md +0 -0
  9. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/__init__.py +0 -0
  10. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/api/__init__.py +0 -0
  11. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/api/default_api.py +0 -0
  12. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/api_client.py +0 -0
  13. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/api_response.py +0 -0
  14. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/configuration.py +0 -0
  15. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/exceptions.py +0 -0
  16. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/__init__.py +0 -0
  17. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/active_health_check.py +0 -0
  18. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/create_credentials_payload.py +0 -0
  19. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/create_credentials_response.py +0 -0
  20. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/credentials_response.py +0 -0
  21. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/get_credentials_response.py +0 -0
  22. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/get_quota_response.py +0 -0
  23. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/google_protobuf_any.py +0 -0
  24. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/list_credentials_response.py +0 -0
  25. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/list_load_balancers_response.py +0 -0
  26. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/list_plans_response.py +0 -0
  27. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/listener.py +0 -0
  28. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/load_balancer_error.py +0 -0
  29. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/load_balancer_options.py +0 -0
  30. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/loadbalancer_option_access_control.py +0 -0
  31. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/loadbalancer_option_logs.py +0 -0
  32. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/loadbalancer_option_metrics.py +0 -0
  33. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/loadbalancer_option_observability.py +0 -0
  34. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/network.py +0 -0
  35. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/options_tcp.py +0 -0
  36. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/options_udp.py +0 -0
  37. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/plan_details.py +0 -0
  38. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/security_group.py +0 -0
  39. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/server_name_indicator.py +0 -0
  40. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/session_persistence.py +0 -0
  41. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/status.py +0 -0
  42. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/target.py +0 -0
  43. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/target_pool.py +0 -0
  44. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/update_credentials_payload.py +0 -0
  45. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/update_credentials_response.py +0 -0
  46. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/models/update_target_pool_payload.py +0 -0
  47. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/py.typed +0 -0
  48. {stackit_loadbalancer-0.4.1 → stackit_loadbalancer-0.5.0}/src/stackit/loadbalancer/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stackit-loadbalancer
3
- Version: 0.4.1
3
+ Version: 0.5.0
4
4
  Summary: Load Balancer API
5
5
  Author: STACKIT Developer Tools
6
6
  Author-email: developer-tools@stackit.cloud
@@ -3,7 +3,7 @@ name = "stackit-loadbalancer"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "stackit-loadbalancer"
6
- version = "v0.4.1"
6
+ version = "v0.5.0"
7
7
  authors = [
8
8
  "STACKIT Developer Tools <developer-tools@stackit.cloud>",
9
9
  ]
@@ -58,6 +58,11 @@ class CreateLoadBalancerPayload(BaseModel):
58
58
  default=None,
59
59
  description="There is a maximum listener count of 20. Port and protocol limitations: - UDP listeners cannot have the same port. - TCP-derived listeners cannot have the same port. A TCP-derived listener is any listener that listens on a TCP port. As of now those are: TCP, TCP_PROXY, and PROTOCOL_TLS_PASSTHROUGH. The only exception is, if all listeners for the same port are PROTOCOL_TLS_PASSTHROUGH. - PROTOCOL_TLS_PASSTHROUGH listeners cannot have the same port and at least one common domain name. - PROTOCOL_TLS_PASSTHROUGH listeners can have the same domain name and different ports though (e.g. ports 443 and 8443 for domain example.com). - PROTOCOL_TLS_PASSTHROUGH listeners without a domain name serve as a default listener and you can have only one default listener. ",
60
60
  )
61
+ load_balancer_security_group: Optional[SecurityGroup] = Field(
62
+ default=None,
63
+ description="Security Group permitting network traffic from the LoadBalancer to the targets. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.",
64
+ alias="loadBalancerSecurityGroup",
65
+ )
61
66
  name: Optional[Annotated[str, Field(strict=True)]] = Field(
62
67
  default=None, description="Load balancer name. Not changeable after creation."
63
68
  )
@@ -85,7 +90,7 @@ class CreateLoadBalancerPayload(BaseModel):
85
90
  )
86
91
  target_security_group: Optional[SecurityGroup] = Field(
87
92
  default=None,
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.",
93
+ description="Security Group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.",
89
94
  alias="targetSecurityGroup",
90
95
  )
91
96
  version: Optional[StrictStr] = Field(
@@ -97,6 +102,7 @@ class CreateLoadBalancerPayload(BaseModel):
97
102
  "errors",
98
103
  "externalAddress",
99
104
  "listeners",
105
+ "loadBalancerSecurityGroup",
100
106
  "name",
101
107
  "networks",
102
108
  "options",
@@ -167,10 +173,12 @@ class CreateLoadBalancerPayload(BaseModel):
167
173
  * OpenAPI `readOnly` fields are excluded.
168
174
  * OpenAPI `readOnly` fields are excluded.
169
175
  * OpenAPI `readOnly` fields are excluded.
176
+ * OpenAPI `readOnly` fields are excluded.
170
177
  """
171
178
  excluded_fields: Set[str] = set(
172
179
  [
173
180
  "errors",
181
+ "load_balancer_security_group",
174
182
  "private_address",
175
183
  "region",
176
184
  "status",
@@ -197,6 +205,9 @@ class CreateLoadBalancerPayload(BaseModel):
197
205
  if _item:
198
206
  _items.append(_item.to_dict())
199
207
  _dict["listeners"] = _items
208
+ # override the default output from pydantic by calling `to_dict()` of load_balancer_security_group
209
+ if self.load_balancer_security_group:
210
+ _dict["loadBalancerSecurityGroup"] = self.load_balancer_security_group.to_dict()
200
211
  # override the default output from pydantic by calling `to_dict()` of each item in networks (list)
201
212
  _items = []
202
213
  if self.networks:
@@ -242,6 +253,11 @@ class CreateLoadBalancerPayload(BaseModel):
242
253
  if obj.get("listeners") is not None
243
254
  else None
244
255
  ),
256
+ "loadBalancerSecurityGroup": (
257
+ SecurityGroup.from_dict(obj["loadBalancerSecurityGroup"])
258
+ if obj.get("loadBalancerSecurityGroup") is not None
259
+ else None
260
+ ),
245
261
  "name": obj.get("name"),
246
262
  "networks": (
247
263
  [Network.from_dict(_item) for _item in obj["networks"]] if obj.get("networks") is not None else None
@@ -58,6 +58,11 @@ class LoadBalancer(BaseModel):
58
58
  default=None,
59
59
  description="There is a maximum listener count of 20. Port and protocol limitations: - UDP listeners cannot have the same port. - TCP-derived listeners cannot have the same port. A TCP-derived listener is any listener that listens on a TCP port. As of now those are: TCP, TCP_PROXY, and PROTOCOL_TLS_PASSTHROUGH. The only exception is, if all listeners for the same port are PROTOCOL_TLS_PASSTHROUGH. - PROTOCOL_TLS_PASSTHROUGH listeners cannot have the same port and at least one common domain name. - PROTOCOL_TLS_PASSTHROUGH listeners can have the same domain name and different ports though (e.g. ports 443 and 8443 for domain example.com). - PROTOCOL_TLS_PASSTHROUGH listeners without a domain name serve as a default listener and you can have only one default listener. ",
60
60
  )
61
+ load_balancer_security_group: Optional[SecurityGroup] = Field(
62
+ default=None,
63
+ description="Security Group permitting network traffic from the LoadBalancer to the targets. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.",
64
+ alias="loadBalancerSecurityGroup",
65
+ )
61
66
  name: Optional[Annotated[str, Field(strict=True)]] = Field(
62
67
  default=None, description="Load balancer name. Not changeable after creation."
63
68
  )
@@ -85,7 +90,7 @@ class LoadBalancer(BaseModel):
85
90
  )
86
91
  target_security_group: Optional[SecurityGroup] = Field(
87
92
  default=None,
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.",
93
+ description="Security Group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.",
89
94
  alias="targetSecurityGroup",
90
95
  )
91
96
  version: Optional[StrictStr] = Field(
@@ -97,6 +102,7 @@ class LoadBalancer(BaseModel):
97
102
  "errors",
98
103
  "externalAddress",
99
104
  "listeners",
105
+ "loadBalancerSecurityGroup",
100
106
  "name",
101
107
  "networks",
102
108
  "options",
@@ -167,10 +173,12 @@ class LoadBalancer(BaseModel):
167
173
  * OpenAPI `readOnly` fields are excluded.
168
174
  * OpenAPI `readOnly` fields are excluded.
169
175
  * OpenAPI `readOnly` fields are excluded.
176
+ * OpenAPI `readOnly` fields are excluded.
170
177
  """
171
178
  excluded_fields: Set[str] = set(
172
179
  [
173
180
  "errors",
181
+ "load_balancer_security_group",
174
182
  "private_address",
175
183
  "region",
176
184
  "status",
@@ -197,6 +205,9 @@ class LoadBalancer(BaseModel):
197
205
  if _item:
198
206
  _items.append(_item.to_dict())
199
207
  _dict["listeners"] = _items
208
+ # override the default output from pydantic by calling `to_dict()` of load_balancer_security_group
209
+ if self.load_balancer_security_group:
210
+ _dict["loadBalancerSecurityGroup"] = self.load_balancer_security_group.to_dict()
200
211
  # override the default output from pydantic by calling `to_dict()` of each item in networks (list)
201
212
  _items = []
202
213
  if self.networks:
@@ -242,6 +253,11 @@ class LoadBalancer(BaseModel):
242
253
  if obj.get("listeners") is not None
243
254
  else None
244
255
  ),
256
+ "loadBalancerSecurityGroup": (
257
+ SecurityGroup.from_dict(obj["loadBalancerSecurityGroup"])
258
+ if obj.get("loadBalancerSecurityGroup") is not None
259
+ else None
260
+ ),
245
261
  "name": obj.get("name"),
246
262
  "networks": (
247
263
  [Network.from_dict(_item) for _item in obj["networks"]] if obj.get("networks") is not None else None
@@ -58,6 +58,11 @@ class UpdateLoadBalancerPayload(BaseModel):
58
58
  default=None,
59
59
  description="There is a maximum listener count of 20. Port and protocol limitations: - UDP listeners cannot have the same port. - TCP-derived listeners cannot have the same port. A TCP-derived listener is any listener that listens on a TCP port. As of now those are: TCP, TCP_PROXY, and PROTOCOL_TLS_PASSTHROUGH. The only exception is, if all listeners for the same port are PROTOCOL_TLS_PASSTHROUGH. - PROTOCOL_TLS_PASSTHROUGH listeners cannot have the same port and at least one common domain name. - PROTOCOL_TLS_PASSTHROUGH listeners can have the same domain name and different ports though (e.g. ports 443 and 8443 for domain example.com). - PROTOCOL_TLS_PASSTHROUGH listeners without a domain name serve as a default listener and you can have only one default listener. ",
60
60
  )
61
+ load_balancer_security_group: Optional[SecurityGroup] = Field(
62
+ default=None,
63
+ description="Security Group permitting network traffic from the LoadBalancer to the targets. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.",
64
+ alias="loadBalancerSecurityGroup",
65
+ )
61
66
  name: Optional[Annotated[str, Field(strict=True)]] = Field(
62
67
  default=None, description="Load balancer name. Not changeable after creation."
63
68
  )
@@ -85,7 +90,7 @@ class UpdateLoadBalancerPayload(BaseModel):
85
90
  )
86
91
  target_security_group: Optional[SecurityGroup] = Field(
87
92
  default=None,
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.",
93
+ description="Security Group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.",
89
94
  alias="targetSecurityGroup",
90
95
  )
91
96
  version: Optional[StrictStr] = Field(
@@ -97,6 +102,7 @@ class UpdateLoadBalancerPayload(BaseModel):
97
102
  "errors",
98
103
  "externalAddress",
99
104
  "listeners",
105
+ "loadBalancerSecurityGroup",
100
106
  "name",
101
107
  "networks",
102
108
  "options",
@@ -167,10 +173,12 @@ class UpdateLoadBalancerPayload(BaseModel):
167
173
  * OpenAPI `readOnly` fields are excluded.
168
174
  * OpenAPI `readOnly` fields are excluded.
169
175
  * OpenAPI `readOnly` fields are excluded.
176
+ * OpenAPI `readOnly` fields are excluded.
170
177
  """
171
178
  excluded_fields: Set[str] = set(
172
179
  [
173
180
  "errors",
181
+ "load_balancer_security_group",
174
182
  "private_address",
175
183
  "region",
176
184
  "status",
@@ -197,6 +205,9 @@ class UpdateLoadBalancerPayload(BaseModel):
197
205
  if _item:
198
206
  _items.append(_item.to_dict())
199
207
  _dict["listeners"] = _items
208
+ # override the default output from pydantic by calling `to_dict()` of load_balancer_security_group
209
+ if self.load_balancer_security_group:
210
+ _dict["loadBalancerSecurityGroup"] = self.load_balancer_security_group.to_dict()
200
211
  # override the default output from pydantic by calling `to_dict()` of each item in networks (list)
201
212
  _items = []
202
213
  if self.networks:
@@ -242,6 +253,11 @@ class UpdateLoadBalancerPayload(BaseModel):
242
253
  if obj.get("listeners") is not None
243
254
  else None
244
255
  ),
256
+ "loadBalancerSecurityGroup": (
257
+ SecurityGroup.from_dict(obj["loadBalancerSecurityGroup"])
258
+ if obj.get("loadBalancerSecurityGroup") is not None
259
+ else None
260
+ ),
245
261
  "name": obj.get("name"),
246
262
  "networks": (
247
263
  [Network.from_dict(_item) for _item in obj["networks"]] if obj.get("networks") is not None else None