Skip to content

Commit c580300

Browse files
Generate vpn
1 parent 1e564ee commit c580300

Some content is hidden

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

51 files changed

+10971
-0
lines changed

services/vpn/README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# stackit.vpn
2+
Provision and manage STACKIT VPN gateways.
3+
4+
Use this API to establish secure, encrypted IPsec tunnels between your STACKIT Network Area (SNA) and external networks.
5+
The service supports the following routing architectures:
6+
- Policy-based IPsec
7+
- Static route-based IPsec
8+
- Dynamic BGP IPsec
9+
10+
11+
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.
12+
13+
14+
## Installation & Usage
15+
### pip install
16+
17+
```sh
18+
pip install stackit-vpn
19+
```
20+
21+
Then import the package:
22+
```python
23+
import stackit.vpn
24+
```
25+
26+
## Getting Started
27+
28+
[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/vpn/oas_commit

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

services/vpn/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-vpn"
3+
version = "v0.0.1a"
4+
description = "STACKIT VPN 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: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
# coding: utf-8
2+
3+
# flake8: noqa
4+
5+
"""
6+
STACKIT VPN API
7+
8+
Provision and manage STACKIT VPN gateways. Use this API to establish secure, encrypted IPsec tunnels between your STACKIT Network Area (SNA) and external networks. The service supports the following routing architectures: - Policy-based IPsec - Static route-based IPsec - Dynamic BGP IPsec
9+
10+
The version of the OpenAPI document: 1beta1
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+
"APIError",
32+
"APIErrorDetail",
33+
"APIErrorResponse",
34+
"BGPGatewayConfig",
35+
"BGPStatus",
36+
"BGPStatusPeers",
37+
"BGPStatusRoutes",
38+
"BGPTunnelConfig",
39+
"ConnectionList",
40+
"ConnectionResponse",
41+
"ConnectionStatusResponse",
42+
"CreateGatewayConnectionPayload",
43+
"CreateVPNGatewayPayload",
44+
"CreateVPNGatewayPayloadAvailabilityZones",
45+
"Gateway",
46+
"GatewayList",
47+
"GatewayResponse",
48+
"GatewayStatus",
49+
"GatewayStatusResponse",
50+
"PeeringConfig",
51+
"Phase",
52+
"Phase1Status",
53+
"Phase2Status",
54+
"Plan",
55+
"PlanList",
56+
"Quota",
57+
"QuotaList",
58+
"QuotaListResponse",
59+
"Region",
60+
"RoutingType",
61+
"TunnelConfiguration",
62+
"TunnelConfigurationPhase1",
63+
"TunnelConfigurationPhase2",
64+
"TunnelStatus",
65+
"UpdateGatewayConnectionPayload",
66+
"UpdateVPNGatewayPayload",
67+
"VPNTunnels",
68+
]
69+
70+
# import apis into sdk package
71+
from stackit.vpn.api.default_api import DefaultApi as DefaultApi
72+
from stackit.vpn.api_client import ApiClient as ApiClient
73+
74+
# import ApiClient
75+
from stackit.vpn.api_response import ApiResponse as ApiResponse
76+
from stackit.vpn.configuration import HostConfiguration as HostConfiguration
77+
from stackit.vpn.exceptions import ApiAttributeError as ApiAttributeError
78+
from stackit.vpn.exceptions import ApiException as ApiException
79+
from stackit.vpn.exceptions import ApiKeyError as ApiKeyError
80+
from stackit.vpn.exceptions import ApiTypeError as ApiTypeError
81+
from stackit.vpn.exceptions import ApiValueError as ApiValueError
82+
from stackit.vpn.exceptions import OpenApiException as OpenApiException
83+
84+
# import models into sdk package
85+
from stackit.vpn.models.api_error import APIError as APIError
86+
from stackit.vpn.models.api_error_detail import APIErrorDetail as APIErrorDetail
87+
from stackit.vpn.models.api_error_response import APIErrorResponse as APIErrorResponse
88+
from stackit.vpn.models.bgp_gateway_config import BGPGatewayConfig as BGPGatewayConfig
89+
from stackit.vpn.models.bgp_status import BGPStatus as BGPStatus
90+
from stackit.vpn.models.bgp_status_peers import BGPStatusPeers as BGPStatusPeers
91+
from stackit.vpn.models.bgp_status_routes import BGPStatusRoutes as BGPStatusRoutes
92+
from stackit.vpn.models.bgp_tunnel_config import BGPTunnelConfig as BGPTunnelConfig
93+
from stackit.vpn.models.connection_list import ConnectionList as ConnectionList
94+
from stackit.vpn.models.connection_response import (
95+
ConnectionResponse as ConnectionResponse,
96+
)
97+
from stackit.vpn.models.connection_status_response import (
98+
ConnectionStatusResponse as ConnectionStatusResponse,
99+
)
100+
from stackit.vpn.models.create_gateway_connection_payload import (
101+
CreateGatewayConnectionPayload as CreateGatewayConnectionPayload,
102+
)
103+
from stackit.vpn.models.create_vpn_gateway_payload import (
104+
CreateVPNGatewayPayload as CreateVPNGatewayPayload,
105+
)
106+
from stackit.vpn.models.create_vpn_gateway_payload_availability_zones import (
107+
CreateVPNGatewayPayloadAvailabilityZones as CreateVPNGatewayPayloadAvailabilityZones,
108+
)
109+
from stackit.vpn.models.gateway import Gateway as Gateway
110+
from stackit.vpn.models.gateway_list import GatewayList as GatewayList
111+
from stackit.vpn.models.gateway_response import GatewayResponse as GatewayResponse
112+
from stackit.vpn.models.gateway_status import GatewayStatus as GatewayStatus
113+
from stackit.vpn.models.gateway_status_response import (
114+
GatewayStatusResponse as GatewayStatusResponse,
115+
)
116+
from stackit.vpn.models.peering_config import PeeringConfig as PeeringConfig
117+
from stackit.vpn.models.phase import Phase as Phase
118+
from stackit.vpn.models.phase1_status import Phase1Status as Phase1Status
119+
from stackit.vpn.models.phase2_status import Phase2Status as Phase2Status
120+
from stackit.vpn.models.plan import Plan as Plan
121+
from stackit.vpn.models.plan_list import PlanList as PlanList
122+
from stackit.vpn.models.quota import Quota as Quota
123+
from stackit.vpn.models.quota_list import QuotaList as QuotaList
124+
from stackit.vpn.models.quota_list_response import (
125+
QuotaListResponse as QuotaListResponse,
126+
)
127+
from stackit.vpn.models.region import Region as Region
128+
from stackit.vpn.models.routing_type import RoutingType as RoutingType
129+
from stackit.vpn.models.tunnel_configuration import (
130+
TunnelConfiguration as TunnelConfiguration,
131+
)
132+
from stackit.vpn.models.tunnel_configuration_phase1 import (
133+
TunnelConfigurationPhase1 as TunnelConfigurationPhase1,
134+
)
135+
from stackit.vpn.models.tunnel_configuration_phase2 import (
136+
TunnelConfigurationPhase2 as TunnelConfigurationPhase2,
137+
)
138+
from stackit.vpn.models.tunnel_status import TunnelStatus as TunnelStatus
139+
from stackit.vpn.models.update_gateway_connection_payload import (
140+
UpdateGatewayConnectionPayload as UpdateGatewayConnectionPayload,
141+
)
142+
from stackit.vpn.models.update_vpn_gateway_payload import (
143+
UpdateVPNGatewayPayload as UpdateVPNGatewayPayload,
144+
)
145+
from stackit.vpn.models.vpn_tunnels import VPNTunnels as VPNTunnels
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.vpn.api.default_api import DefaultApi

0 commit comments

Comments
 (0)