An open API service indexing awesome lists of open source software.

https://github.com/hpe-container-platform-community/hpecp-python-library

Python library for working with HPE Container Platform (Prototype)
https://github.com/hpe-container-platform-community/hpecp-python-library

hpe-container-platform kubernetes python python-cli python-library

Last synced: 3 months ago
JSON representation

Python library for working with HPE Container Platform (Prototype)

Awesome Lists containing this project

README

          

[![Build & Test](https://github.com/hpe-container-platform-community/hpecp-python-library/workflows/Build%20&%20Test/badge.svg?branch=master&event=push)](https://github.com/hpe-container-platform-community/hpecp-python-library/actions?query=workflow%3A%22Build+%26+Test%22+branch%3Amaster)
[![Code Checks](https://github.com/hpe-container-platform-community/hpecp-python-library/workflows/Code%20Checks/badge.svg?branch=master&event=push)](https://github.com/hpe-container-platform-community/hpecp-python-library/actions?query=workflow%3A%22Code+Checks%22+branch%3Amaster)
[![Issues](https://img.shields.io/github/issues/hpe-container-platform-community/hpecp-python-library/bug.svg)](https://github.com/hpe-container-platform-community/hpecp-python-library/issues?q=is%3Aissue+is%3Aopen+label%3A"bug")
[![Coverage Status](https://coveralls.io/repos/github/hpe-container-platform-community/hpecp-python-library/badge.png?branch=master)](https://coveralls.io/github/hpe-container-platform-community/hpecp-python-library?branch=master)
[![Pyversions](https://img.shields.io/badge/Pyversions-2.7,%203.5,%203.6,%203.7,%203.8,%203.9-green.svg)](https://github.com/hpe-container-platform-community/hpecp-python-library/blob/master/tox.ini#L7)
[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)
[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![pypi](https://img.shields.io/pypi/v/hpecp.svg)](https://pypi.org/project/hpecp)

[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/hpe-container-platform-community/hpecp-python-library)
[![Good first issues open](https://img.shields.io/github/issues/hpe-container-platform-community/hpecp-python-library/good%20first%20issue.svg?label=good%20first%20issue)](https://github.com/hpe-container-platform-community/hpecp-python-library/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

----

## Documentation

See [here](https://hpe-container-platform-community.github.io/hpecp-python-library/index.html) for User Documentation.

## Contributing

See:

- [Developing Guide](https://github.com/hpe-container-platform-community/hpecp-python-library/blob/master/DEVELOPING.md)
- [Contribution Guide](https://github.com/hpe-container-platform-community/hpecp-python-library/blob/master/CONTRIBUTING.md)

## Installation

```shell
pip3 install -U hpecp
```

If you encounter an issue installing on Centos 7.7 with Python 2.7 see [here](https://github.com/hpe-container-platform-community/hpecp-python-library/blob/master/docs/README-INSTALL-HPECP-HOSTS.md) for a workaround

## CLI examples

You need to create a config file with your endpoint details - note that you can have multiple profiles:

```ini
cat > ~/.hpecp.conf < tenant1_kube.conf

# get available Kubedirector apps
kubectl --kubeconfig tenant1_kube.conf -n t1 get kubedirectorapps

# list running applications
kubectl --kubeconfig tenant1_kube.conf -n t1 describe kubedirectorclusters
```

Http call:
```sh
hpecp httpclient get /some/uri
```

Use a different config file:
```sh
HPECP_CONFIG_FILE=myclus.conf hpecp do-something
```

Logging with HTTP tracing:
```sh
export LOG_LEVEL=DEBUG
hpecp do-something
```

More sophisticated CLI examples [here](https://github.com/hpe-container-platform-community/hcp-demo-env-aws-terraform/tree/master/bin/experimental)

## Python Library Examples

See docs: https://hpe-container-platform-community.github.io/hpecp-python-library/index.html

Example:

```py3
from hpecp import ContainerPlatformClient

client = ContainerPlatformClient(username='admin',
password='admin123',
api_host='127.0.0.1',
api_port=8080,
use_ssl=True,
verify_ssl='/certs/hpecp-ca-cert.pem')
client.create_session() # Login

# Alternatively:
# client = ContainerPlatformClient.create_from_config_file().create_session()

print(client.k8s_cluster.list(columns=['description', 'id']))
```

On my environment, this displays:
```
+-------------+-----------------------+
| description | id |
+-------------+-----------------------+
| my cluster | /api/v2/k8scluster/20 |
+-------------+-----------------------+
```