Metadata-Version: 2.1
Name: pnap-bmc-api
Version: 1.0.1
Summary: Bare Metal Cloud API
Home-page: https://phoenixnap.com/bare-metal-cloud
Author: PhoenixNAP Team
Author-email: support@phoenixnap.com
License: Apache 2.0
Project-URL: Repository, https://github.com/phoenixnap/python-sdk-bmc
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.<br>
        <br>
        <span class='pnap-api-knowledge-base-link'>
        Knowledge base articles to help you can be found
        <a href='https://phoenixnap.com/kb/how-to-deploy-bare-metal-cloud-server' target='_blank'>here</a>
        </span><br>
        <br>
        <b>All URLs are relative to (https://api.phoenixnap.com/bmc/v1/)</b>
        
        
        This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
        
        - API version: 0.1
        For more information, please visit [https://phoenixnap.com/](https://phoenixnap.com/)
        
        ## Requirements.
        
        Python >=3.6
        
        ## Installation & Usage
        ### pip install
        
        You can install this package directly from the [Python Package Index](https://pypi.org/) using:
        
        ```sh
        pip install pnap_bmc_api
        ```
        
        Then import the package:
        ```python
        import pnap_bmc_api
        ```
        
        ### Setuptools
        
        Install via [Setuptools](http://pypi.python.org/pypi/setuptools).
        
        ```sh
        python setup.py install --user
        ```
        (or `sudo python setup.py install` to install the package for all users)
        
        Then import the package:
        ```python
        import pnap_bmc_api
        ```
        
        ## Getting Started
        
        Please follow the [installation procedure](#installation--usage) and then run the following:
        
        ```python
        
        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](https://pypi.org/project/python-keycloak/) library:
        
        ```python
        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**](docs/QuotasApi.md#quotas_get) | **GET** /quotas | List quotas
        *QuotasApi* | [**quotas_quota_id_actions_request_edit_post**](docs/QuotasApi.md#quotas_quota_id_actions_request_edit_post) | **POST** /quotas/{quotaId}/actions/request-edit | Request quota limit change.
        *QuotasApi* | [**quotas_quota_id_get**](docs/QuotasApi.md#quotas_quota_id_get) | **GET** /quotas/{quotaId} | Get a quota.
        *SSHKeysApi* | [**ssh_keys_get**](docs/SSHKeysApi.md#ssh_keys_get) | **GET** /ssh-keys | List SSH Keys.
        *SSHKeysApi* | [**ssh_keys_post**](docs/SSHKeysApi.md#ssh_keys_post) | **POST** /ssh-keys | Create SSH Key.
        *SSHKeysApi* | [**ssh_keys_ssh_key_id_delete**](docs/SSHKeysApi.md#ssh_keys_ssh_key_id_delete) | **DELETE** /ssh-keys/{sshKeyId} | Delete SSH Key.
        *SSHKeysApi* | [**ssh_keys_ssh_key_id_get**](docs/SSHKeysApi.md#ssh_keys_ssh_key_id_get) | **GET** /ssh-keys/{sshKeyId} | Get SSH Key.
        *SSHKeysApi* | [**ssh_keys_ssh_key_id_put**](docs/SSHKeysApi.md#ssh_keys_ssh_key_id_put) | **PUT** /ssh-keys/{sshKeyId} | Edit SSH Key.
        *ServersApi* | [**delete_private_network**](docs/ServersApi.md#delete_private_network) | **DELETE** /servers/{serverId}/network-configuration/private-network-configuration/private-networks/{privateNetworkId} | Removes the server from private network.
        *ServersApi* | [**servers_get**](docs/ServersApi.md#servers_get) | **GET** /servers | List servers.
        *ServersApi* | [**servers_post**](docs/ServersApi.md#servers_post) | **POST** /servers | Create new server.
        *ServersApi* | [**servers_server_id_actions_deprovision_post**](docs/ServersApi.md#servers_server_id_actions_deprovision_post) | **POST** /servers/{serverId}/actions/deprovision | Deprovision a server.
        *ServersApi* | [**servers_server_id_actions_power_off_post**](docs/ServersApi.md#servers_server_id_actions_power_off_post) | **POST** /servers/{serverId}/actions/power-off | Power off server.
        *ServersApi* | [**servers_server_id_actions_power_on_post**](docs/ServersApi.md#servers_server_id_actions_power_on_post) | **POST** /servers/{serverId}/actions/power-on | Power on server.
        *ServersApi* | [**servers_server_id_actions_reboot_post**](docs/ServersApi.md#servers_server_id_actions_reboot_post) | **POST** /servers/{serverId}/actions/reboot | Reboot server.
        *ServersApi* | [**servers_server_id_actions_reserve_post**](docs/ServersApi.md#servers_server_id_actions_reserve_post) | **POST** /servers/{serverId}/actions/reserve | Reserve server.
        *ServersApi* | [**servers_server_id_actions_reset_post**](docs/ServersApi.md#servers_server_id_actions_reset_post) | **POST** /servers/{serverId}/actions/reset | Reset server.
        *ServersApi* | [**servers_server_id_actions_shutdown_post**](docs/ServersApi.md#servers_server_id_actions_shutdown_post) | **POST** /servers/{serverId}/actions/shutdown | Shutdown server.
        *ServersApi* | [**servers_server_id_delete**](docs/ServersApi.md#servers_server_id_delete) | **DELETE** /servers/{serverId} | Delete server.
        *ServersApi* | [**servers_server_id_get**](docs/ServersApi.md#servers_server_id_get) | **GET** /servers/{serverId} | Get server.
        *ServersApi* | [**servers_server_id_ip_blocks_ip_block_id_delete**](docs/ServersApi.md#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**](docs/ServersApi.md#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**](docs/ServersApi.md#servers_server_id_patch) | **PATCH** /servers/{serverId} | Patch a Server.
        *ServersApi* | [**servers_server_id_private_networks_post**](docs/ServersApi.md#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**](docs/ServersApi.md#servers_server_id_tags_put) | **PUT** /servers/{serverId}/tags | Set server tags.
        
        
        ## Documentation For Models
        
         - [ActionResult](docs/ActionResult.md)
         - [DeleteResult](docs/DeleteResult.md)
         - [DeleteSshKeyResult](docs/DeleteSshKeyResult.md)
         - [Error](docs/Error.md)
         - [IpBlocksConfiguration](docs/IpBlocksConfiguration.md)
         - [NetworkConfiguration](docs/NetworkConfiguration.md)
         - [OsConfiguration](docs/OsConfiguration.md)
         - [OsConfigurationMap](docs/OsConfigurationMap.md)
         - [OsConfigurationMapEsxi](docs/OsConfigurationMapEsxi.md)
         - [OsConfigurationMapProxmox](docs/OsConfigurationMapProxmox.md)
         - [OsConfigurationWindows](docs/OsConfigurationWindows.md)
         - [PrivateNetworkConfiguration](docs/PrivateNetworkConfiguration.md)
         - [Quota](docs/Quota.md)
         - [QuotaEditLimitRequest](docs/QuotaEditLimitRequest.md)
         - [QuotaEditLimitRequestDetails](docs/QuotaEditLimitRequestDetails.md)
         - [QuotaEditLimitRequestDetailsAllOf](docs/QuotaEditLimitRequestDetailsAllOf.md)
         - [RelinquishIpBlock](docs/RelinquishIpBlock.md)
         - [ResetResult](docs/ResetResult.md)
         - [Server](docs/Server.md)
         - [ServerCreate](docs/ServerCreate.md)
         - [ServerIpBlock](docs/ServerIpBlock.md)
         - [ServerPatch](docs/ServerPatch.md)
         - [ServerPrivateNetwork](docs/ServerPrivateNetwork.md)
         - [ServerReserve](docs/ServerReserve.md)
         - [ServerReset](docs/ServerReset.md)
         - [SshKey](docs/SshKey.md)
         - [SshKeyCreate](docs/SshKeyCreate.md)
         - [SshKeyUpdate](docs/SshKeyUpdate.md)
         - [TagAssignment](docs/TagAssignment.md)
         - [TagAssignmentRequest](docs/TagAssignmentRequest.md)
        
        
        ## 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
        
        support@phoenixnap.com
        
        
        ## 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 *
        ```
Keywords: OpenAPI,OpenAPI-Generator,Bare Metal Cloud API
Platform: UNKNOWN
Requires-Python: >=3.6
Description-Content-Type: text/markdown
