stackit-alb 0.12.0__tar.gz → 0.13.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 (56) hide show
  1. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/PKG-INFO +1 -1
  2. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/pyproject.toml +1 -1
  3. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/loadbalancer_option_access_control.py +27 -6
  4. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/.gitignore +0 -0
  5. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/LICENSE.md +0 -0
  6. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/NOTICE.txt +0 -0
  7. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/README.md +0 -0
  8. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/__init__.py +0 -0
  9. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/api/__init__.py +0 -0
  10. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/api/default_api.py +0 -0
  11. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/api_client.py +0 -0
  12. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/api_response.py +0 -0
  13. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/configuration.py +0 -0
  14. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/exceptions.py +0 -0
  15. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/__init__.py +0 -0
  16. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/active_health_check.py +0 -0
  17. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/certificate_config.py +0 -0
  18. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/cookie_persistence.py +0 -0
  19. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/create_credentials_payload.py +0 -0
  20. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/create_credentials_response.py +0 -0
  21. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/create_load_balancer_payload.py +0 -0
  22. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/credentials_response.py +0 -0
  23. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/get_credentials_response.py +0 -0
  24. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/get_quota_response.py +0 -0
  25. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/google_protobuf_any.py +0 -0
  26. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/host_config.py +0 -0
  27. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/http_header.py +0 -0
  28. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/http_health_checks.py +0 -0
  29. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/list_credentials_response.py +0 -0
  30. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/list_load_balancers_response.py +0 -0
  31. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/list_plans_response.py +0 -0
  32. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/listener.py +0 -0
  33. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/load_balancer.py +0 -0
  34. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/load_balancer_error.py +0 -0
  35. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/load_balancer_options.py +0 -0
  36. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/loadbalancer_option_logs.py +0 -0
  37. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/loadbalancer_option_metrics.py +0 -0
  38. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/loadbalancer_option_observability.py +0 -0
  39. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/network.py +0 -0
  40. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/path.py +0 -0
  41. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/plan_details.py +0 -0
  42. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/protocol_options_http.py +0 -0
  43. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/protocol_options_https.py +0 -0
  44. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/query_parameter.py +0 -0
  45. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/rule.py +0 -0
  46. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/security_group.py +0 -0
  47. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/status.py +0 -0
  48. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/target.py +0 -0
  49. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/target_pool.py +0 -0
  50. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/tls_config.py +0 -0
  51. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/update_credentials_payload.py +0 -0
  52. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/update_credentials_response.py +0 -0
  53. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/update_load_balancer_payload.py +0 -0
  54. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/models/update_target_pool_payload.py +0 -0
  55. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/py.typed +0 -0
  56. {stackit_alb-0.12.0 → stackit_alb-0.13.0}/src/stackit/alb/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: stackit-alb
3
- Version: 0.12.0
3
+ Version: 0.13.0
4
4
  Summary: Application Load Balancer 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-alb"
3
- version = "v0.12.0"
3
+ version = "v0.13.0"
4
4
  description = "Application Load Balancer API"
5
5
  authors = [{ name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud" }]
6
6
  requires-python = ">=3.10,<4.0"
@@ -15,24 +15,43 @@ from __future__ import annotations
15
15
 
16
16
  import json
17
17
  import pprint
18
+ import re # noqa: F401
18
19
  from typing import Any, ClassVar, Dict, List, Optional, Set
19
20
 
20
- from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
22
  from pydantic_core import to_jsonable_python
22
- from typing_extensions import Self
23
+ from typing_extensions import Annotated, Self
23
24
 
24
25
 
25
26
  class LoadbalancerOptionAccessControl(BaseModel):
26
27
  """
27
- Use this option to limit the IP ranges that can use the Application Load Balancer.
28
+ Use this option to limit the IP ranges that can use the Application Load Balancer. `allowed_source_ranges` and `ip_block_list_name` may be set together. When both are set, `allowed_source_ranges` is evaluated first, then `ip_block_list_name` is evaluated.
28
29
  """ # noqa: E501
29
30
 
30
31
  allowed_source_ranges: Optional[List[StrictStr]] = Field(
31
32
  default=None,
32
- description="Application Load Balancer is accessible only from an IP address in this range",
33
+ description="Application Load Balancer is accessible only from an IP address in this range. May be combined with `ipBlockListName`; `allowedSourceRanges` is evaluated first, then `ipBlockListName`.",
33
34
  alias="allowedSourceRanges",
34
35
  )
35
- __properties: ClassVar[List[str]] = ["allowedSourceRanges"]
36
+ ip_block_list_name: Optional[Annotated[str, Field(strict=True)]] = Field(
37
+ default=None,
38
+ description='Reference to an IP block list by name. Traffic originating from any IP in the referenced list is denied access to the Application Load Balancer. See "IP Lists API" for how to manage IP block lists. May be combined with `allowedSourceRanges`; `allowedSourceRanges` is evaluated first, then `ipBlockListName`.',
39
+ alias="ipBlockListName",
40
+ )
41
+ __properties: ClassVar[List[str]] = ["allowedSourceRanges", "ipBlockListName"]
42
+
43
+ @field_validator("ip_block_list_name")
44
+ def ip_block_list_name_validate_regular_expression(cls, value):
45
+ """Validates the regular expression"""
46
+ if value is None:
47
+ return value
48
+
49
+ if not isinstance(value, str):
50
+ value = str(value)
51
+
52
+ if not re.match(r"^[0-9a-z](?:(?:[0-9a-z]|-){0,49}[0-9a-z])?$", value):
53
+ raise ValueError(r"must validate the regular expression /^[0-9a-z](?:(?:[0-9a-z]|-){0,49}[0-9a-z])?$/")
54
+ return value
36
55
 
37
56
  model_config = ConfigDict(
38
57
  validate_by_name=True,
@@ -82,5 +101,7 @@ class LoadbalancerOptionAccessControl(BaseModel):
82
101
  if not isinstance(obj, dict):
83
102
  return cls.model_validate(obj)
84
103
 
85
- _obj = cls.model_validate({"allowedSourceRanges": obj.get("allowedSourceRanges")})
104
+ _obj = cls.model_validate(
105
+ {"allowedSourceRanges": obj.get("allowedSourceRanges"), "ipBlockListName": obj.get("ipBlockListName")}
106
+ )
86
107
  return _obj
File without changes
File without changes
File without changes
File without changes