Bare Metal Cloud API
Project description
pnap-bmc-api
Create, power off, power on, reset, reboot, or shut down your server with the Bare Metal Cloud API.
Deprovision servers, get or edit SSH key details, and a lot more. Manage your infrastructure more efficiently
using just a few simple api calls.
Knowledge base articles to help you can be found
here
All URLs are relative to (https://api.phoenixnap.com/bmc/v1/)
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 0.1 For more information, please visit https://phoenixnap.com/
Requirements.
Python >=3.6
Installation & Usage
pip install
You can install this package directly from the Python Package Index using:
pip install pnap_bmc_api
Then import the package:
import pnap_bmc_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_bmc_api
Getting Started
Please follow the installation procedure and then run the following:
import time
import pnap_bmc_api
from pprint import pprint
from pnap_bmc_api.api import quotas_api
from pnap_bmc_api.model.error import Error
from pnap_bmc_api.model.quota import Quota
from pnap_bmc_api.model.quota_edit_limit_request import QuotaEditLimitRequest
# Defining the host is optional and defaults to https://api.phoenixnap.com/bmc/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = pnap_bmc_api.Configuration(
host = "https://api.phoenixnap.com/bmc/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.
# Configure OAuth2 access token for authorization: OAuth2
configuration = pnap_bmc_api.Configuration(
host = "https://api.phoenixnap.com/bmc/v1"
)
configuration.access_token = 'YOUR_ACCESS_TOKEN'
# Enter a context with an instance of the API client
with pnap_bmc_api.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = quotas_api.QuotasApi(api_client)
try:
# List quotas
api_response = api_instance.quotas_get()
pprint(api_response)
except pnap_bmc_api.ApiException as e:
print("Exception when calling QuotasApi->quotas_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/bmc/v1
Class | Method | HTTP request | Description |
---|---|---|---|
QuotasApi | quotas_get | GET /quotas | List quotas |
QuotasApi | quotas_quota_id_actions_request_edit_post | POST /quotas/{quotaId}/actions/request-edit | Request quota limit change. |
QuotasApi | quotas_quota_id_get | GET /quotas/{quotaId} | Get a quota. |
SSHKeysApi | ssh_keys_get | GET /ssh-keys | List SSH Keys. |
SSHKeysApi | ssh_keys_post | POST /ssh-keys | Create SSH Key. |
SSHKeysApi | ssh_keys_ssh_key_id_delete | DELETE /ssh-keys/{sshKeyId} | Delete SSH Key. |
SSHKeysApi | ssh_keys_ssh_key_id_get | GET /ssh-keys/{sshKeyId} | Get SSH Key. |
SSHKeysApi | ssh_keys_ssh_key_id_put | PUT /ssh-keys/{sshKeyId} | Edit SSH Key. |
ServersApi | delete_private_network | DELETE /servers/{serverId}/network-configuration/private-network-configuration/private-networks/{privateNetworkId} | Removes the server from private network. |
ServersApi | servers_get | GET /servers | List servers. |
ServersApi | servers_post | POST /servers | Create new server. |
ServersApi | servers_server_id_actions_deprovision_post | POST /servers/{serverId}/actions/deprovision | Deprovision a server. |
ServersApi | servers_server_id_actions_power_off_post | POST /servers/{serverId}/actions/power-off | Power off server. |
ServersApi | servers_server_id_actions_power_on_post | POST /servers/{serverId}/actions/power-on | Power on server. |
ServersApi | servers_server_id_actions_reboot_post | POST /servers/{serverId}/actions/reboot | Reboot server. |
ServersApi | servers_server_id_actions_reserve_post | POST /servers/{serverId}/actions/reserve | Reserve server. |
ServersApi | servers_server_id_actions_reset_post | POST /servers/{serverId}/actions/reset | Reset server. |
ServersApi | servers_server_id_actions_shutdown_post | POST /servers/{serverId}/actions/shutdown | Shutdown server. |
ServersApi | servers_server_id_delete | DELETE /servers/{serverId} | Delete server. |
ServersApi | servers_server_id_get | GET /servers/{serverId} | Get server. |
ServersApi | servers_server_id_ip_blocks_ip_block_id_delete | DELETE /servers/{serverId}/network-configuration/ip-block-configurations/ip-blocks/{ipBlockId} | Unassign IP Block from Server. |
ServersApi | servers_server_id_ip_blocks_post | POST /servers/{serverId}/network-configuration/ip-block-configurations/ip-blocks | Assign IP Block to Server. |
ServersApi | servers_server_id_patch | PATCH /servers/{serverId} | Patch a Server. |
ServersApi | servers_server_id_private_networks_post | POST /servers/{serverId}/network-configuration/private-network-configuration/private-networks | Adds the server to a private network. |
ServersApi | servers_server_id_tags_put | PUT /servers/{serverId}/tags | Set server tags. |
Documentation For Models
- ActionResult
- DeleteResult
- DeleteSshKeyResult
- Error
- IpBlocksConfiguration
- NetworkConfiguration
- OsConfiguration
- OsConfigurationMap
- OsConfigurationMapEsxi
- OsConfigurationMapProxmox
- OsConfigurationWindows
- PrivateNetworkConfiguration
- Quota
- QuotaEditLimitRequest
- QuotaEditLimitRequestDetails
- QuotaEditLimitRequestDetailsAllOf
- RelinquishIpBlock
- ResetResult
- Server
- ServerCreate
- ServerIpBlock
- ServerPatch
- ServerPrivateNetwork
- ServerReserve
- ServerReset
- SshKey
- SshKeyCreate
- SshKeyUpdate
- TagAssignment
- TagAssignmentRequest
Documentation For Authorization
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
Notes for Large OpenAPI documents
If the OpenAPI document is large, imports in pnap_bmc_api.apis and pnap_bmc_api.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:
Solution 1: Use specific imports for apis and models like:
from pnap_bmc_api.api.default_api import DefaultApi
from pnap_bmc_api.model.pet import Pet
Solution 2: Before importing the package, adjust the maximum recursion limit as shown below:
import sys
sys.setrecursionlimit(1500)
import pnap_bmc_api
from pnap_bmc_api.apis import *
from pnap_bmc_api.models import *
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pnap_bmc_api-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7f0b6d8785f2398f5844d4e98dfec95809d4db249b476911d281fcde945aff7 |
|
MD5 | 6867f65ba4b5f77b057e5768031310d8 |
|
BLAKE2b-256 | c2ba50dc76fe077224856d98bce6b27bc7627314a2922b44364939d3d816fb79 |