Skip to main content

pnap-network-api

Create, list, edit and delete public/private networks with the Network API. Use public networks to place multiple servers on the same network or VLAN. Assign new servers with IP addresses from the same CIDR range. Use private networks to avoid unnecessary egress data charges. Model your networks according to your business needs.

Helpful knowledge base articles are available for multi-private backend networks, public networks and border gateway protocol peer groups.

All URLs are relative to (https://api.phoenixnap.com/networks/v1/)

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0
  • Package version: 3.1.1
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://phoenixnap.com/

Requirements.

Python 3.9+

Installation & Usage

pip install

You can install this package directly from the Python Package Index using:

$ pip install pnap_network_api

Then import the package:

import pnap_network_api

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import pnap_network_api

Tests

Execute pytest to run the tests.

Getting Started

Please follow the installation procedure and then run the following:

import pnap_network_api
from pnap_network_api.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.phoenixnap.com/networks/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = pnap_network_api.Configuration(
    host = "https://api.phoenixnap.com/networks/v1"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

configuration.access_token = os.environ["ACCESS_TOKEN"]


# Enter a context with an instance of the API client
with pnap_network_api.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = pnap_network_api.BGPPeerGroupsApi(api_client)
    location = 'PHX' # str | If present will filter the result by the given location of the BGP Peer Group. (optional)

    try:
        # List BGP Peer Groups.
        api_response = api_instance.bgp_peer_groups_get(location=location)
        print("The response of BGPPeerGroupsApi->bgp_peer_groups_get:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling BGPPeerGroupsApi->bgp_peer_groups_get: %s\n" % e)

To generate a token using the python-keycloak library:

from keycloak import KeycloakOpenID

clientId = "YOUR_CLIENT_ID"
clientSecret = "YOUR_CLIENT_SECRET"
serverUrl = "https://auth.phoenixnap.com/auth/"
realmName = "BMC"
grantType = "client_credentials"

keycloakOpenId =  KeycloakOpenID(server_url=serverUrl,
                        realm_name=realmName,
                        client_id=clientId,
                        client_secret_key=clientSecret)

ACCESS_TOKEN = keycloakOpenId.token(grant_type=grantType)['access_token']

Documentation for API Endpoints

All URIs are relative to https://api.phoenixnap.com/networks/v1

Class Method HTTP request Description
BGPPeerGroupsApi bgp_peer_groups_get GET /bgp-peer-groups List BGP Peer Groups.
BGPPeerGroupsApi bgp_peer_groups_peer_group_id_delete DELETE /bgp-peer-groups/{bgpPeerGroupId} Delete a BGP Peer Group.
BGPPeerGroupsApi bgp_peer_groups_peer_group_id_get GET /bgp-peer-groups/{bgpPeerGroupId} Get a BGP Peer Group.
BGPPeerGroupsApi bgp_peer_groups_peer_group_id_patch PATCH /bgp-peer-groups/{bgpPeerGroupId} Modify a BGP Peer Group.
BGPPeerGroupsApi bgp_peer_groups_post POST /bgp-peer-groups Create a BGP Peer Group.
PrivateNetworksApi private_networks_get GET /private-networks List Private Networks.
PrivateNetworksApi private_networks_network_id_delete DELETE /private-networks/{privateNetworkId} Delete a Private Network.
PrivateNetworksApi private_networks_network_id_get GET /private-networks/{privateNetworkId} Get a Private Network.
PrivateNetworksApi private_networks_network_id_put PUT /private-networks/{privateNetworkId} Update a Private Network.
PrivateNetworksApi private_networks_post POST /private-networks Create a Private Network.
PublicNetworksApi public_networks_get GET /public-networks List Public Networks.
PublicNetworksApi public_networks_network_id_delete DELETE /public-networks/{publicNetworkId} Delete a Public Network.
PublicNetworksApi public_networks_network_id_get GET /public-networks/{publicNetworkId} Get a Public Network.
PublicNetworksApi public_networks_network_id_ip_blocks_ip_block_id_delete DELETE /public-networks/{publicNetworkId}/ip-blocks/{ipBlockId} Removes the IP Block from the Public Network.
PublicNetworksApi public_networks_network_id_ip_blocks_post POST /public-networks/{publicNetworkId}/ip-blocks Adds an IP block to this public network.
PublicNetworksApi public_networks_network_id_patch PATCH /public-networks/{publicNetworkId} Update Public Network's Details.
PublicNetworksApi public_networks_post POST /public-networks Create a public network.

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

OAuth2

  • Type: OAuth
  • Flow: application
  • Authorization URL:
  • Scopes:
  • bmc: Grants full access to bmc-api.
  • bmc.read: Grants read only access to bmc-api.

Author

support@phoenixnap.com

Release files for pnap-network-api 3.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pnap-network-api 3.1.1
File Size Uploaded
pnap_network_api-3.1.1.tar.gz 38.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pnap-network-api 3.1.1
File Interpreter ABI Platform
pnap_network_api-3.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 111.5 kB

Release files / pnap_network_api-3.1.1.tar.gz

Download URL pnap_network_api-3.1.1.tar.gz
Size 38.1 kB
Tags Source
SHA-256 checksum
How to use checksums
9b275d6ce8784a5e6499e934a17e6edea1f023c6ec686a5ec6f1b03da3a4b2e8
BLAKE2b-256 checksum
How to use checksums
390ccf2cf908c60279eff4eb28db2d7244d431f6c5737d008d9483701e2c6dad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release files / pnap_network_api-3.1.1-py3-none-any.whl

Download URL pnap_network_api-3.1.1-py3-none-any.whl
Size 73.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c38f3689eb5420e791ad41e3a58ed258dcc7053d65a22bd1768cbae9b6bc9f02
BLAKE2b-256 checksum
How to use checksums
80271046e20307177073dec970d902b45923f3d420aa9659c76a6a76b578955c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release history Release notifications | RSS feed

This release

3.1.1 This release

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page