a10networks / acos-client

ACOS API Client
Apache License 2.0
35 stars 61 forks source link

ACOS Client

Table of Contents

  1. Supported Versions

  2. Installation for ACOSv4.1.4

  3. Installation for ACOSv4.1.1

  4. Example usage information

  5. Contributing & Testing

  6. Issues and Inquiries

  7. Helpful Links

Supported Versions

| ACOS Version   | AXAPI Version | ACOS Client Version | Status      |
| 2.7.1†         | 2             | >=0.1.0,<0.3.0      | end-of-life |
| 2.7.2          | 2             | >=0.1.0,<0.3.0      | end-of-life |
| 4.0.0          | 3             | >=1.4.6,<1.5.0      | end-of-life |
| 4.1.1          | 3             | >=1.5.0,<2.0.0      | end-of-life |
| 4.1.4 GR1-P2   | 3             | >=2.0.0,<2.4.0      | end-of-life |
| 4.1.4          | 3             | >=2.4.0             | end-of-life |
| 4.1.4 GR1-P5   | 3             | >=2.6.0             | Maintenance |
| 5.2.1          | 3             | >=2.6.0             | Maintenance |
| 5.2.1-p1       | 3             | >=2.7.0             | Maintenance |
| 5.2.1-p2       | 3             | >=2.9.0             | Maintenance |
| 5.2.1-p2       | 3             | >=2.9.1             | Maintenance |
| 5.2.1-p2       | 3             | >=2.10.0            | Maintenance |

†Works only when not using partitioning

Installation

Install using pip

$ pip install acos-client>=2.9.0

Install from source

$ git clone https://github.com/a10networks/acos-client.git
$ cd acos-client
$ git checkout stable/stein
$ pip install -e . 

Usage

c = acos_client.Client('somehost.example.com', acos_client.AXAPI_30, 'admin', 'password')

Example setting up an SLB:

import acos_client as acos

c = acos.Client('1.2.3.4', acos.AXAPI_30, 'admin', 'password')
c.slb.server.create('s1', '1.1.1.1')
c.slb.server.create('s2', '1.1.1.2')
c.slb.service_group.create('pool1', c.slb.service_group.TCP, c.slb.service_group.ROUND_ROBIN)
c.slb.virtual_server.create('vip1', '1.1.1.3')
c.slb.hm.create('hm1', c.slb.hm.HTTP, 5, 5, 5, 'GET', '/', '200', 80)
c.slb.service_group.update('pool1', health_monitor='hm1')
c.slb.service_group.member.create('pool1', 's1', 80)
c.slb.service_group.member.create('pool1', 's2', 80)

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Testing

This project uses tox for testing. To run the test suite simply:

$ sudo pip install tox  # use pip2 if using Arch Linux
$ cd /path/to/acos_client
$ tox

Issues and Inquiries

For all issues, please send an email to support@a10networks.com

Helpful links

Improved speed

pypy: http://pypy.org/index.html

Old python versions

Deadsnakes github: https://github.com/deadsnakes
Deadsnakes ppa: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa