Package: dyn
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 onRead The Docs.InstallationTo install the dyn SDK, simply:$pipinstalldynDocumentationDocumentation is available onRead The Docs.ContributeCheck for open issues or open a new issue to start a discussion around a feature idea or a bug.For bug reports especially it’s encouraged for you to include a code snippet highlighting the bug.For feature requests it’s encouraged for you to include sample code highlighting a use case for the new feature.Forkthe repositoryon GitHub to start making your changes to themasterbranch (or branch off of it).Send a pull request and bug the maintainer until it gets merged and published. :)Release History1.8.6 (2023-03-22)Better python3 compatibility1.8.0 (2017-07-31)CAA Record supportExponential backoff on blocked tasksMisc bug fixes1.7.10 (2016-12-08)TSIG names can now be attached todyn.tm.zones.ExternalNamserver1.7.9 (2016-11-28)Add publish parameter to delete methodsCheck publish and implicitPublish for delete1.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 supportAdddyn.tm.zones.ExternalNamserveranddyn.tm.zones.ExternalNameserverEntry1.7.6 (2016-09-29)Bug fix for DSFNode exportInternal Improvement for multiprocess applications.1.7.5 (2016-09-09)Bug fix for token renewal on connection timeout1.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.accounts1.7.1 (2016-08-11)task_id is now returned for a number of calls that spawn system tasksBug 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.Addeddyn.tm.dsf.DSFNodeNode type for DSF services.dyn.tm.dsf.TrafficDirectorshould now accept this node type, as well as produce it. Regulardyn.tm.zones.Nodeobjects 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 TrafficDirectorAdded TrafficDirector:replace_one_ruleset to remove and replace a single ruleset entry in placeMerged Proxy support from PR #731.6.2 (2016-3-7)Added order_rulesets() to TrafficDirector object, for re-ordering RulesetsAdded 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 optionsFixed 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 typeDSF records status getter added1.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 ServicesMinor Improvements to GSLB features.Addition of Apex Finder1.5.1 (2015-12-17)Addition of CSYNC records1.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_deliverywherealldelivers messages no matter what the state andchangeonly 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 Messages1.4.2 (2015-08-10)Added support for deleting all records of a certain type per #47. Thanks @tarokkkException classes are now based onExceptionper #51. Thanks @thedebuggerFixed potential circular dependency indyn.tm.servicesAdded HTTP response debug logging1.4.1 (2015-07-23)added zone notes at publish capabilities.added TSIG support1.4.0 (2015-06-26)Added better coverage for passing Node ObjectsNew way of handling DSFNodes with new API call1.3.14 (2015-06-22)Internal fixes with zone.1.3.13 (2015-06-15)DSF Ruleset Feature enhancement1.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 filteringBugfix for DSFRecord Creation on DSF GET calls1.3.3 (2014-10-26)Fixed the majority of warnings when building docs, per issue #18Addeddyn.tm.zones.get_all_secondary_zonesfunction for retrieving all secondary zones for an account1.3.2 (2014-10-21)Fixed an issue where attempting to access a Zone’s serial resulted in always performing a GET call1.3.1 (2014-10-16)Adding additional hooks to dyn.tm.errors that return collections of exceptions1.3.0 (2014-10-14)dyn.tm.session.DynectSession now accepts ahistoryflag to enable per-session history recording1.2.0 (2014-09-29)Addition of dyn.tm.tools moduleAdded change_ip and map_ip functions to dyn.tm.toolsAdded __enter__ and __exit__ methods to DynectSession for allow for use as a context managerAdded dyn.core.SessionEngine.new_session classmethod for forcing new session generation1.1.0 (2014-09-16)Internally improved Python2/3 compaability with the intoduction of the dyn.compat moduleTimestamps for various report types are accepted as Python datetime.datetime instancesAdded qps report access to ZonesAdded __str__, __repr__, __unicode__, and __bytes__ methods to all API object typesAdded conditional password encryption to allow for better in-app securityAdded the ability for users to specify their own password encryption keysAdded __getstate__ and __setstate__ methods to SessionEngine, allowing sessions to be serializedMisc bug fixes1.0.3 (2014-09-05)Adding changes provided by @thomasco to allow for GSLB monitor replacements1.0.2 (2014-08-26)Added reports moduleUpdated installation documentation1.0.1 (2014-08-06)Small bugfix for an issue affecting sending EMails via the HTMLEmail class1.0.0 (2014-08-05)Revamed how sessions are structured to support the new SessionEngine interfaceMessage Management is now out of BETA due to many bug fixes and additional testingYou can now have one SessionEngine instance (Singleton) per ThreadAdded File Encoding definitions to source codeUpdated dyn.mm docs to actually include code samplesAdding some general information on sessions, primarily for my own sanityAdded EMail subclasses for easier formatting/sending of EMail messagesmm.session.session and tm.session.session functions have been replaced by the SessionEngine get_session class methodCompleted the dyn.mm.reports moduleMisc MM related bug fixes0.9.11 (2014-07-25)Fixed a bug with how calls toget_all_zonescreatedZoneobjectsTackled a possible bug also stemming fromget_all_zonescalls where aZone’scontactandttlattributes could always beNone0.9.10 (2014-07-07)Added fix for potentially improperly formatted search parameters in dyn.tm.accounts.get_users0.9.9 (2014-06-26)Added SecondaryZone delete methodAdded better User __str__ representationsAdded SOA TTL bug fix0.9.6 (2014-05-16)Added Zone attribute updatingMisc Bug fixes for Python 2.x/3.x cross-compatibilityGSLB _build bug fix0.9.5 (2014-05-12)Added custom User-Agent to DynectSessionAdded __all__ attributes where appropriate to simplify importsImproved dyn.tm.services import structure0.9.3 (2014-05-08)Added Active class type for all TM servicesMisc DSFMonitor/Record bug fixesAdded DSFMonitorEndpoint class0.8.0 (2014-05-08)Integrated _APILists into GSLB and RTTM servicesAdded a more intuitive polling solution for Zone XFERs0.7.0 (2014-05-02)Fixed Notifier URI constructionAdded _APIDict and _APIList implementations to improve seamless updating of servicesAdded custom DSF Record Type Objects to greatly improve ease of creation/management of DSF Services0.6.0 (2014-04-23)Fixed Python 3.x support with singleton DynectSession instanceFinished implementation of dyn.mm.accountsImproved RTTM supportAdded Zone XFER supportAdded code examples to documentationAdded better Geo TM support including custom Geo Record Type objects0.5.0 (2014-04-07)Added initial pass at Message Management BETA functionalityCleaned up exception raising and general logic involving internal exception handling0.4.0 (2014-03-25)Initial fork of Cole Tuininga’s code baseBegan creation of OO modelsGeneral cleanup of .pyc files0.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 result0.2.0 (2012-05-27)Updated by Cole Tuininga <ctuininga@dyn.com>Minor reorg to make it easier to add the library to PyPI0.1.0 (2011-10-08)Updated by Cole Tuininga <ctuininga@dyn.com>Initial releaseDyn 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.”