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.8.6 (2023-03-22)

  • Better python3 compatibility

1.8.0 (2017-07-31)

  • CAA Record support

  • Exponential backoff on blocked tasks

  • Misc bug fixes

1.7.10 (2016-12-08)

  • TSIG names can now be attached to dyn.tm.zones.ExternalNamserver

1.7.9 (2016-11-28)

  • Add publish parameter to delete methods

  • Check publish and implicitPublish for delete

1.7.8 (2016-10-31)

  • Minor Bugfixes to ExtNameServer.

  • Advanced Redirect SDK calls (Beta)

1.7.7 (2016-10-20)

  • Add ‘all_ds’ field to DNSSECKey class for multi-DS support

  • Add dyn.tm.zones.ExternalNamserver and dyn.tm.zones.ExternalNameserverEntry

1.7.6 (2016-09-29)

  • Bug fix for DSFNode export

  • Internal Improvement for multiprocess applications.

1.7.5 (2016-09-09)

  • Bug fix for token renewal on connection timeout

1.7.4 (2016-08-30)

  • Added IPACL feature to accounts library. Customers can now control Account Login ACLs for API and Web independently.

1.7.2 (2016-08-17)

  • Update add_node and remove_node functions in Traffic Director to respect implicitPublish setting.

  • Updated permission fixes dyn.tm.accounts

1.7.1 (2016-08-11)

  • task_id is now returned for a number of calls that spawn system tasks

  • Bug fixes in RTTM. If you are using the RTTM with the SDK against our system, after Release-5.2.17 you will have to upgrade to this version.

1.7.0 (2016-06-22)

  • Bug fix for implicit publishes in the DSF service with Publish Notes.

  • Added dyn.tm.dsf.DSFNode Node type for DSF services. dyn.tm.dsf.TrafficDirector should now accept this node type, as well as produce it. Regular dyn.tm.zones.Node objects can still be passed in, but they will no longer be generated as output.

  • Python3 compatability fixes as well as a through linting.

1.6.4 (2016-05-20)

  • Added Publish Notes to Traffic Director Service. User created Zone Notes can now be generated on a Traffic Director Publish. This includes in line setter publishes, or full Service level publishes.

1.6.3 (2016-3-21)

  • Added TrafficDirector:replace_all_rulesets to wholesale replace rulesets on a TrafficDirector

  • Added TrafficDirector:replace_one_ruleset to remove and replace a single ruleset entry in place

  • Merged Proxy support from PR #73

1.6.2 (2016-3-7)

  • Added order_rulesets() to TrafficDirector object, for re-ordering Rulesets

  • Added index=n to Ruleset create() so New rulesets can be placed in a certain location in the chain.

  • Added getters for single DSF objects get_record(), get_record_set() etc.

  • Fixed bug with DSF Monitor options

  • Fixed bug where adding criteria to rulesets with ‘always’ criteria_type changes it to ‘geoip’ by default.

1.6.1 (2016-2-11)

  • Added UNKNOWN record type

  • DSF records status getter added

1.6.0 (2016-1-28)

  • DSF service objects can now be independently Created, Updated, Read, and Deleted.

  • Signifigant changes to how DSF service works. There may be some minor breaking changes here.

  • Record getters now automatically pull data from system instead of storing them locally.

1.5.2 (2016-1-11)

  • Addition of Delay feature to GSLB Services

  • Minor Improvements to GSLB features.

  • Addition of Apex Finder

1.5.1 (2015-12-17)

  • Addition of CSYNC records

1.5.0 (2015-12-14)

  • Alias Traffic Director Support, coincides with ALIAS product release.

  • Addition of CDS and CDNSKEY records.

1.4.5 (2015-12-9)

  • Added support for new syslog delivery type. syslog_delivery where all delivers messages no matter what the state and change only does so upon a detected change.

1.4.4 (2015-11-25)

  • Added support for ALIAS records.

1.4.3 (2015-08-14)

  • Added support for configurable Syslog Messages

1.4.2 (2015-08-10)

  • Added support for deleting all records of a certain type per #47. Thanks @tarokkk

  • Exception classes are now based on Exception per #51. Thanks @thedebugger

  • Fixed potential circular dependency in dyn.tm.services

  • Added HTTP response debug logging

1.4.1 (2015-07-23)

  • added zone notes at publish capabilities.

  • added TSIG support

1.4.0 (2015-06-26)

  • Added better coverage for passing Node Objects

  • New way of handling DSFNodes with new API call

1.3.14 (2015-06-22)

  • Internal fixes with zone.

1.3.13 (2015-06-15)

  • DSF Ruleset Feature enhancement

1.3.12 (2015-06-03)

  • Added active properties for secondary zones.

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.8.6.tar.gz (121.5 kB view details)

Uploaded Source

File details

Details for the file dyn-1.8.6.tar.gz.

File metadata

  • Download URL: dyn-1.8.6.tar.gz
  • Upload date:
  • Size: 121.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for dyn-1.8.6.tar.gz
Algorithm Hash digest
SHA256 f77ddeb58aca4604aa25f38c22e2032f852fe3f45d48414c35616d5b9aa23e90
MD5 1b833eb8cc308e0037e13cbe2e91846a
BLAKE2b-256 587ea001db04f19b67e6c9797de2751782c3e28b1b7bba79b1832af95bf5f948

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