Skip to main content

Dyn REST API wrapper

Project description

Downloads Latest Version Supported Python versions License

This library provides an easily scriptable approach to accessing all of the features provided by your Traffic Management (TM) or Message Management (MM) services.

Requires Python 2.6 or higher, or the “simplejson” package.

For full documentation and examples see the dyn module on Read The Docs.

Installation

To install the dyn SDK, simply:

$ pip install dyn

Documentation

Documentation is available on Read The Docs.

Contribute

  1. Check for open issues or open a new issue to start a discussion around a feature idea or a bug.

  2. For bug reports especially it’s encouraged for you to include a code snippet highlighting the bug.

  3. For feature requests it’s encouraged for you to include sample code highlighting a use case for the new feature.

  4. Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).

  5. Send a pull request and bug the maintainer until it gets merged and published. :)

Release History

1.3.4 (2014-11-11)

  • Bugfix for MMSesion JSON Error caused by arg filtering

  • Bugfix for DSFRecord Creation on DSF GET calls

1.3.3 (2014-10-26)

  • Fixed the majority of warnings when building docs, per issue #18

  • Added dyn.tm.zones.get_all_secondary_zones function for retrieving all secondary zones for an account

1.3.2 (2014-10-21)

  • Fixed an issue where attempting to access a Zone’s serial resulted in always performing a GET call

1.3.1 (2014-10-16)

  • Adding additional hooks to dyn.tm.errors that return collections of exceptions

1.3.0 (2014-10-14)

  • dyn.tm.session.DynectSession now accepts a history flag to enable per-session history recording

1.2.0 (2014-09-29)

  • Addition of dyn.tm.tools module

  • Added change_ip and map_ip functions to dyn.tm.tools

  • Added __enter__ and __exit__ methods to DynectSession for allow for use as a context manager

  • Added dyn.core.SessionEngine.new_session classmethod for forcing new session generation

1.1.0 (2014-09-16)

  • Internally improved Python2/3 compaability with the intoduction of the dyn.compat module

  • Timestamps for various report types are accepted as Python datetime.datetime instances

  • Added qps report access to Zones

  • Added __str__, __repr__, __unicode__, and __bytes__ methods to all API object types

  • Added conditional password encryption to allow for better in-app security

  • Added the ability for users to specify their own password encryption keys

  • Added __getstate__ and __setstate__ methods to SessionEngine, allowing sessions to be serialized

  • Misc bug fixes

1.0.3 (2014-09-05)

  • Adding changes provided by @thomasco to allow for GSLB monitor replacements

1.0.2 (2014-08-26)

  • Added reports module

  • Updated installation documentation

1.0.1 (2014-08-06)

  • Small bugfix for an issue affecting sending EMails via the HTMLEmail class

1.0.0 (2014-08-05)

  • Revamed how sessions are structured to support the new SessionEngine interface

  • Message Management is now out of BETA due to many bug fixes and additional testing

  • You can now have one SessionEngine instance (Singleton) per Thread

  • Added File Encoding definitions to source code

  • Updated dyn.mm docs to actually include code samples

  • Adding some general information on sessions, primarily for my own sanity

  • Added EMail subclasses for easier formatting/sending of EMail messages

  • mm.session.session and tm.session.session functions have been replaced by the SessionEngine get_session class method

  • Completed the dyn.mm.reports module

  • Misc MM related bug fixes

0.9.11 (2014-07-25)

  • Fixed a bug with how calls to get_all_zones created Zone objects

  • Tackled a possible bug also stemming from get_all_zones calls where a Zone’s contact and ttl attributes could always be None

0.9.10 (2014-07-07)

  • Added fix for potentially improperly formatted search parameters in dyn.tm.accounts.get_users

0.9.9 (2014-06-26)

  • Added SecondaryZone delete method

  • Added better User __str__ representations

  • Added SOA TTL bug fix

0.9.6 (2014-05-16)

  • Added Zone attribute updating

  • Misc Bug fixes for Python 2.x/3.x cross-compatibility

  • GSLB _build bug fix

0.9.5 (2014-05-12)

  • Added custom User-Agent to DynectSession

  • Added __all__ attributes where appropriate to simplify imports

  • Improved dyn.tm.services import structure

0.9.3 (2014-05-08)

  • Added Active class type for all TM services

  • Misc DSFMonitor/Record bug fixes

  • Added DSFMonitorEndpoint class

0.8.0 (2014-05-08)

  • Integrated _APILists into GSLB and RTTM services

  • Added a more intuitive polling solution for Zone XFERs

0.7.0 (2014-05-02)

  • Fixed Notifier URI construction

  • Added _APIDict and _APIList implementations to improve seamless updating of services

  • Added custom DSF Record Type Objects to greatly improve ease of creation/management of DSF Services

0.6.0 (2014-04-23)

  • Fixed Python 3.x support with singleton DynectSession instance

  • Finished implementation of dyn.mm.accounts

  • Improved RTTM support

  • Added Zone XFER support

  • Added code examples to documentation

  • Added better Geo TM support including custom Geo Record Type objects

0.5.0 (2014-04-07)

  • Added initial pass at Message Management BETA functionality

  • Cleaned up exception raising and general logic involving internal exception handling

0.4.0 (2014-03-25)

  • Initial fork of Cole Tuininga’s code base

  • Began creation of OO models

  • General cleanup of .pyc files

0.3.0 (2012-10-05)

  • Updated by Cole Tuininga <ctuininga@dyn.com>

  • Compatibility update to work with Python 3, incorporating patches suggested by Jonathan Kamens <jkamens@quantopian.com>

  • Added a newline to debug output when polling for a result

0.2.0 (2012-05-27)

  • Updated by Cole Tuininga <ctuininga@dyn.com>

  • Minor reorg to make it easier to add the library to PyPI

0.1.0 (2011-10-08)

Dyn Inc, Integration Team Deliverable “Copyright © 2014, Dyn Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of Dynamic Network Services, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.”

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

dyn-1.4.0.tar.gz (90.0 kB view hashes)

Uploaded Source

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