Skip to content

Commit abb9a9a

Browse files
Generate albwaf
1 parent 1f6317f commit abb9a9a

56 files changed

Lines changed: 11952 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.

services/albwaf/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# stackit.albwaf
2+
### DEPRECATED! Use v1 instead.
3+
4+
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.
5+
6+
7+
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.
8+
9+
10+
## Installation & Usage
11+
### pip install
12+
13+
```sh
14+
pip install stackit-albwaf
15+
```
16+
17+
Then import the package:
18+
```python
19+
import stackit.albwaf
20+
```
21+
22+
## Getting Started
23+
24+
[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+
df436ebd7d2d7d953764d84e9582eed936638f7d

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.1a"
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+
### DEPRECATED! Use v1 instead. 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: 1beta.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+
"Behaviour",
32+
"CRGConfigQuota",
33+
"CRGUsage",
34+
"Condition",
35+
"ConditionOperator",
36+
"ConditionVariable",
37+
"CreateCustomRule",
38+
"CreateCustomRuleGroupPayload",
39+
"CreateManagedRuleSetPayload",
40+
"CreateWAFPayload",
41+
"GetBehaviour",
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.behaviour import Behaviour as Behaviour
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_behaviour import GetBehaviour as GetBehaviour
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)