alteon-sdk


Namealteon-sdk JSON
Version 0.14b1 PyPI version JSON
download
home_pagehttps://pypi.python.org/pypi/alteon-sdk
SummaryPython Alteon SDK
upload_time2024-01-15 07:38:46
maintainer
docs_urlNone
authorLeon Meguira
requires_python~=3.6
licenseApache 2.0
keywords radware sdk api configurators beans
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
Introduction
=====================

- provide API for developers to interact with Alteon structures in Python environment via REST Backend
- access to Alteon Management & Configuration functions
- abstract configuration model to alteon elements via consistent Declarative-style Configurators

in this model a consistent object structures are exposed to user per configurator type.
each configurator handle base commands over a device (READ, READ_ALL, DELETE, UPDATE & DEPLOY)
the package handles the binding & translation between alteon device to abstract objects
it works both ways: abstract <-> alteon structure, in other words it translate 
abstract to alteon configuration and read from alteon into abstract type.
multi choices (enums) are consumed dynamically from the beans package.
developer can choose to work with string_value/int/enums directly

the SDK is requires Python >3.6

Minimum Supported Alteon Versions:
    31.0.10.0,
    32.2.2.0

device direct API, Configurators and Management are available via the Alteon client module:

```pycon
from radware.alteon.client import AlteonClient
from radware.alteon.beans.SlbNewCfgEnhRealServerTable import *

alteon_client_params = dict(
        validate_certs=False,
        user='admin',
        password='admin',
        https_port=443,
        server='172.16.1.1',
        timeout=15,
)
client = AlteonClient(**alteon_client_params)

# read bean from device:
bean = SlbNewCfgEnhRealServerTable()
bean.Index = 'real_1'
print(client.api.device.read(bean))

# work with Configurators:
client.api.mgmt.config.commit()
print(client.api.mgmt.info.software)
print(client.api.conf.type.dns_responders.read_all())
server_params = ServerParameters()
server_params.index = 'real1'
server_params.ip_address = '3.3.3.3'
client.api.conf.execute('deploy', server_params, dry_run=True, write_on_change=True, get_diff=True)
```

another way of use is directly via the desire Configurator:

```pycon
from radware.alteon.sdk.configurators.server import *

connection = AlteonConnection(**alteon_client_params)
server_configurator = ServerConfigurator(connection)

server_params = ServerParameters()
server_params.index = 'real1'
server_params.ip_address = '3.3.3.3'
server_params.availability = 5
server_params.server_ports = [56, 78]
server_params.weight = 5
server_params.server_type = EnumSlbRealServerType.remote_server
server_params.state = EnumSlbRealServerState.enabled
server_configurator.deploy(server_params)
```

OR the configuration manager:

```pycon
from radware.sdk.configurator import DeviceConfigurator, DeviceConfigurationManager
from radware.alteon.sdk.configurators.ssl_key import SSLKeyConfigurator

ssl_key_configurator = SSLKeyConfigurator(**alteon_client_params)
cfg_mng = DeviceConfigurationManager()
result = cfg_mng.execute(ssl_key_configurator, DeviceConfigurator.READ_ALL, None, passphrase=passphrase)
print(result.content_translate)
```

further details & doc will be added later 

Installation
=================

```pycon
pip install alteon-sdk
```

Design Principles
=================

-	46 configurators: some indexed & others are a summary
-	management functions for facts collection, carry out operation tasks and manage device configuration
-	Alteon direct device API 
-	Alteon client: aggregate all configuration & management modules along with device API
-	Bean package complied from MIB (auto generated)
-	Each configurator is standalone and can be initiate for an AdcConnection
-	Abstraction <-> beans automatic attributes  binding + specific processing when needed
-	Abstraction <-> Alteon configuration bi-direction translation (deploy from abstract , read alteon config into abstract)
-	Define dry_run delete procedure for "special configurators": relevant for when there is no delete procedure, mostly for global configuration
-   Identify duplicate entries within a structure

Authors
=======

