Skip to content

Latest commit

 

History

History
151 lines (109 loc) · 4.85 KB

README.md

File metadata and controls

151 lines (109 loc) · 4.85 KB

pnap-ip-api

Public IP blocks are a set of contiguous IPs that allow you to access your servers or networks from the internet. Use the IP Addresses API to request and delete IP blocks.

Knowledge base articles to help you can be found here

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

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

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

Requirements.

Python 3.7+

Installation & Usage

pip install

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

$ pip install pnap_ip_api

Then import the package:

import pnap_ip_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_ip_api
import time
import pnap_ip_api
from pnap_ip_api.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.phoenixnap.com/ips/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = pnap_ip_api.Configuration(
    host = "https://api.phoenixnap.com/ips/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_ip_api.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = pnap_ip_api.IPBlocksApi(api_client)
    tag = ['[\"env.dev\",\"loc.phx\"]'] # List[str] | List of tags, in the form tagName.tagValue, to filter by. (optional)

    try:
        # List IP Blocks.
        api_response = api_instance.ip_blocks_get(tag=tag)
        print("The response of IPBlocksApi->ip_blocks_get:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling IPBlocksApi->ip_blocks_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/ips/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*IPBlocksApi* | [**ip_blocks_get**](docs/IPBlocksApi.md#ip_blocks_get) | **GET** /ip-blocks | List IP Blocks.
*IPBlocksApi* | [**ip_blocks_ip_block_id_delete**](docs/IPBlocksApi.md#ip_blocks_ip_block_id_delete) | **DELETE** /ip-blocks/{ipBlockId} | Delete IP Block.
*IPBlocksApi* | [**ip_blocks_ip_block_id_get**](docs/IPBlocksApi.md#ip_blocks_ip_block_id_get) | **GET** /ip-blocks/{ipBlockId} | Get IP Block.
*IPBlocksApi* | [**ip_blocks_ip_block_id_patch**](docs/IPBlocksApi.md#ip_blocks_ip_block_id_patch) | **PATCH** /ip-blocks/{ipBlockId} | Update IP block.
*IPBlocksApi* | [**ip_blocks_ip_block_id_tags_put**](docs/IPBlocksApi.md#ip_blocks_ip_block_id_tags_put) | **PUT** /ip-blocks/{ipBlockId}/tags | Overwrite tags assigned for IP Block.
*IPBlocksApi* | [**ip_blocks_post**](docs/IPBlocksApi.md#ip_blocks_post) | **POST** /ip-blocks | Create an IP Block.


## Documentation For Models

 - [DeleteIpBlockResult](docs/DeleteIpBlockResult.md)
 - [Error](docs/Error.md)
 - [IpBlock](docs/IpBlock.md)
 - [IpBlockCreate](docs/IpBlockCreate.md)
 - [IpBlockPatch](docs/IpBlockPatch.md)
 - [TagAssignment](docs/TagAssignment.md)
 - [TagAssignmentRequest](docs/TagAssignmentRequest.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="OAuth2"></a>
### 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