Skip to content
Snippets Groups Projects
Commit 3f54dadd authored by Julian Schuh's avatar Julian Schuh
Browse files

update for WebAPI 3.2

parent 2bde61b3
No related branches found
No related tags found
No related merge requests found
......@@ -9,7 +9,7 @@ See also: [API 3.0 -> API 3.1 wiki article](https://git.scc.kit.edu/scc-net/netv
## Install
### Pre-Built (updated every night)
`pip install https://git.scc.kit.edu/scc-net/netvs/netdb-client-lib/-/jobs/artifacts/master/raw/dist/netdb_client-3.1-py3-none-any.whl?job=build`
`pip install https://git.scc.kit.edu/scc-net/netvs/netdb-client-lib/-/jobs/artifacts/master/raw/dist/netdb_client-3.2-py3-none-any.whl?job=build`
### Self-Built
`pip install git+https://git.scc.kit.edu/scc-net/netvs/netdb-client-lib.git@master`
......@@ -19,14 +19,14 @@ See also: [API 3.0 -> API 3.1 wiki article](https://git.scc.kit.edu/scc-net/netv
### Init
Initialisation works as followed, for configuration an `APIEndpoint`-Instance has to be passed to the `API-Session` call.
```python
>>> import netdb_client.api31
>>> import netdb_client.api32
>>> import netdb_client.util
>>> endpoint = netdb_client.APIEndpoint(
base_url='www-net-devel.scc.kit.edu',
token='<token>'
)
>>> api = netdb_client.api31.APISession(endpoint)
>>> api = netdb_client.api32.APISession(endpoint)
```
`util` provides an `ArgumentParser`-Class which can be used for configuration and config loading. This class has been
......@@ -42,7 +42,7 @@ Variable precendence is as followed (from greatest to least, means the first sou
>>> parser = netdb_client.util.ArgumentParser(description='Beispielbeschreibung für Skript.')
>>> args = parser.parse_args()
>>> endpoint = netdb_client.APIEndpoint(**vars(args))
>>> api = netdb_client.APISession(endpoint)
>>> api = netdb_client.api32.APISession(endpoint)
```
Example help (`h` / `--help`) output:
```
......@@ -86,24 +86,24 @@ More examples can be found in the [wiki article](https://git.scc.kit.edu/scc-net
### Basic queries
List all BCDs:
```python
>>> import netdb_client.api31.nd
>>> netdb_client.api31.nd.Bcd.list(api_session=api)
>>> import netdb_client.api32.nd
>>> netdb_client.api32.nd.Bcd.list(api_session=api)
[Bcd(name='scc-net-web-1', categ='USER', is_own=True, log_pk=13270200, seclvl=0, vlan_count=1, description='[scc-net-web/1]: Webserver von SCC-NET / [ipv6-scc-net-web/1]: Webserver von SCC-NET *** ehemalige Bereichsinfo ***: [scc-net-web/1]: Webserver von SCC-NET / [ipv6-scc-net-web/1]: Webserver von SCC-NET', dhcp_enabled=False, subnet_count=2, ou_short_name='SCC-NET', dhcp_ttl_value=600, admin_description=None, dhcp_accept_new_leases=False, dhcp_leasetime_dyn_days=0, dhcp_leasetime_dyn_hours=2, dhcp_leasetime_dyn_minutes=0, dhcp_leasetime_static_days=0, dhcp_leasetime_static_hours=6, dhcp_offer_rsv_time_minutes=0, dhcp_offer_rsv_time_seconds=30, dhcp_leasetime_static_minutes=0, dhcp_accept_requested_hostname=True)]
```
List all CNAME-Records for given BCD:
```python
>>> import netdb_client.api31.dns
>>> netdb_client.api31.dns.Record.list(api_session=api, type_old="CNAME", bcd_list_old=["scc-net-web-1"])
>>> import netdb_client.api32.dns
>>> netdb_client.api32.dns.Record.list(api_session=api, type_old="CNAME", bcd_list_old=["scc-net-web-1"])
[..., Record(ttl=None, data='net-web09.scc.kit.edu.', fqdn='netvs-devel.scc.kit.edu.', type='CNAME', zone='kit.edu.', is_own=True, fqdn_type='alias', host_is_nws=False, target_fqdn='net-web09.scc.kit.edu.', target_ipaddr=None, ttl_reset_date=None, fqdn_description=None, target_fqdn_type='host', ttl_zone_default=3600, target_data_unref=None, target_is_singleton=True, target_is_reverse_unique=False), ...]
```
### Advanced queries
List BCDs with their Subnets:
```python
>>> import netdb_client.api31.nd
>>> import netdb_client.api32.nd
>>> api.execute_ta([
netdb_client.nd.api31.Bcd.list_ta(), # == {"name": "nd.bcd.list"}
netdb_client.nd.api32.Bcd.list_ta(), # == {"name": "nd.bcd.list"}
{"name": "nd.ip_subnet.list", "join": {0: "default"}},
])
[[{'name': 'scc-net-web-1', ...}], [{'bcd': 'scc-net-web-1', ...}, ...]]
......
......@@ -7,7 +7,7 @@ import py_compile
class APIGenBuild(build_py):
def run(self):
build_versions = ['3.0', '3.1']
build_versions = ['3.0', '3.1', '3.2']
for version in build_versions:
target_dir = os.path.join(self.build_lib, 'netdb_client', f"api{version.replace('.', '')}")
self.mkpath(target_dir)
......@@ -21,9 +21,9 @@ class APIGenBuild(build_py):
setup(
name='netdb_client',
version='3.1',
version='3.2',
author='Dr. Meta',
description='This is a meta package to install the automatically generated NET-API 3.0 definitions.',
description='This is a meta package to install the automatically generated NET-API 3.0, 3.1 and 3.2 definitions.',
url='https://git.scc.kit.edu/scc-net/net-suite/netdb-client-lib',
install_requires=['argparse', 'requests'],
python_requires='>=3.7',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment