Skip to content

Latest commit

 

History

History
151 lines (109 loc) · 4.65 KB

File metadata and controls

151 lines (109 loc) · 4.65 KB

pnap-rancher-solution-api

Simplify enterprise-grade Kubernetes cluster operations and management with Rancher on Bare Metal Cloud. Deploy Kubernetes clusters using a few API calls.

Knowledge base articles to help you can be found here

All URLs are relative to (https://api.phoenixnap.com/solutions/rancher/v1beta)

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

  • API version: 0.1
  • 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_rancher_solution_api

Then import the package:

import pnap_rancher_solution_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_rancher_solution_api
import time
import pnap_rancher_solution_api
from pnap_rancher_solution_api.rest import ApiException
from pprint import pprint

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

# 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_rancher_solution_api.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = pnap_rancher_solution_api.ClustersApi(api_client)

    try:
        # Cluster list.
        api_response = api_instance.clusters_get()
        print("The response of ClustersApi->clusters_get:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling ClustersApi->clusters_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/solutions/rancher/v1beta*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*ClustersApi* | [**clusters_get**](docs/ClustersApi.md#clusters_get) | **GET** /clusters | Cluster list.
*ClustersApi* | [**clusters_id_delete**](docs/ClustersApi.md#clusters_id_delete) | **DELETE** /clusters/{id} | Delete a cluster.
*ClustersApi* | [**clusters_id_get**](docs/ClustersApi.md#clusters_id_get) | **GET** /clusters/{id} | Retrieve a Cluster
*ClustersApi* | [**clusters_post**](docs/ClustersApi.md#clusters_post) | **POST** /clusters | Create a Rancher Server Deployment.


## Documentation For Models

 - [Cluster](docs/Cluster.md)
 - [DeleteResult](docs/DeleteResult.md)
 - [Error](docs/Error.md)
 - [Node](docs/Node.md)
 - [NodePool](docs/NodePool.md)
 - [RancherClusterCertificates](docs/RancherClusterCertificates.md)
 - [RancherClusterConfig](docs/RancherClusterConfig.md)
 - [RancherServerMetadata](docs/RancherServerMetadata.md)
 - [SshConfig](docs/SshConfig.md)
 - [WorkloadClusterConfig](docs/WorkloadClusterConfig.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