Skip to main content

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) 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

radware-sdk-common-0.4b29.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

radware_sdk_common-0.4b29-py2.py3-none-any.whl (24.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file radware-sdk-common-0.4b29.tar.gz.

File metadata

  • Download URL: radware-sdk-common-0.4b29.tar.gz
  • Upload date:
  • Size: 19.6 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

Hashes for radware-sdk-common-0.4b29.tar.gz
Algorithm Hash digest
SHA256 70fa5f283d3d2dcb62510e6ef6bff132d62024cc602b6984f4ecc25d083045c2
MD5 2955edf5afe5b4fd77a2e97b10cce174
BLAKE2b-256 0cf3216aa142883be59e9fdb6d1e87d11ca709d5a092205b04c49f6acc394529

See more details on using hashes here.

File details

Details for the file radware_sdk_common-0.4b29-py2.py3-none-any.whl.

File metadata

  • Download URL: radware_sdk_common-0.4b29-py2.py3-none-any.whl
  • Upload date:
  • Size: 24.4 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

Hashes for radware_sdk_common-0.4b29-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ffb6105249fea3189a5224a2341071d17373701bf0438de4ae89d52b8b278906
MD5 03ecb2bb14f36b5fc17eb5d37f647aa2
BLAKE2b-256 84ecf195fa5e6f0f7a78038516b9cbb96cf8d1685b28283dc6a520ce2e6f0bae

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page