https://github.com/ingatesystems/ingatesdk
The Ingate Python SDK provides an interface to configure and manage your Ingate appliances (including upgrades, licenses and patches) via HTTP requests.
https://github.com/ingatesystems/ingatesdk
ingate python rest-api sdk
Last synced: 3 months ago
JSON representation
The Ingate Python SDK provides an interface to configure and manage your Ingate appliances (including upgrades, licenses and patches) via HTTP requests.
- Host: GitHub
- URL: https://github.com/ingatesystems/ingatesdk
- Owner: ingatesystems
- License: mit
- Created: 2018-10-30T10:15:43.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-02-08T15:56:21.000Z (over 4 years ago)
- Last Synced: 2025-12-15T10:45:52.298Z (7 months ago)
- Topics: ingate, python, rest-api, sdk
- Language: Python
- Homepage:
- Size: 44.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ingate Python SDK
## Overview
The Ingate Python SDK provides an interface to configure and manage your Ingate
appliances (including upgrades, licenses and patches) via HTTP requests.
## Examples
### Change the unit name
Change the name of the unit to *Testapi*. Create a *Client* instance. Request a
security token. Call the method *modify_single_row* in order to change the name
and print the result. Store the change to the permanent configuration.
~~~~
import sys
from ingate import ingatesdk
scheme = 'http'
user = 'alice'
password = 'foobar'
address = '192.168.1.1'
port = ''
try:
# Create API client.
api_client = ingatesdk.Client('v1', scheme, address, user, password,
port=port)
# Authenticate and get hold of a security token.
response = api_client.authenticate()
# Change the unit name.
unitname = 'Testapi'
response = api_client.modify_single_row('misc.unitname', unitname=unitname)
print('Changed the unit name to %s' % (response[0]['data']['unitname']))
print('')
# Store the preliminary configuration to the permanent configuration.
response = api_client.store_edit()
print(response[0]['store-edit']['msg'])
print('')
except Exception as e:
sys.stderr.write('\n%s: %s\n' % (type(e).__name__, str(e)))
~~~~
### Apply a base license and upgrade to latest firmware version
~~~~
import sys
from ingate import ingatesdk
scheme = 'http'
user = 'alice'
password = 'foobar'
address = '192.168.1.1'
port = ''
try:
# Create API client.
api_client = ingatesdk.Client('v1', scheme, address, user, password,
port=port)
# Authenticate and get hold of a security token.
response = api_client.authenticate()
# Install a license.
response = api_client.install_license('myaccount', 'mypassword',
'JJV8-9JVT-BV36')
# Store the edit configuration. The 'download_install_upgrade' function
# expects that the configuration has been stored at least once.
api_client.store_edit()
# Upgrade to the latest version available.
response = api_client.download_install_upgrade('myaccount', 'mypassword',
latest=True)
except Exception as e:
sys.stderr.write('\n%s: %s\n' % (type(e).__name__, str(e)))
~~~~
## Additional information
* [More information and examples](https://account.ingate.com/manuals/latest/reference_guide.html#_python_sdk)
* [Generate Python code from an Ingate CLI backup file](https://raw.githubusercontent.com/ingatesystems/ingatesdk/master/utils/cli2python.py)
* [Generate Ansible Playbook from an Ingate CLI backup file](https://raw.githubusercontent.com/ingatesystems/ingatesdk/master/utils/cli2python.py)