Skip to content

Commit 5b15850

Browse files
Generator: Update SDK /services/albwaf (#7674)
* Generate albwaf * chore(albwaf): add changelogs
1 parent ae072c9 commit 5b15850

58 files changed

Lines changed: 11775 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
- [v0.11.0](services/alb/CHANGELOG.md#v0110)
99
- **Chore:** Bump minimum Python version to 3.10
1010
- **Chore:** Update dependencies
11+
- `albwaf`
12+
- [v0.1.0](services/albwaf/CHANGELOG.md#v010)
13+
- **New**: API for STACKIT albwaf
1114
- `auditlog`
1215
- [v0.4.0](services/auditlog/CHANGELOG.md#v040)
1316
- **Deprecation:** The `auditlog` SDK and the underlying API is deprecated and will be removed in the future. Use the `telemetryrouter` SDK and API instead.

services/albwaf/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## v0.1.0
2+
3+
- **New**: STACKIT albwaf module to create and manage Web Application Firewalls (WAF) used with Application Load Balancers (ALB).

services/albwaf/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# stackit.albwaf
2+
Generate a Web Application Firewall (WAF) to use with Application Load Balancers (ALB). The name of the WAF configuration is used in the listener of the ALB. This will activate the WAF for that ALB. An ALB with a WAF can have Managed Rule Set (MRS) and in addition can have Custom Rule Group (CRG). To create a WAF one first needs to create all the configurations that are referenced in the WAF configuration. Currently this only consists of a rule configuration, which is written in Seclang. Once all configurations are created and referenced in the WAF configuration it can be used with an ALB. Currently updating a WAF configuration will not update an existing ALB until the Load Balancer VMs are restarted.
3+
4+
5+
This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK.
6+
7+
8+
## Installation & Usage
9+
### pip install
10+
11+
```sh
12+
pip install stackit-albwaf
13+
```
14+
15+
Then import the package:
16+
```python
17+
import stackit.albwaf
18+
```
19+
20+
## Getting Started
21+
22+
[Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK.

services/albwaf/oas_commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
20dbeecb1318b27f36b2ea322d2759eb37f86bb8

services/albwaf/pyproject.toml

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
[project]
2+
name = "stackit-albwaf"
3+
version = "v0.0.1"
4+
description = "STACKIT Application Load Balancer Web Application Firewall API"
5+
authors = [{name = "STACKIT Developer Tools", email = "developer-tools@stackit.cloud"}]
6+
requires-python = ">=3.10,<4.0"
7+
readme = "README.md"
8+
classifiers = [
9+
"Programming Language :: Python :: 3",
10+
"License :: OSI Approved :: Apache Software License",
11+
"Operating System :: OS Independent",
12+
"Programming Language :: Python :: 3.10",
13+
"Programming Language :: Python :: 3.11",
14+
"Programming Language :: Python :: 3.12",
15+
"Programming Language :: Python :: 3.13",
16+
"Programming Language :: Python :: 3.14",
17+
"Programming Language :: Python :: 3.15",
18+
]
19+
dependencies = [
20+
"stackit-core>=0.0.1a",
21+
"requests>=2.33.0",
22+
"pydantic>=2.9.2",
23+
"python-dateutil>=2.9.0.post0",
24+
]
25+
26+
[project.urls]
27+
Homepage = "https://github.com/stackitcloud/stackit-sdk-python"
28+
Issues = "https://github.com/stackitcloud/stackit-sdk-python/issues"
29+
30+
[dependency-groups]
31+
dev = [
32+
"black>=26.3.1",
33+
"pytest>=9.1.1",
34+
"flake8>=5.0.3 ; python_full_version < '3.12'",
35+
"flake8>=6.0.1 ; python_full_version >= '3.12'",
36+
"flake8-black>=0.3.6",
37+
"flake8-pyproject>=1.2.3",
38+
"autoimport>=1.6.1",
39+
"flake8-eol>=0.0.8",
40+
"flake8-eradicate>=1.5.0",
41+
"flake8-bandit>=4.1.1",
42+
"flake8-bugbear>=23.1.14",
43+
"flake8-quotes>=3.4.0",
44+
"isort>=5.13.2",
45+
]
46+
47+
[tool.uv]
48+
default-groups = "all"
49+
50+
[tool.uv.sources]
51+
stackit-core = { path = "../../core" }
52+
53+
[tool.hatch.build.targets.sdist]
54+
include = ["src/stackit"]
55+
56+
[tool.hatch.build.targets.wheel]
57+
include = ["src/stackit"]
58+
59+
[tool.hatch.build.targets.wheel-sources]
60+
"src/stackit" = "stackit"
61+
62+
[build-system]
63+
requires = ["hatchling"]
64+
build-backend = "hatchling.build"
65+
66+
[tool.pytest.ini_options]
67+
pythonpath = [
68+
"src"
69+
]
70+
testpaths = [
71+
"tests"
72+
]
73+
74+
[tool.black]
75+
line-length = 120
76+
exclude = """
77+
/(
78+
.eggs
79+
| .git
80+
| .hg
81+
| .mypy_cache
82+
| .nox
83+
| .pants.d
84+
| .tox
85+
| .venv
86+
| _build
87+
| buck-out
88+
| build
89+
| dist
90+
| node_modules
91+
| venv
92+
)/
93+
"""
94+
95+
[tool.isort]
96+
profile = 'black'
97+
98+
[tool.flake8]
99+
exclude= [".eggs", ".git", ".hg", ".mypy_cache", ".tox", ".venv", ".devcontainer", "venv", "_build", "buck-out", "build", "dist"]
100+
statistics = true
101+
show-source = false
102+
max-line-length = 120
103+
# E203,W503 and E704 are incompatible with the formatter black
104+
# W291 needs to be disabled because some doc-strings get generated with trailing whitespace but black won't re-format comments
105+
ignore = ["E203", "W503", "E704", "W291"]
106+
inline-quotes = '"'
107+
docstring-quotes = '"""'
108+
multiline-quotes = '"""'
109+
ban-relative-imports = true
110+
# Exclude generated code
111+
extend-exclude = [ "src/stackit/*/models/*", "src/stackit/*/api/*", "src/stackit/*/*.py" ]
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
# coding: utf-8
2+
3+
# flake8: noqa
4+
5+
"""
6+
STACKIT Application Load Balancer Web Application Firewall API
7+
8+
Generate a Web Application Firewall (WAF) to use with Application Load Balancers (ALB). The name of the WAF configuration is used in the listener of the ALB. This will activate the WAF for that ALB. An ALB with a WAF can have Managed Rule Set (MRS) and in addition can have Custom Rule Group (CRG). To create a WAF one first needs to create all the configurations that are referenced in the WAF configuration. Currently this only consists of a rule configuration, which is written in Seclang. Once all configurations are created and referenced in the WAF configuration it can be used with an ALB. Currently updating a WAF configuration will not update an existing ALB until the Load Balancer VMs are restarted.
9+
10+
The version of the OpenAPI document: 1.0.0
11+
Generated by OpenAPI Generator (https://openapi-generator.tech)
12+
13+
Do not edit the class manually.
14+
""" # noqa: E501
15+
16+
__version__ = "1.0.0"
17+
18+
# Define package exports
19+
__all__ = [
20+
"DefaultApi",
21+
"ApiResponse",
22+
"ApiClient",
23+
"HostConfiguration",
24+
"OpenApiException",
25+
"ApiTypeError",
26+
"ApiValueError",
27+
"ApiKeyError",
28+
"ApiAttributeError",
29+
"ApiException",
30+
"Action",
31+
"Behavior",
32+
"CRGConfigQuota",
33+
"CRGUsage",
34+
"Condition",
35+
"ConditionOperator",
36+
"ConditionVariable",
37+
"CreateCustomRule",
38+
"CreateCustomRuleGroupPayload",
39+
"CreateManagedRuleSetPayload",
40+
"CreateWAFPayload",
41+
"GetBehavior",
42+
"GetCustomRule",
43+
"GetCustomRuleGroupResponse",
44+
"GetLimitedManagedRuleSetResponse",
45+
"GetManagedRuleSetResponse",
46+
"GetQuotaResponse",
47+
"GetWAFResponse",
48+
"GoogleProtobufAny",
49+
"ListCustomRuleGroupResponse",
50+
"ListManagedRuleSetResponse",
51+
"ListWAFResponse",
52+
"MRSConfigQuota",
53+
"MRSRule",
54+
"MRSRuleGroup",
55+
"MRSUsage",
56+
"Mode",
57+
"Operator",
58+
"PatchMRSRule",
59+
"PatchMRSRuleGroup",
60+
"PatchManagedRuleSetPayload",
61+
"Quotas",
62+
"Severity",
63+
"Status",
64+
"Transformation",
65+
"Type",
66+
"UpdateCustomRuleGroupPayload",
67+
"UpdateWAFPayload",
68+
"Variable",
69+
"WAFConfigQuota",
70+
"WAFUsage",
71+
"WAFUsageItem",
72+
]
73+
74+
# import apis into sdk package
75+
from stackit.albwaf.api.default_api import DefaultApi as DefaultApi
76+
from stackit.albwaf.api_client import ApiClient as ApiClient
77+
78+
# import ApiClient
79+
from stackit.albwaf.api_response import ApiResponse as ApiResponse
80+
from stackit.albwaf.configuration import HostConfiguration as HostConfiguration
81+
from stackit.albwaf.exceptions import ApiAttributeError as ApiAttributeError
82+
from stackit.albwaf.exceptions import ApiException as ApiException
83+
from stackit.albwaf.exceptions import ApiKeyError as ApiKeyError
84+
from stackit.albwaf.exceptions import ApiTypeError as ApiTypeError
85+
from stackit.albwaf.exceptions import ApiValueError as ApiValueError
86+
from stackit.albwaf.exceptions import OpenApiException as OpenApiException
87+
88+
# import models into sdk package
89+
from stackit.albwaf.models.action import Action as Action
90+
from stackit.albwaf.models.behavior import Behavior as Behavior
91+
from stackit.albwaf.models.condition import Condition as Condition
92+
from stackit.albwaf.models.condition_operator import (
93+
ConditionOperator as ConditionOperator,
94+
)
95+
from stackit.albwaf.models.condition_variable import (
96+
ConditionVariable as ConditionVariable,
97+
)
98+
from stackit.albwaf.models.create_custom_rule import (
99+
CreateCustomRule as CreateCustomRule,
100+
)
101+
from stackit.albwaf.models.create_custom_rule_group_payload import (
102+
CreateCustomRuleGroupPayload as CreateCustomRuleGroupPayload,
103+
)
104+
from stackit.albwaf.models.create_managed_rule_set_payload import (
105+
CreateManagedRuleSetPayload as CreateManagedRuleSetPayload,
106+
)
107+
from stackit.albwaf.models.create_waf_payload import (
108+
CreateWAFPayload as CreateWAFPayload,
109+
)
110+
from stackit.albwaf.models.crg_config_quota import CRGConfigQuota as CRGConfigQuota
111+
from stackit.albwaf.models.crg_usage import CRGUsage as CRGUsage
112+
from stackit.albwaf.models.get_behavior import GetBehavior as GetBehavior
113+
from stackit.albwaf.models.get_custom_rule import GetCustomRule as GetCustomRule
114+
from stackit.albwaf.models.get_custom_rule_group_response import (
115+
GetCustomRuleGroupResponse as GetCustomRuleGroupResponse,
116+
)
117+
from stackit.albwaf.models.get_limited_managed_rule_set_response import (
118+
GetLimitedManagedRuleSetResponse as GetLimitedManagedRuleSetResponse,
119+
)
120+
from stackit.albwaf.models.get_managed_rule_set_response import (
121+
GetManagedRuleSetResponse as GetManagedRuleSetResponse,
122+
)
123+
from stackit.albwaf.models.get_quota_response import (
124+
GetQuotaResponse as GetQuotaResponse,
125+
)
126+
from stackit.albwaf.models.get_waf_response import GetWAFResponse as GetWAFResponse
127+
from stackit.albwaf.models.google_protobuf_any import (
128+
GoogleProtobufAny as GoogleProtobufAny,
129+
)
130+
from stackit.albwaf.models.list_custom_rule_group_response import (
131+
ListCustomRuleGroupResponse as ListCustomRuleGroupResponse,
132+
)
133+
from stackit.albwaf.models.list_managed_rule_set_response import (
134+
ListManagedRuleSetResponse as ListManagedRuleSetResponse,
135+
)
136+
from stackit.albwaf.models.list_waf_response import ListWAFResponse as ListWAFResponse
137+
from stackit.albwaf.models.mode import Mode as Mode
138+
from stackit.albwaf.models.mrs_config_quota import MRSConfigQuota as MRSConfigQuota
139+
from stackit.albwaf.models.mrs_rule import MRSRule as MRSRule
140+
from stackit.albwaf.models.mrs_rule_group import MRSRuleGroup as MRSRuleGroup
141+
from stackit.albwaf.models.mrs_usage import MRSUsage as MRSUsage
142+
from stackit.albwaf.models.operator import Operator as Operator
143+
from stackit.albwaf.models.patch_managed_rule_set_payload import (
144+
PatchManagedRuleSetPayload as PatchManagedRuleSetPayload,
145+
)
146+
from stackit.albwaf.models.patch_mrs_rule import PatchMRSRule as PatchMRSRule
147+
from stackit.albwaf.models.patch_mrs_rule_group import (
148+
PatchMRSRuleGroup as PatchMRSRuleGroup,
149+
)
150+
from stackit.albwaf.models.quotas import Quotas as Quotas
151+
from stackit.albwaf.models.severity import Severity as Severity
152+
from stackit.albwaf.models.status import Status as Status
153+
from stackit.albwaf.models.transformation import Transformation as Transformation
154+
from stackit.albwaf.models.type import Type as Type
155+
from stackit.albwaf.models.update_custom_rule_group_payload import (
156+
UpdateCustomRuleGroupPayload as UpdateCustomRuleGroupPayload,
157+
)
158+
from stackit.albwaf.models.update_waf_payload import (
159+
UpdateWAFPayload as UpdateWAFPayload,
160+
)
161+
from stackit.albwaf.models.variable import Variable as Variable
162+
from stackit.albwaf.models.waf_config_quota import WAFConfigQuota as WAFConfigQuota
163+
from stackit.albwaf.models.waf_usage import WAFUsage as WAFUsage
164+
from stackit.albwaf.models.waf_usage_item import WAFUsageItem as WAFUsageItem
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# flake8: noqa
2+
3+
# import apis into api package
4+
from stackit.albwaf.api.default_api import DefaultApi

0 commit comments

Comments
 (0)