Python Radware SDK
Project description
Introduction
This project implements common SDK functions for Radware device SDK packages. it defines interfaces for interacting with device management & configuration planes. the package is intended to be independently reusable in any device project in Python. right now it offers REST interface for communication, but additional can be added as needed
each implementing device SDK inherit a ConfigurationManager module that offer configuration staging engine, dry run , differential update , write on change and config diff (via the abstraction defined by the model)
the SDK is support Python >3.6
further details & doc will be added later
Installation
pip install radware-sdk-common
Design Principles
-
Define the Interfaces for beans, configurators, management
-
Define device connections API
-
Provide the Backend driver for communication: currently supports REST
-
Define the abstraction base structure and interface
-
Exceptions
-
Translate enums: developer/user can work with string/values/enum
-
It is actually taking care of configuring the device and also provide a Configuration Manager with staging capability:
- Diff before and after: at the abstraction level
- Dry run: go down to the lowest code point, right before submitting the REST call.
- Dry run reports of duplicate entries (Differential=False)
- Normalizes result for diff: handle order mismatch, necessary for abstract compare (server1 == real2)
- Differential update: appended changes only, ignore attributes equal to existing. useful to prevent conflict result in error (call/apply), prevent redundant write
- Write on change: Executes Alteon write calls only when an actual change has been evaluated. Prevent false apply due to internal index change
- Translate result
Authors
common SDK was created by Leon Meguira
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file radware-sdk-common-0.4b26.tar.gz
.
File metadata
- Download URL: radware-sdk-common-0.4b26.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90b060bb0f5676f1b4c93087de992cdb66dbf18c8b665e0c2e61675f370268db |
|
MD5 | 379bec95d68a9dfa67a1033ef4a58dc7 |
|
BLAKE2b-256 | 8f9e9742504108a2dbf5369b4c2195564c7cb8e8a82683ed49fe48a516925e44 |
File details
Details for the file radware_sdk_common-0.4b26-py2.py3-none-any.whl
.
File metadata
- Download URL: radware_sdk_common-0.4b26-py2.py3-none-any.whl
- Upload date:
- Size: 21.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9648f7e563b83acd64ee411a0be058e60fe549b148dea682338acd8f719ff463 |
|
MD5 | a022742006d6091752444586b5c9c9f7 |
|
BLAKE2b-256 | 0a049aa2fe06e756e5f34ad3defb6fc6d9775f740838f5afa79243ebffc7210d |