1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00
Files
peeringdb-peeringdb/docs/dev/modules/inet.py.md
Matt Griswold 505760aa8d Support 202203 (#1144)
* Do not show objects in status "pending" on the UI #784

* Fix peeringdb.js bug introduced in #784

* 500 Error during login for 2FA enabled accounts with unverified email address #996

* Django-Admin: adding a network with existing asn fails with internal error #1035

* Some command-line-tool executions are not logged #1119

* Ops: API throttling of repeated requests #1126

* Ops: response header X-Auth-ID to augment logging #1120

* Allow rate-limiting of melissa enabled api functionality. #1124

* State / Province normalization #1079

* Log melissa requests #1122

* remove debug messages

* bump django-handleref to 1.0.2

* Need consolidated app logs #845

* pin django peeringdb to 2.13 and relock poetry

* pin django-restframework-apikey to 2.1.0

* linting

* migrations

* docs regenerate

* docs

* linting

Co-authored-by: David Poarch <dpoarch@20c.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>
2022-04-12 15:39:19 -05:00

157 lines
2.6 KiB
Markdown

Generated from inet.py on 2022-04-12 16:41:02.631987
# peeringdb_server.inet
RDAP lookup and validation.
Network validation.
Prefix renumbering.
# Functions
---
## asn_is_bogon
`def asn_is_bogon(asn)`
Test if an asn is bogon by being either in the documentation
or private asn ranges.
Arguments:
- asn<int>
Return:
- bool: True if in bogon range
---
## asn_is_in_ranges
`def asn_is_in_ranges(asn, ranges)`
Test if an asn falls within any of the ranges provided.
Arguments:
- asn<int>
- ranges<list[tuple(min,max)]>
Return:
- bool
---
## get_prefix_protocol
`def get_prefix_protocol(prefix)`
Take a network address space prefix string and return
a string describing the protocol.
Will raise a ValueError if it cannot determine protocol.
Returns:
str: IPv4 or IPv6
---
## network_is_bogon
`def network_is_bogon(network)`
Return if the passed ipaddress network is a bogon.
Arguments:
- network <ipaddress.IPv4Network|ipaddress.IPv6Network>
Return:
- bool
---
## network_is_pdb_valid
`def network_is_pdb_valid(network)`
Return if the passed ipaddress network is in pdb valid
address space.
Arguments:
- network <ipaddress.IPv4Network|ipaddress.IPv6Network>
Return:
- bool
---
## rdap_pretty_error_message
`def rdap_pretty_error_message(exc)`
Take an RdapException instance and return a customer friendly
error message (str).
---
## renumber_ipaddress
`def renumber_ipaddress(ipaddr, old_prefix, new_prefix)`
Renumber an ipaddress from old prefix to new prefix.
Arguments:
- ipaddr (ipaddress.ip_address)
- old_prefix (ipaddress.ip_network)
- new_prefix (ipaddress.ip_network)
Returns:
- ipaddress.ip_address: renumbered ip address
---
# Classes
---
## BogonAsn
```
BogonAsn(rdap.objects.RdapAsn)
```
On tutorial mode environments, return an instance
of this to provide an rdapasn result for asns in the
private and documentation ranges.
### Methods
#### \__init__
`def __init__(self, asn)`
Initialize self. See help(type(self)) for accurate signature.
---
## RdapInvalidRange
```
RdapInvalidRange(rdap.exceptions.RdapException)
```
Base exception used by this module.
## RdapLookup
```
RdapLookup(rdap.client.RdapClient)
```
Does RDAP lookups against defined URL.
### Methods
#### \__init__
`def __init__(self)`
Initialize an RdapClient.
config is a dict or rdap.config.Config object
config_dir is a string pointing to a config directory
---
#### get_asn
`def get_asn(self, asn)`
Handle asns that fall into the private/documentation ranges
manually - others are processed normally through rdap lookup.
---