# Catalyst Cloud API client
[![PyPI](https://img.shields.io/pypi/v/catalystcloud-client)](https://pypi.org/project/catalystcloud-client) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/catalystcloud-client) [![GitHub](https://img.shields.io/github/license/catalyst-cloud/catalystcloud-client)](https://github.com/catalyst-cloud/catalystcloud-client/blob/main/LICENSE) ![Test Status](https://img.shields.io/github/actions/workflow/status/catalyst-cloud/catalystcloud-client/test.yml?label=tests)
This is a package for installing the API clients and all necessary
plugins for interacting with [Catalyst Cloud](https://catalystcloud.nz).
Catalyst Cloud is an [OpenStack](https://openstack.org)-based public cloud
based in New Zealand, with multiple regions available.
We provide a range of different services for our customers, and have created
this package to make it easier for customers to create a CLI environment
from which they can interact with our cloud.
Note that this library is not required to interact with Catalyst Cloud APIs.
The individual client libraries can be installed and used separately from
this package; for more information refer to [Available Commands](#available-commands).
## Installation
The Catalyst Cloud API client supports Python 3.8 and later,
and supports most systems running on Linux, macOS and Windows.
### pip
The Catalyst Cloud API client can be installed directly using `pip`.
```bash
python -m pip install catalystcloud-client
```
This exposes the commands used to interact with Catalyst Cloud
in the running Python environment.
Installing via `pip` is the recommended method for installing the package in
a container image build, which can be used to, for example, create isolated
command line environments or CI/CD pipelines using Catalyst Cloud.
When installing using `pip` it is highly recommended to install the API client
into a virtual environment.
This ensures that there are no conflicts with packages installed into the
Python environment managed by your operating system.
### pipx
For installing the Catalyst Cloud API client on a desktop machine for interactive use,
an alternative installation method which may be easier is to use [`pipx`](https://pipx.pypa.io).
```bash
pipx install catalystcloud-client --include-deps
```
This makes the `openstack` command available to run in your user environment,
while installing the [`catalystcloud-client`](https://pypi.org/project/catalystcloud-client)
package into an isolated virtual environment to avoid conflicts.
Note that the `--include-deps` option is required to expose the commands
used to interact with Catalyst Cloud so they can be executed by your user.
Once installed, run the following command to check that the installation was successful:
```bash
openstack --help
```
`pipx` also makes it easy to update the client and dependent packages
using `pipx upgrade`.
```bash
pipx upgrade catalystcloud-client
```
## Usage
For more information on how to interact with Catalyst Cloud from a command line
environment, please refer to [CLI Tools and SDKs](https://docs.catalystcloud.nz/sdks-and-toolkits.html)
in the Catalyst Cloud documentation.
## Available Commands
Installing the Catalyst Cloud API client makes the following commands available:
* `openstack` - The OpenStack API client. Used for most tasks via sub-commands.
Provided by the `python-openstackclient` package.
* `swift` - The [Swift API client](https://docs.openstack.org/python-swiftclient/latest/cli/index.html).
An alternative command for interacting with the
[Catalyst Cloud Object Storage](https://docs.catalystcloud.nz/object-storage.html)
service using the Swift API. Provided by the `python-swiftclient` package.
Using the `openstack` command, the following services can be managed:
| Service | Resource Type | Sub-command | API Client Library |
|-------------------|-------------------------|------------------------------------|-------------------------|
| Identity | Projects | `openstack project` | `python-keystoneclient` |
| Identity | Users | `openstack user` | `python-keystoneclient` |
| Identity | EC2 Credentials | `openstack ec2 credentials` | `python-keystoneclient` |
| Identity | Application Credentials | `openstack application credential` | `python-keystoneclient` |
| Compute | Instances / Servers | `openstack server` | `python-novaclient` |
| Compute | Keypairs | `openstack keypair` | `python-novaclient` |
| Networking | Networks | `openstack network` | `python-neutronclient` |
| Networking | Routers | `openstack router` | `python-neutronclient` |
| Networking | Floating IPs | `openstack floating ip` | `python-neutronclient` |
| Networking | Security Groups | `openstack security group` | `python-neutronclient` |
| Networking | VPNs | `openstack vpn` | `python-neutronclient` |
| Load Balancer | Load Balancers | `openstack loadbalancer` | `python-octaviaclient` |
| Block Storage | Volumes | `openstack volume` | `python-cinderclient` |
| Image | Images | `openstack image` | `python-glanceclient` |
| Database | Databases | `openstack database` | `python-troveclient` |
| Orchestration | Stacks | `openstack stack` | `python-heatclient` |
| Kubernetes | Clusters | `openstack coe cluster` | `python-magnumclient` |
| Kubernetes | Node Groups | `openstack coe nodegroup` | `python-magnumclient` |
| Object Storage | Containers | `openstack container` | `python-swiftclient` |
| Object Storage | Objects | `openstack object` | `python-swiftclient` |
| Object Storage | Accounts | `openstack object store account` | `python-swiftclient` |
| Secret Management | Secrets | `openstack secret` | `python-barbicanclient` |
| Telemetry | Metrics | `openstack metric` | `gnocchiclient` |
| Telemetry | Alarms | `openstack alarm` | `aodhclient` |
| Billing | Invoices | `openstack rating invoice` | `python-distilclient` |
| Billing | Quotations | `openstack rating quotation` | `python-distilclient` |
| Billing | Products | `openstack rating product` | `python-distilclient` |
| Administration | Project Users | `openstack project user` | `python-adjutantclient` |
| Administration | Project Quotas | `openstack project quota` | `python-adjutantclient` |
| Administration | Manageable Roles | `openstack manageable roles` | `python-adjutantclient` |
| Administration | Passwords | `openstack password` | `python-adjutantclient` |
For more information on using these services, please refer to the
[Catalyst Cloud documentation](https://docs.catalystcloud.nz).
Raw data
{
"_id": null,
"home_page": null,
"name": "catalystcloud-client",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "adjutant, aodh, barbican, catalystcloud, cinder, distil, glance, gnocchi, heat, magnum, neutron, nova, octavia, openstack, swift, trove",
"author": null,
"author_email": "Callum Dickinson <callum.dickinson@catalystcloud.nz>",
"download_url": "https://files.pythonhosted.org/packages/1a/2f/03ab2cb19428d9cb5331be55e29bcbe769ca1e513187de13c060189f1d01/catalystcloud_client-1.0.0.tar.gz",
"platform": null,
"description": "# Catalyst Cloud API client\n\n[![PyPI](https://img.shields.io/pypi/v/catalystcloud-client)](https://pypi.org/project/catalystcloud-client) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/catalystcloud-client) [![GitHub](https://img.shields.io/github/license/catalyst-cloud/catalystcloud-client)](https://github.com/catalyst-cloud/catalystcloud-client/blob/main/LICENSE) ![Test Status](https://img.shields.io/github/actions/workflow/status/catalyst-cloud/catalystcloud-client/test.yml?label=tests)\n\nThis is a package for installing the API clients and all necessary\nplugins for interacting with [Catalyst Cloud](https://catalystcloud.nz).\n\nCatalyst Cloud is an [OpenStack](https://openstack.org)-based public cloud\nbased in New Zealand, with multiple regions available.\nWe provide a range of different services for our customers, and have created\nthis package to make it easier for customers to create a CLI environment\nfrom which they can interact with our cloud.\n\nNote that this library is not required to interact with Catalyst Cloud APIs.\nThe individual client libraries can be installed and used separately from\nthis package; for more information refer to [Available Commands](#available-commands).\n\n## Installation\n\nThe Catalyst Cloud API client supports Python 3.8 and later,\nand supports most systems running on Linux, macOS and Windows.\n\n### pip\n\nThe Catalyst Cloud API client can be installed directly using `pip`.\n\n```bash\npython -m pip install catalystcloud-client\n```\n\nThis exposes the commands used to interact with Catalyst Cloud\nin the running Python environment.\n\nInstalling via `pip` is the recommended method for installing the package in\na container image build, which can be used to, for example, create isolated\ncommand line environments or CI/CD pipelines using Catalyst Cloud.\n\nWhen installing using `pip` it is highly recommended to install the API client\ninto a virtual environment.\nThis ensures that there are no conflicts with packages installed into the\nPython environment managed by your operating system.\n\n### pipx\n\nFor installing the Catalyst Cloud API client on a desktop machine for interactive use,\nan alternative installation method which may be easier is to use [`pipx`](https://pipx.pypa.io).\n\n```bash\npipx install catalystcloud-client --include-deps\n```\n\nThis makes the `openstack` command available to run in your user environment,\nwhile installing the [`catalystcloud-client`](https://pypi.org/project/catalystcloud-client)\npackage into an isolated virtual environment to avoid conflicts.\n\nNote that the `--include-deps` option is required to expose the commands\nused to interact with Catalyst Cloud so they can be executed by your user.\n\nOnce installed, run the following command to check that the installation was successful:\n\n```bash\nopenstack --help\n```\n\n`pipx` also makes it easy to update the client and dependent packages\nusing `pipx upgrade`.\n\n```bash\npipx upgrade catalystcloud-client\n```\n\n## Usage\n\nFor more information on how to interact with Catalyst Cloud from a command line\nenvironment, please refer to [CLI Tools and SDKs](https://docs.catalystcloud.nz/sdks-and-toolkits.html)\nin the Catalyst Cloud documentation.\n\n## Available Commands\n\nInstalling the Catalyst Cloud API client makes the following commands available:\n\n* `openstack` - The OpenStack API client. Used for most tasks via sub-commands.\n Provided by the `python-openstackclient` package.\n* `swift` - The [Swift API client](https://docs.openstack.org/python-swiftclient/latest/cli/index.html).\n An alternative command for interacting with the\n [Catalyst Cloud Object Storage](https://docs.catalystcloud.nz/object-storage.html)\n service using the Swift API. Provided by the `python-swiftclient` package.\n\nUsing the `openstack` command, the following services can be managed:\n\n| Service | Resource Type | Sub-command | API Client Library |\n|-------------------|-------------------------|------------------------------------|-------------------------|\n| Identity | Projects | `openstack project` | `python-keystoneclient` |\n| Identity | Users | `openstack user` | `python-keystoneclient` |\n| Identity | EC2 Credentials | `openstack ec2 credentials` | `python-keystoneclient` |\n| Identity | Application Credentials | `openstack application credential` | `python-keystoneclient` |\n| Compute | Instances / Servers | `openstack server` | `python-novaclient` |\n| Compute | Keypairs | `openstack keypair` | `python-novaclient` |\n| Networking | Networks | `openstack network` | `python-neutronclient` |\n| Networking | Routers | `openstack router` | `python-neutronclient` |\n| Networking | Floating IPs | `openstack floating ip` | `python-neutronclient` |\n| Networking | Security Groups | `openstack security group` | `python-neutronclient` |\n| Networking | VPNs | `openstack vpn` | `python-neutronclient` |\n| Load Balancer | Load Balancers | `openstack loadbalancer` | `python-octaviaclient` |\n| Block Storage | Volumes | `openstack volume` | `python-cinderclient` |\n| Image | Images | `openstack image` | `python-glanceclient` |\n| Database | Databases | `openstack database` | `python-troveclient` |\n| Orchestration | Stacks | `openstack stack` | `python-heatclient` |\n| Kubernetes | Clusters | `openstack coe cluster` | `python-magnumclient` |\n| Kubernetes | Node Groups | `openstack coe nodegroup` | `python-magnumclient` |\n| Object Storage | Containers | `openstack container` | `python-swiftclient` |\n| Object Storage | Objects | `openstack object` | `python-swiftclient` |\n| Object Storage | Accounts | `openstack object store account` | `python-swiftclient` |\n| Secret Management | Secrets | `openstack secret` | `python-barbicanclient` |\n| Telemetry | Metrics | `openstack metric` | `gnocchiclient` |\n| Telemetry | Alarms | `openstack alarm` | `aodhclient` |\n| Billing | Invoices | `openstack rating invoice` | `python-distilclient` |\n| Billing | Quotations | `openstack rating quotation` | `python-distilclient` |\n| Billing | Products | `openstack rating product` | `python-distilclient` |\n| Administration | Project Users | `openstack project user` | `python-adjutantclient` |\n| Administration | Project Quotas | `openstack project quota` | `python-adjutantclient` |\n| Administration | Manageable Roles | `openstack manageable roles` | `python-adjutantclient` |\n| Administration | Passwords | `openstack password` | `python-adjutantclient` |\n\nFor more information on using these services, please refer to the\n[Catalyst Cloud documentation](https://docs.catalystcloud.nz).\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Python application for interacting with Catalyst Cloud APIs.",
"version": "1.0.0",
"project_urls": {
"Changelog": "https://github.com/catalyst-cloud/catalystcloud-client/blob/main/CHANGELOG.md",
"Documentation": "https://github.com/catalyst-cloud/catalystcloud-client/blob/main/README.md",
"Homepage": "https://catalystcloud.nz",
"Issues": "https://github.com/catalyst-cloud/catalystcloud-client/issues",
"Repository": "https://github.com/catalyst-cloud/catalystcloud-client"
},
"split_keywords": [
"adjutant",
" aodh",
" barbican",
" catalystcloud",
" cinder",
" distil",
" glance",
" gnocchi",
" heat",
" magnum",
" neutron",
" nova",
" octavia",
" openstack",
" swift",
" trove"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f982687269884a38f080933f08bcd9501594532bb535bc52231da21cb9260473",
"md5": "397cfd05c35f13a6f8b51fb748536259",
"sha256": "badf3a987ec57e0010d528a79ada6fd006af5eba311f6822f9b28f7f9eed25bf"
},
"downloads": -1,
"filename": "catalystcloud_client-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "397cfd05c35f13a6f8b51fb748536259",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 7936,
"upload_time": "2024-07-29T22:05:12",
"upload_time_iso_8601": "2024-07-29T22:05:12.637335Z",
"url": "https://files.pythonhosted.org/packages/f9/82/687269884a38f080933f08bcd9501594532bb535bc52231da21cb9260473/catalystcloud_client-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1a2f03ab2cb19428d9cb5331be55e29bcbe769ca1e513187de13c060189f1d01",
"md5": "36836b3c06d183d64d2645814f5e33a0",
"sha256": "791009ad9440f7adaa3a603754e9ee51ae994c2b5fe82a421c74c1b2f7e8f92d"
},
"downloads": -1,
"filename": "catalystcloud_client-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "36836b3c06d183d64d2645814f5e33a0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 53796,
"upload_time": "2024-07-29T22:05:13",
"upload_time_iso_8601": "2024-07-29T22:05:13.973709Z",
"url": "https://files.pythonhosted.org/packages/1a/2f/03ab2cb19428d9cb5331be55e29bcbe769ca1e513187de13c060189f1d01/catalystcloud_client-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-29 22:05:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "catalyst-cloud",
"github_project": "catalystcloud-client",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "catalystcloud-client"
}