Alteon SDK was created by [Leon Meguira](https://https://github.com/leonmeguira)

Copyright
=======

Copyright 2019 Radware LTD

License
=======
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and





            

Raw data

            {
    "_id": null,
    "home_page": "https://pypi.python.org/pypi/alteon-sdk",
    "name": "alteon-sdk",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "~=3.6",
    "maintainer_email": "",
    "keywords": "radware,sdk,api,configurators,beans",
    "author": "Leon Meguira",
    "author_email": "leonm@radware.com",
    "download_url": "https://files.pythonhosted.org/packages/03/de/672f0d02b714fb0a547077134f160797c5910c29fa14e79b750c16ddb95c/alteon-sdk-0.14b1.tar.gz",
    "platform": null,
    "description": "\nIntroduction\n=====================\n\n- provide API for developers to interact with Alteon structures in Python environment via REST Backend\n- access to Alteon Management & Configuration functions\n- abstract configuration model to alteon elements via consistent Declarative-style Configurators\n\nin this model a consistent object structures are exposed to user per configurator type.\neach configurator handle base commands over a device (READ, READ_ALL, DELETE, UPDATE & DEPLOY)\nthe package handles the binding & translation between alteon device to abstract objects\nit works both ways: abstract <-> alteon structure, in other words it translate \nabstract to alteon configuration and read from alteon into abstract type.\nmulti choices (enums) are consumed dynamically from the beans package.\ndeveloper can choose to work with string_value/int/enums directly\n\nthe SDK is requires Python >3.6\n\nMinimum Supported Alteon Versions:\n    31.0.10.0,\n    32.2.2.0\n\ndevice direct API, Configurators and Management are available via the Alteon client module:\n\n```pycon\nfrom radware.alteon.client import AlteonClient\nfrom radware.alteon.beans.SlbNewCfgEnhRealServerTable import *\n\nalteon_client_params = dict(\n        validate_certs=False,\n        user='admin',\n        password='admin',\n        https_port=443,\n        server='172.16.1.1',\n        timeout=15,\n)\nclient = AlteonClient(**alteon_client_params)\n\n# read bean from device:\nbean = SlbNewCfgEnhRealServerTable()\nbean.Index = 'real_1'\nprint(client.api.device.read(bean))\n\n# work with Configurators:\nclient.api.mgmt.config.commit()\nprint(client.api.mgmt.info.software)\nprint(client.api.conf.type.dns_responders.read_all())\nserver_params = ServerParameters()\nserver_params.index = 'real1'\nserver_params.ip_address = '3.3.3.3'\nclient.api.conf.execute('deploy', server_params, dry_run=True, write_on_change=True, get_diff=True)\n```\n\nanother way of use is directly via the desire Configurator:\n\n```pycon\nfrom radware.alteon.sdk.configurators.server import *\n\nconnection = AlteonConnection(**alteon_client_params)\nserver_configurator = ServerConfigurator(connection)\n\nserver_params = ServerParameters()\nserver_params.index = 'real1'\nserver_params.ip_address = '3.3.3.3'\nserver_params.availability = 5\nserver_params.server_ports = [56, 78]\nserver_params.weight = 5\nserver_params.server_type = EnumSlbRealServerType.remote_server\nserver_params.state = EnumSlbRealServerState.enabled\nserver_configurator.deploy(server_params)\n```\n\nOR the configuration manager:\n\n```pycon\nfrom radware.sdk.configurator import DeviceConfigurator, DeviceConfigurationManager\nfrom radware.alteon.sdk.configurators.ssl_key import SSLKeyConfigurator\n\nssl_key_configurator = SSLKeyConfigurator(**alteon_client_params)\ncfg_mng = DeviceConfigurationManager()\nresult = cfg_mng.execute(ssl_key_configurator, DeviceConfigurator.READ_ALL, None, passphrase=passphrase)\nprint(result.content_translate)\n```\n\nfurther details & doc will be added later \n\nInstallation\n=================\n\n```pycon\npip install alteon-sdk\n```\n\nDesign Principles\n=================\n\n-\t46 configurators: some indexed & others are a summary\n-\tmanagement functions for facts collection, carry out operation tasks and manage device configuration\n-\tAlteon direct device API \n-\tAlteon client: aggregate all configuration & management modules along with device API\n-\tBean package complied from MIB (auto generated)\n-\tEach configurator is standalone and can be initiate for an AdcConnection\n-\tAbstraction <-> beans automatic attributes  binding + specific processing when needed\n-\tAbstraction <-> Alteon configuration bi-direction translation (deploy from abstract , read alteon config into abstract)\n-\tDefine dry_run delete procedure for \"special configurators\": relevant for when there is no delete procedure, mostly for global configuration\n-   Identify duplicate entries within a structure\n\nAuthors\n=======\n\nAlteon SDK was created by [Leon Meguira](https://https://github.com/leonmeguira)\n\nCopyright\n=======\n\nCopyright 2019 Radware LTD\n\nLicense\n=======\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\n\n\n\n\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "Python Alteon SDK",
    "version": "0.14b1",
    "project_urls": {
        "Homepage": "https://pypi.python.org/pypi/alteon-sdk"
    },
    "split_keywords": [
        "radware",
        "sdk",
        "api",
        "configurators",
        "beans"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ed358fbbe261fe71c0eed83801b1f26cc7a044dc9e3a44369752f7903b04df75",
                "md5": "013cfc63485b1541b0e37083b97446fa",
                "sha256": "290ffe384bcd527e9ad23a47919ca0fec3d747dad783d4df5e369fed08d24b7e"
            },
            "downloads": -1,
            "filename": "alteon_sdk-0.14b1-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "013cfc63485b1541b0e37083b97446fa",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": "~=3.6",
            "size": 451942,
            "upload_time": "2024-01-15T07:38:41",
            "upload_time_iso_8601": "2024-01-15T07:38:41.283456Z",
            "url": "https://files.pythonhosted.org/packages/ed/35/8fbbe261fe71c0eed83801b1f26cc7a044dc9e3a44369752f7903b04df75/alteon_sdk-0.14b1-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "03de672f0d02b714fb0a547077134f160797c5910c29fa14e79b750c16ddb95c",
                "md5": "6a992dd6e04ec50f866a1fd8d9deac60",
                "sha256": "c9aaebeaad70fd2075197a7dfc110302ea17a3cf499641f45e2557a6004f7e85"
            },
            "downloads": -1,
            "filename": "alteon-sdk-0.14b1.tar.gz",
            "has_sig": false,
            "md5_digest": "6a992dd6e04ec50f866a1fd8d9deac60",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.6",
            "size": 174610,
            "upload_time": "2024-01-15T07:38:46",
            "upload_time_iso_8601": "2024-01-15T07:38:46.707621Z",
            "url": "https://files.pythonhosted.org/packages/03/de/672f0d02b714fb0a547077134f160797c5910c29fa14e79b750c16ddb95c/alteon-sdk-0.14b1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-15 07:38:46",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "alteon-sdk"
}
        
Elapsed time: 0.20015s