Skip to content

Commit c6a51bd

Browse files
Generate albwaf
1 parent 95c0a3e commit c6a51bd

48 files changed

Lines changed: 11895 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: 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+
cad0d887d9679d3cbf1f8b74968b7a87edf956e2

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.9,<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.9",
13+
"Programming Language :: Python :: 3.10",
14+
"Programming Language :: Python :: 3.11",
15+
"Programming Language :: Python :: 3.12",
16+
"Programming Language :: Python :: 3.13",
17+
"Programming Language :: Python :: 3.14",
18+
]
19+
dependencies = [
20+
"stackit-core>=0.0.1a",
21+
"requests>=2.32.3",
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>=24.8.0",
33+
"pytest>=8.3.3",
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: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
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: 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+
17+
__version__ = "1.0.0"
18+
19+
# Define package exports
20+
__all__ = [
21+
"DefaultApi",
22+
"ApiResponse",
23+
"ApiClient",
24+
"HostConfiguration",
25+
"OpenApiException",
26+
"ApiTypeError",
27+
"ApiValueError",
28+
"ApiKeyError",
29+
"ApiAttributeError",
30+
"ApiException",
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+
"PatchMRSRule",
57+
"PatchMRSRuleGroup",
58+
"PatchManagedRuleSetPayload",
59+
"Quotas",
60+
"Status",
61+
"UpdateWAFPayload",
62+
"WAFConfigQuota",
63+
"WAFUsage",
64+
"WAFUsageItem",
65+
]
66+
67+
# import apis into sdk package
68+
from stackit.albwaf.api.default_api import DefaultApi as DefaultApi
69+
from stackit.albwaf.api_client import ApiClient as ApiClient
70+
71+
# import ApiClient
72+
from stackit.albwaf.api_response import ApiResponse as ApiResponse
73+
from stackit.albwaf.configuration import HostConfiguration as HostConfiguration
74+
from stackit.albwaf.exceptions import ApiAttributeError as ApiAttributeError
75+
from stackit.albwaf.exceptions import ApiException as ApiException
76+
from stackit.albwaf.exceptions import ApiKeyError as ApiKeyError
77+
from stackit.albwaf.exceptions import ApiTypeError as ApiTypeError
78+
from stackit.albwaf.exceptions import ApiValueError as ApiValueError
79+
from stackit.albwaf.exceptions import OpenApiException as OpenApiException
80+
81+
# import models into sdk package
82+
from stackit.albwaf.models.behaviour import Behaviour as Behaviour
83+
from stackit.albwaf.models.condition import Condition as Condition
84+
from stackit.albwaf.models.condition_operator import (
85+
ConditionOperator as ConditionOperator,
86+
)
87+
from stackit.albwaf.models.condition_variable import (
88+
ConditionVariable as ConditionVariable,
89+
)
90+
from stackit.albwaf.models.create_custom_rule import (
91+
CreateCustomRule as CreateCustomRule,
92+
)
93+
from stackit.albwaf.models.create_custom_rule_group_payload import (
94+
CreateCustomRuleGroupPayload as CreateCustomRuleGroupPayload,
95+
)
96+
from stackit.albwaf.models.create_managed_rule_set_payload import (
97+
CreateManagedRuleSetPayload as CreateManagedRuleSetPayload,
98+
)
99+
from stackit.albwaf.models.create_waf_payload import (
100+
CreateWAFPayload as CreateWAFPayload,
101+
)
102+
from stackit.albwaf.models.crg_config_quota import CRGConfigQuota as CRGConfigQuota
103+
from stackit.albwaf.models.crg_usage import CRGUsage as CRGUsage
104+
from stackit.albwaf.models.get_behaviour import GetBehaviour as GetBehaviour
105+
from stackit.albwaf.models.get_custom_rule import GetCustomRule as GetCustomRule
106+
from stackit.albwaf.models.get_custom_rule_group_response import (
107+
GetCustomRuleGroupResponse as GetCustomRuleGroupResponse,
108+
)
109+
from stackit.albwaf.models.get_limited_managed_rule_set_response import (
110+
GetLimitedManagedRuleSetResponse as GetLimitedManagedRuleSetResponse,
111+
)
112+
from stackit.albwaf.models.get_managed_rule_set_response import (
113+
GetManagedRuleSetResponse as GetManagedRuleSetResponse,
114+
)
115+
from stackit.albwaf.models.get_quota_response import (
116+
GetQuotaResponse as GetQuotaResponse,
117+
)
118+
from stackit.albwaf.models.get_waf_response import GetWAFResponse as GetWAFResponse
119+
from stackit.albwaf.models.google_protobuf_any import (
120+
GoogleProtobufAny as GoogleProtobufAny,
121+
)
122+
from stackit.albwaf.models.list_custom_rule_group_response import (
123+
ListCustomRuleGroupResponse as ListCustomRuleGroupResponse,
124+
)
125+
from stackit.albwaf.models.list_managed_rule_set_response import (
126+
ListManagedRuleSetResponse as ListManagedRuleSetResponse,
127+
)
128+
from stackit.albwaf.models.list_waf_response import ListWAFResponse as ListWAFResponse
129+
from stackit.albwaf.models.mrs_config_quota import MRSConfigQuota as MRSConfigQuota
130+
from stackit.albwaf.models.mrs_rule import MRSRule as MRSRule
131+
from stackit.albwaf.models.mrs_rule_group import MRSRuleGroup as MRSRuleGroup
132+
from stackit.albwaf.models.mrs_usage import MRSUsage as MRSUsage
133+
from stackit.albwaf.models.patch_managed_rule_set_payload import (
134+
PatchManagedRuleSetPayload as PatchManagedRuleSetPayload,
135+
)
136+
from stackit.albwaf.models.patch_mrs_rule import PatchMRSRule as PatchMRSRule
137+
from stackit.albwaf.models.patch_mrs_rule_group import (
138+
PatchMRSRuleGroup as PatchMRSRuleGroup,
139+
)
140+
from stackit.albwaf.models.quotas import Quotas as Quotas
141+
from stackit.albwaf.models.status import Status as Status
142+
from stackit.albwaf.models.update_waf_payload import (
143+
UpdateWAFPayload as UpdateWAFPayload,
144+
)
145+
from stackit.albwaf.models.waf_config_quota import WAFConfigQuota as WAFConfigQuota
146+
from stackit.albwaf.models.waf_usage import WAFUsage as WAFUsage
147+
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)