Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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) set of interfaces enable accurate definition of procedure and normalization customization.

each implementing device provide two methods to accomplish object configuration declaration:

  • DEPLOY - when applicable it basically delete (if exist) and create new object
  • DIFFERENTIAL - modify current object to reach desire configuration state as reflected in structure, it will change/add/remove accordingly.

the former suitable for "push-all-at-once" automation, the latter is good for "per-object" modifications as it keep external references

the SDK is requires 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 report of duplicate entries (Differential=False), Identify duplicate entries within a structure
    • Normalizes result for diff: handle order mismatch, necessary for abstract compare (server1 == real2)
    • Differential update: Executes changes only - modify/add/remove, ignore attributes equal to existing. Useful to prevent errors due to conflicts with existing configuration entries
    • 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
    • interface for struct-specific normalization

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

Metadata

Release files for radware-sdk-common 0.4b32

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for radware-sdk-common 0.4b32
File Size Uploaded
radware-sdk-common-0.4b32.tar.gz 19.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for radware-sdk-common 0.4b32
File Interpreter ABI Platform
radware_sdk_common-0.4b32-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 44.4 kB

Release files / radware-sdk-common-0.4b32.tar.gz

Download URL radware-sdk-common-0.4b32.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5ad8f6bbf595b12767afa295eb7a4d441436ac902acaca8cf84a0a0affaa0833
BLAKE2b-256 checksum
How to use checksums
44f9930d7323c4b6d7a6fa08046301395beebc5a6aea764891bca95795f14aa6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6

Release files / radware_sdk_common-0.4b32-py2.py3-none-any.whl

Download URL radware_sdk_common-0.4b32-py2.py3-none-any.whl
Size 24.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
5c16f4321b45d7a134ae7268860b91a896dfb91c451511f09bd08619b20332ea
BLAKE2b-256 checksum
How to use checksums
67e95e4c3feb4e94e41564f479e072bbc199fd8e7a54039fdfc7542aeaf5ba48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.6
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page