././@PaxHeader0000000000000000000000000000003400000000000011452 xustar000000000000000028 mtime=1712145124.0123584 designate-18.0.0/0000775000175000017500000000000000000000000013566 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/.coveragerc0000664000175000017500000000021200000000000015702 0ustar00zuulzuul00000000000000[run] branch = True source = designate omit = designate/tests/*,designate/hacking/* concurrency = greenlet [report] ignore_errors = True ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/.stestr.conf0000664000175000017500000000010200000000000016030 0ustar00zuulzuul00000000000000[DEFAULT] test_path=${OS_TEST_PATH:-./designate/tests} top_dir=./ ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/.zuul.yaml0000664000175000017500000001662500000000000015541 0ustar00zuulzuul00000000000000- job: name: designate-base parent: devstack-tempest nodeset: openstack-single-node-jammy vars: &base_vars devstack_localrc: DESIGNATE_SERVICE_PORT_DNS: 5322 TEMPEST_PLUGINS: /opt/stack/designate-tempest-plugin USE_PYTHON3: true API_WORKERS: 2 devstack_plugins: designate: https://opendev.org/openstack/designate devstack_services: designate: true s-account: false s-container: false s-object: false s-proxy: false cinder: false c-api: false c-bak: false c-vol: false tox_envlist: all tempest_test_regex: | designate_tempest_plugin.* required-projects: &base_required_projects - openstack/designate - openstack/designate-dashboard - openstack/designate-tempest-plugin - openstack/python-designateclient timeout: 4200 irrelevant-files: &base_irrelevant_files - ^.*\.rst$ - ^api-ref/.*$ - ^doc/.*$ - ^releasenotes/.*$ - job: name: designate-base-ipv6-only parent: devstack-tempest-ipv6 nodeset: openstack-single-node-jammy description: | Designate devstack-tempest base job for IPv6-only deployment irrelevant-files: *base_irrelevant_files required-projects: *base_required_projects vars: *base_vars - job: name: designate-bind9 post-run: playbooks/designate-bind9/post.yaml parent: designate-base - job: name: designate-bind9-centos9stream-fips parent: designate-bind9 nodeset: devstack-single-node-centos-9-stream description: | Functional testing for a FIPS enabled Centos 9 stream system pre-run: playbooks/enable-fips.yaml vars: nslookup_target: 'opendev.org' - job: name: designate-bind9-keystone-default-roles post-run: playbooks/designate-bind9/post.yaml parent: designate-base vars: devstack_local_conf: post-config: $DESIGNATE_CONF: oslo_policy: enforce_new_defaults: True test-config: "$TEMPEST_CONFIG": dns_feature_enabled: enforce_new_defaults: True - job: name: designate-bind9-centos-9-stream parent: designate-bind9 nodeset: devstack-single-node-centos-9-stream - job: name: designate-bind9-sqlalchemy-2x parent: designate-bind9 description: | Run tempest tests with main branch of SQLAlchemy, alembic and oslo.db. # The job only tests the latest and shouldn't be run on the stable branches branches: regex: ^stable negate: true required-projects: - name: openstack/oslo.db vars: devstack_localrc: USE_SQLALCHEMY_LATEST: true - job: name: designate-bind9-catalog-zones parent: designate-bind9 vars: devstack_localrc: DESIGNATE_USE_CATALOG_ZONES: true - job: name: designate-pdns4 post-run: playbooks/designate-pdns4/post.yaml parent: designate-base vars: devstack_localrc: DESIGNATE_BACKEND_DRIVER: pdns4 - job: name: designate-pdns4-postgres parent: designate-pdns4 vars: devstack_services: mysql: False postgresql: True voting: false - job: name: designate-ipv6-only-bind9 post-run: playbooks/designate-bind9/post.yaml parent: designate-base-ipv6-only - job: name: designate-ipv6-only-pdns4 post-run: playbooks/designate-pdns4/post.yaml parent: designate-base-ipv6-only vars: devstack_localrc: DESIGNATE_BACKEND_DRIVER: pdns4 - job: name: designate-grenade-common parent: grenade required-projects: - opendev.org/openstack/horizon - opendev.org/openstack/designate - opendev.org/openstack/designate-dashboard - opendev.org/openstack/designate-tempest-plugin - opendev.org/openstack/python-designateclient vars: devstack_plugins: designate: https://opendev.org/openstack/designate devstack_services: designate: true designate-api: true designate-central: true designate-producer: true designate-worker: true designate-mdns: true designate-agent: true designate-sink: true horizon: true s-account: false s-container: false s-object: false s-proxy: false c-bak: false grenade_localrc: BASE_RUN_SMOKE: False tox_envlist: all tempest_plugins: - designate-tempest-plugin tempest_test_regex: designate_tempest_plugin(?!\.tests.api.v1).* irrelevant-files: - ^.*\.rst$ - ^api-ref/.*$ - ^doc/.*$ - ^releasenotes/.*$ - job: name: designate-grenade-pdns4 parent: designate-grenade-common post-run: playbooks/designate-pdns4/post.yaml vars: grenade_devstack_localrc: shared: DESIGNATE_BACKEND_DRIVER: pdns4 DESIGNATE_SERVICE_PORT_DNS: 5322 - job: name: designate-grenade-bind9 parent: designate-grenade-common post-run: playbooks/designate-bind9/post.yaml voting: false - job: name: designate-tox-dnspython-latest parent: openstack-tox description: | Run the Designate unit tests with the latest release of dnspython. irrelevant-files: *base_irrelevant_files vars: tox_envlist: dnspython-latest # Temporary job until SQLAlchemy 2.0 is no longer blocked by upper-requirements - job: name: designate-tox-py310-with-sqlalchemy-2x parent: openstack-tox-py310 description: | Run unit tests with main branch of SQLAlchemy, alembic and oslo.db. Takes advantage of the base tox job's install-siblings feature. # The job only tests the latest and shouldn't be run on the stable branches branches: regex: ^stable negate: true required-projects: - name: github.com/sqlalchemy/sqlalchemy override-checkout: main - name: github.com/sqlalchemy/alembic override-checkout: main - name: openstack/oslo.db - project-template: name: designate-devstack-jobs queue: designate check: jobs: - designate-bind9 - designate-bind9-centos9stream-fips: voting: false - designate-bind9-centos-9-stream: voting: false - designate-bind9-keystone-default-roles - designate-pdns4 - designate-grenade-bind9 - designate-grenade-pdns4 - designate-ipv6-only-pdns4 - designate-ipv6-only-bind9 gate: fail-fast: true jobs: - designate-bind9 - designate-bind9-keystone-default-roles - designate-pdns4 - designate-grenade-pdns4 - designate-ipv6-only-pdns4 - designate-ipv6-only-bind9 - project: templates: - designate-devstack-jobs - openstack-cover-jobs - openstack-python3-jobs - publish-openstack-docs-pti - periodic-stable-jobs - check-requirements - release-notes-jobs-python3 check: jobs: - neutron-tempest-plugin-designate-scenario - designate-tox-py310-with-sqlalchemy-2x - designate-bind9-sqlalchemy-2x - designate-tox-dnspython-latest: voting: false - designate-bind9-catalog-zones: voting: false gate: jobs: - neutron-tempest-plugin-designate-scenario - designate-tox-py310-with-sqlalchemy-2x - designate-bind9-sqlalchemy-2x experimental: jobs: - designate-pdns4-postgres ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145123.0 designate-18.0.0/AUTHORS0000664000175000017500000002662500000000000014651 0ustar00zuulzuul00000000000000Adam Harwell Ade Lee Akihiro Motoki Alex Barclay Alex Monk Alex Schultz Alexander Maretskiy Alexandra Settle Alexandra Settle Alin Balutoiu Alok Jani Andreas Jaeger Andreas Jaeger Andrew Bogott Andrew Ruthven Andrew Spiers Andrey Perminov Angus Lees Anusree Arjun Baindur Artom Lifshitz Atsushi SAKAI Attila Fazekas AvnishPal Ben George Ben Nemec Bertrand Lallau Bertrand Lallau Betsy Luzader Boris Pavlovic Brent Eagles Béla Vancsics Cao Xuan Hoang CaptTofu Cedric Brandily Chandan Kumar ChangBo Guo(gcb) Chaozhe.Chen Charles Neill Charles Short Chris Johnson Christian Berendt Christian Rohmann Clayton O'Neill Clenimar Filemon Colleen Murphy Corey Bryant Cuong Nguyen Dag Stenstad Dai Dang Van Damon Li Daniel Allegood Darshan Sanghani David Rabel Davide Guerri Diana Clarke Dirk Mueller Dmitry Galkin Doug Hellmann Dougal Matthews Dr. Jens Harbott Dr. Jens Harbott Duong Ha-Quang Elena Ezhova Emanuel Andrecut Endre Karlson Endre Karlson Endre Karlson Eric Larson Eric Larson Erik Olof Gunnar Andersson Erik Olof Gunnar Andersson Federico Ceratto Federico Ceratto Federico Ceratto Flavio Percoco Gauvain Pocentek Ghanshyam Ghanshyam Mann Graham Graham Hayes Graham Hayes Graham Hayes Graham Hayes Graham Hayes Guillaume Boutry Gunju Kim Harm Weites Hervé Beraud Hieu LE Hironori Shiina Hoang Trung Hieu Ian Wienand Igor Malinovskiy Ihar Hrachyshka Iswarya_Vakati JC Martin James Li Jan Hartkopf Javier Ramirez Jayce Houtman Jean-Philippe Evrard Jeff Feng Jens Harbott Jeremy Stanley Jesse Pretorius Jimmy McCrory Joe Gordon Joe Harrison Joe McBride John Belamaric John Schwarz Jordan Cazamias JordanP Jorge Niedbalski Juan Pablo Suazo Julien Danjou KATO Tomoyuki Kai Zhang Ken'ichi Ohmichi Kiall Mac Innes Kiall Mac Innes Kiall Mac Innes Kiall Mac Innes Kien Nguyen Kieran Spear Kiran Pawar Kumar Acharya Lance Bragstad Lucky Luigi Toscano Luong Anh Tuan MAnupama Manish Honap Mark Goddard MasayaAoyama Matt Riedemann Matt Thompson Maurice Schreiber Michael Chapman Michael Hood Michael Johnson Michael Krotscheck Michael Still Mike Carden Mimi Mitya_Eremeev Monjurul Hasan Monty Taylor Nam Nguyen Hoai Nate Johnston Naveen Chekuri Ngo Quoc Cuong Nguyen Hai Nguyen Hung Phuong Nguyen Phuong An Nguyen Van Trung Nick Silkey Nicolas Bock Nicolas Bock Nikolay Fedotov Nobuto Murata Ondřej Nový OpenStack Release Bot Patrick Galbraith Patrick Galbraith Paul Glass Pavlo Shchelokovskyy Petr Kovar Pierre Riteau Pradeep Kumar Singh Praveen Yalagandula Rafael Rivero Rahman Syed Rajath Agasthya Rensen Rich Megginson Ritesh Anand Rocky Ronald Bradford Rossen Popov Rudrajit Tapadar Russell Bryant Russell Tweed Ryan Bak Ryan Petrello Sascha Peilicke Scott Solkhon Sean McGinnis Selvakumar S Selvakumar S Sergey Kraynev Sergey Skripnick ShangXiao Sharmin Choksey Shuquan Huang Simon McCartney Slawomir Kaplonski Stephen Finucane Steve Kowalik Swapnil Kulkarni (coolsvap) THOMAS J. COCOZZELLO Takahito Hirose Takashi Kajinami Takashi Kajinami Takashi NATSUME Thierry Carrez Thomas Bechtold Thomas Goirand Thomas Herve Tim Freund Tim Simmons TimSimmons Tin Lam Tobias Urdin Tom Walsh Tony Xu Tytus Kurek Venkata Mahesh Jonnalagadda Victor Stinner Vinod Mangalpally Vu Cong Tuan XieYingYun Yaguo Zhou Yandong Xuan Yasha Bubnov Yatin Kumbhare ZhiQiang Fan ZhongShengping Zhongyue Luo alokmaurya andrewbogott avnish betsy luzader caowei caoyuan caoyue chao liu chenxing chenxing chioleong deepakmourya dekehn dkehn elajkat emmanuel.ankutse eric gaofei gecong1973 gengchc2 ghanshyam gugug hamalq hamza alqtaishat hamzah alqtaishat hardik igor inspurericzhang jacky06 junbo kairat_kushaev keisuke_yamamoto kenichiro matsuda koteswar kpdev leiyashuai likui lilintan lingyongxu liyou01 ljhuang maaoyu maestropandy melissaml michael.dong@rackspace.com michaeltchapman mimi8890 minwooseo naggappan nayna-patel nizam pengyuesheng qinchunhua ravikumar-venkatesan rjrjr rmulugu rrickard saradpatel shanyunfan33 sharat.sharma shihanzhang sonu.kumar stanzgy swetha-chandrasekaran taoguo twm2016 venkatamahesh vishal mahajan wangqi wangzihao wengjiangang wu.chunyang wu.shiming zhang.lei zhangbailin zhangboye zhangdebo zhangyanxian zhangyanxian zhouhenglc Łukasz Jernaś ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/CONTRIBUTING.rst0000664000175000017500000000116400000000000016231 0ustar00zuulzuul00000000000000The source repository for this project can be found at: https://opendev.org/openstack/designate Pull requests submitted through GitHub are not monitored. To start contributing to OpenStack, follow the steps in the contribution guide to set up and use Gerrit: https://docs.openstack.org/contributors/code-and-documentation/quick-start.html Bugs should be filed on Launchpad: https://bugs.launchpad.net/designate For more specific information about contributing to this repository, see the designate contributor guide: https://docs.openstack.org/designate/latest/contributor/getting-involved.html#contributing ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145123.0 designate-18.0.0/ChangeLog0000664000175000017500000037367100000000000015361 0ustar00zuulzuul00000000000000CHANGES ======= 18.0.0 ------ * reno: Update master for unmaintained/xena * reno: Update master for unmaintained/wallaby * reno: Update master for unmaintained/victoria * Add catalog zone support to devstack plugin * reno: Update master for unmaintained/yoga * Removed unused function and improved Zone Master coverage * Add support for catalog zones * Make edgegrid-python optional * Stop using deprecated zake coordination driver * Cleanup Heartbeat Emitter abstraction code * Improve Dyntext coverage and removed unusable code * Update python classifier in setup.cfg * Improved notification unit test coverage * Remove unused validation function * Cleanup cross function / unit imports * Increase minimum test coverage to 97% * Improve Scheduler coverage * Added basic fake network coverage * Improve NS1 test coverage * Improved V2 controller coverage * Improved pool move test coverage * Restructure testing * Increase minimum test coverage to 96% * Add new API for zone move * Add upgrade test coverage * Improved service coverage * Cleanup Central tests * Improved Notifications coverage * Standardized Service unit tests * Improved worker rpcapi coverage * Improve API Controllers coverage * Fix incorrect test IP range being used by zonefiles * Fix occasional failure in Service tests * Cleanup context code * Fix FloatingIP ttl not allowing zero * Improved producer task test coverage * Remove unused rpc calls * Cleaned up rpc loggingutils * Remove unused ZoneLock * Improved Manage coverage * Add missing worker delete\_zone test * Fix RPC tests * Improved dnsutils coverage * Cleaned up quota implementation * Improved MDNS Handler test coverage * Remove executable flag from impl\_dynect.py * Removed Python 2 compatibility bytes handling * Improved Zone Export coverage * Remove executable flag from recordset.py * Improved DNSMiddlware test coverage * Add shard id to zone and recordset representation * Fix Producer shard range ignoring the last shard * Add better get\_ip\_address coverage * Increase minimum test coverage to 95% * Improved coordination coverage * Add basic profiler test coverage * Improved RPC coverage * Improved api root test coverage * Fix config loading in test notifications * Add context hard\_delete coverage * Remove unused base functions * Add charset and engine parameters to alembic create tables * Add basic storage test to test config overrides * Remove devstack support for suse * Fix bug with new zone default values being ignored * Improved adapter base coverage * Increase minimum test coverage to 94% * Improved admin api coverage * Make sqlalchemy-2x tests voting again * Fix producer unit tests occasionally failing * Require correct project context for quota operations * Remove code for oslo.context<4.0.0 * Use super().setUp() for APIv2AdapterTest * Improve object fields coverage and fixed error handling * Fix coverage issues with greenlet * Fix Zuul warnings with regexps * Disable tox sqlalchemy tests until fixed in oslo * Increase minimum test coverage to 93% * Improve worker test coverage * Add RecoverShard test coverage * Standardize all configuration loading * pyupgrade changes for Python3.8+ * Allow base\_uri override for tests * Use test addresses for all unit testing * Improved dynect backend coverage * Increase minimum test coverage to 92% * Remove unused server object * Improved Objects Adapters testing * Improve pdns coverage * Improve bind coverage and fixed minor bug * Add missing newline in mdns release note * Remove python-memcached indirectly used * Remove unused debtcollector * Removed unused storage\_driver config * Removed deprecated mdns config * Drop unused os-win * Improved objects coverage * Add basic NS test coverage * Add basic SOA test coverage * Add clean\_zonefile to BIND9 pool.yaml doc * Fix python shebang * Improve middleware coverage * Add manage tlds test coverage * Add recordset api test coverage * Remove legacy unused devstack code * Add release note about max\_request\_body\_size * Always run all tests when changing default config * Remove deprecated designate-agent * Fix AXFR loop when updating secondary zone * Prevent XFR from being used on PRIMARY zones * Fix bug with designate-manage pool update losing existing record data * Add middleware to limit request body size to api-paste * Update master for stable/2023.2 17.0.0.0rc1 ----------- * Imported Translations from Zanata * Add mysql\_engine and mysql\_charset options to shared\_zones table * Remove non-functional contrib code * Remove unused storage/quota attributes in producer * Raise error if producer configured with no valid tasks * Fix DB upgrade with using SQLAlchemy 2.x * Added simple tldname regex test * Simplify schema implementation * Moved all regexes to constants * Additional recordset validation testing * Added basic PTR Tests * Added basic CNAME Tests * Fix missing oslo.versionedobjects library option * Removed unused object fields code * Simplify test\_purge\_zones to fix race condition * Increase minimum test coverage to 90% * Fix indentation of user documentation code blocks * Add basic SRV record unit test * Add python3.9 support in testing runtime * Use i18n and not gettext for infoblox * Additional infoblox test coverage * Added unit test coverage for verify\_project\_id * Replace blockdiag with graphviz * Cleanup DNS Middleware * Improve DNS Service test coverage * Removed unused code path in sql base * Imported Translations from Zanata * Add a tempest test job with sqlalchemy 2.x * Add job to test with SQLAlchemy master (2.x) * Fix a sqlalchemy 2.x compatibility issue * Imported Translations from Zanata * Fix list zones if shared with multiple projects * Fix TsigKeyring issues with dnspython 2.x * Imported Translations from Zanata * Add docs describing classless PTR delegation * Add basic managed records coverage * Removing old archive code * Update notification handler sample * Update Unit Test README * Use TEST-NET-1 for most unit testing * Fix zone list with system scoped tokens * Re-enable test jobs * Fix zone list/show for shared zones * Fix bug in update\_zone with recordsets * Increase minimum acceptable test coverage * Improve storage unit test coverage * Remove unused find\_zone\_share code * Improve central unit test coverage * Add manage cmd tests * Fix create zone export RBAC * Add cmd tests * Omit hacking from cover * Add basic api wsgi tests * Improve NAPTR support * Restructured SQL code * Refactor managed record logic * Imported Translations from Zanata * Use monotonic time to protect from system time jumps * Clean up test imports * Remove unused test code for coordination * Fix invalid fallback value for BaseAddressHandler * Fix shared zones missing project ID error * Use ids when removing sink managed records * Use ids when removing ptr records * Secondary zone loops AXFR transfer during zone creation * Move to a batch model for incrementing serial * Fix sharing a zone with the zone owner * Update designate for RBAC "direction change" * Removed unnecessary import in sql code * Use SDK instead of neutronclient * Restart neutron on grenade client update * [coordination] backend\_url should be secret * Update for sqlalchemy v2.x compatibility * Removed unsupported test B309 from bandit * Imported Translations from Zanata * Update master for stable/2023.1 16.0.0 ------ * Add hacking check for line continuation backslash * [CI] Reduce workers and disable cinder to save on memory * Remove unused werkzeug requirement * Enable fail-fast on the gate queue * Do not use Docutil's set\_class() * Implement sharing of zones * Fix mdns deprecation warning and minor improvements * Imported Translations from Zanata * Fix dns.resolver import for mdns * Deprecate the agent framework and drivers * Imported Translations from Zanata * Fix missing default for hard\_delete and bump rpc version * Add oslo.policy.enforcer entry point * Imported Translations from Zanata * Use new get\_rpc\_client API from oslo.messaging * Bump minimum dnspython to 2.2.1 for python 3.10 * Workaround issue with dnspython >= 2.3.0 * Fix missing space IllegalChildZone * Make sure proxy\_http is always loaded for devstack * Fix tox4 error * Imported Translations from Zanata * Remove unused get\_migration\_manager function * Fix configuration leak in unit tests * Cleaned up and optimized sqlalchemy base * Update metadata in setup.cfg * Reload Infoblox config after deleting zone * Imported Translations from Zanata * Add basic api version test coverage * Improved Zone Lock coverage * Migrate Designate jobs to run on Ubuntu 22.04 (Jammy) * Add Ubuntu 22.04 CI support * Add option to force delete zone-files in delete API * Imported Translations from Zanata * CI: Move queue configuration into project-template * Fixes compatibility with jsonschema >= 4.16.0 * Remove unicode * Removed unused SQL functions and better coverage * Increase minimum acceptable test coverage * Imported Translations from Zanata * Fix mdns test\_handler setup * Fix minimum versions in requirements.txt * Switch to 2023.1 Python3 unit tests and generic template name * Update master for stable/zed * Imported Translations from Zanata * fix delete-recordset-response.json format 15.0.0.0rc1 ----------- * Fix Redis connection over TLS * Fix compatibility with oslo.db 12.1.0 * Add backend validation and re-factored pool manage * Clean up manage pools and add additional testing * Imported Translations from Zanata * Imported Translations from Zanata * Fix designate-manage pool update MissingProjectID * Add additional backend tests * Validate MX records during recordset create or update * Add basic test for disabling the api * Add basic quotas api tests * Add basic get backend test * Simplified backend unit tests * Sync rootwrap.conf from oslo.rootwrap * Fixed issues with \_\_repr\_\_ and \_\_str\_\_ on objects * Added additional test coverage for adapters * Switch Designate to Alembic database migrations * Remove netaddr module requirement * Re-factored central and rpc decorators * Imported Translations from Zanata * Add a user guide for Neutron/Nova DNS integration * Replace deprecated readfp method with read\_file * Fix sqlalchemy table\_names DeprecationWarning * Fix pecan lookup\_controller DeprecationWarning * Enable cache\_ok on custom sqlalchemy UUID type * Cleaned up and fixed record objects and tests * Validate matching double quotes in TXT recordsets * Cleaned up adapter code * Remove logic for Python < 3.2 * Added additional wsgi app testing * Updated dns message code and tests * Added basic service unit tests * Minmum TTL value is zero * Add simple API versioning to the Designate API * Removed RPC calls from MDNS and moved them to the Worker * Fix FIPS job - nslookup\_target * Update requirements for oslo.context>=4.0.0 * Imported Translations from Zanata * Bump hacking version * Remove invalid use of jsonschema.compat * Do not declare queue at a pipeline level * Check zone\_id in notification\_handler to avoid UUID format issue * Drop python3.6/3.7 support in testing runtime * Fix misleading release note for RBAC changes * Update neutron integration link * Add zone ownership transfer user guide * Fixed incorrect quota exception message * Remove deprecated docs section * Imported Translations from Zanata * Fix issue with mdns rpc and make mdns safer to upgrade * Update zuul queue configuration * Improve quota API validations * Adds api\_ca\_cert configuration variable to pools.yaml * Remove unused render\_template\_to\_file method * Stop double compressing pdns logs * Fix BIND9 log collection * Enable ptr unset tempest test * Remove deprecated and unused MDNS RPC calls * Fixed rare race condition in unit test * Cleaned up agent backend code * Added additional worker unit test coverage * Set a minimum coverage limit * designate-tox-dnspython-latest irrelevant files * Validate worker actions before retrying poll * Minimum TTL value allowed is zero * Drop lower-constraints.txt and its testing * Add a grenade job for bind9 * Switch CentOS jobs over to CentOS 9 Stream * Removing more unused rpc calls * Clarifies the zone import error message * Improved logging and minor cleanup of worker api * Deprecate ineffective [service:api] max\_header\_line * Fix tox docs env to have the correct dependencies * Fix delete zone transfer request with scoped token * Improve quota object coverage * Fix grenade job API startup for uwsgi * Remove unused log hook code * Fix set-quotas for non-project scoped tokens * Remove unused downgrade functions * Add Python3 zed unit tests * Update master for stable/yoga 14.0.0 ------ * Fix zone update when adding new Bind9 target to pool * Add inactive value to floating ip status * Fix Designate for use with oslo.context>=4.0.0 * Make CentOS 9 Stream job non-voting * Checks for invalid denylist regex patterns * Fix grenade job for mod\_wsgi to uwsgi transition * Add proper quota error messages * Fixed incorrect message when zone import failed due to quota * Simplify create zone import implementation * Remove legacy logic for deleting records * Remove unused central code * Fix recordset\_records quota enforcement * Integrate OSprofiler and Designate * Updated status logic to always NOTIFY on change * setup.cfg: Replace dashes by underscores * Fix typo of intro document * Add non-voting dnspython latest release unit test * Fix duplicate zone when creating ptr records * Add a BIND9 job on CentOS 9 Stream * Allow email subadresses to be used within mail url of CAA records * Move context from tenant to project\_id * Fix designate-manage pool update bugs * Fix a typo in the tsigkey policy file * Modernize PTR implementation in Central * Add dig command to devstack instructions * Fix API reference for service statuses * Add RBAC policy admin guide * Updating python testing classifier as per Yoga testing runtime * Fix support for scoped tokens and default roles * Improve wording for validation error messages * Add hacking check D710 for LOG.warn() * Fix dns.query.tcp/udp not always handling ipv6 properly * Remove LOG.exceptions from \_\_call\_\_ * Fix apache wsgi config for CentOS * Fix test\_dispatch\_opcode\_update unit test * bump py37 to py3 in tox.ini * Enable H306 check and fix import ordering * Deprecate parameters of SSLMiddleware * Run neutron integration job in gate * Revert "Move back to mod\_wsgi for devstack" * Add fips jobs * Allow TXT record over 255 characters if split * Fix race condition in the sink when deleting records * Remove Akamai (eDNS SOAP API) backend * Fix test failures with dnspython>=2 * Update Quotas documentation * Imported Translations from Zanata * Remove references to sys.version\_info * Add Python3 yoga unit tests * Update master for stable/xena 13.0.0 ------ * Zone import and export documentation * Fix count\_record policy to use the right deprecation variable * Fix typo in the find\_pool deprecated rule * Fix typos in zone policy deprecations * Fix update blacklist policy deprecation * Imported Translations from Zanata * Replace deprecated assertDictContainsSubset * Add missing [oslo\_reports] options * Replace deprecated assertRaisesRegexp * Fix grenade upgrade API check URL path * Fix doc building for sphinx 4.x * CERT DNS records * Fix oslo policy DeprecatedRule warnings * Replace md5 for fips * Improvements to zone blacklist doc * Cleanup scheduler * Remove six * replace whitelist\_externals by allowlist\_externals * Support filtering on zone import/export list * Add simple scheduler permutation tests * TLD Doc update * Changed minversion in tox to 3.18.0 * Re-enable the tempest scenario jobs * Fix migration for sqlalchemy 1.4 * Add user doc for managing recordsets * Fixed a potential circular dependency * Moving to OFTC * setup.cfg: Replace dashes with underscores * Add user doc for managing zones * Imported Translations from Zanata * Add Python3 xena unit tests * Update master for stable/wallaby * Fix API reference for list service statuses 12.0.0 ------ * [goal] Deprecate the JSON formatted policy file * Add NS1 backend * New Doc intro section * Fix lower-constraints * Add template for testing review or branch * Remove unused notification handler config from central * Implement secure RBAC for zone transfer requests * Implement secure RBAC for zone transfer accepts * Implement secure RBAC for zone imports * Implement secure RBAC for zone exports * Implement secure RBAC for zones * Implement secure RBAC for tsigkeys * Implement secure RBAC for top-level domains * Implement secure RBAC for tenant policies * Implement secure RBAC for service status * Implement secure RBAC for recordsets * Implement secure RBAC for records * Implement secure RBAC for quotas * Implement secure RBAC for pools * Implement secure RBAC for blacklists * Add useful common policies to base.py * Bump minimum version of oslo.policy to 2.1.0 * Bump minimum version of oslo.log to 4.3.0 * Add timeout to rndc commands * Update requirements URLs in tox config * Imported Translations from Zanata * Drop deprecated tail\_log function from devstack plugin * Be explicit about the coordination URL * Work around broken json parsing in latest pygments * requirements: Drop os-testr * Fix resource links in API endpoints * Fix lower-constraints test not constraining properly * Remove the unused coding style modules * Add Python3 wallaby unit tests * Remove unnecessary lower constraints * Imported Translations from Zanata * Imported Translations from Zanata * Increase lower-constraint for kombu * Fix pool update with duplicate masters * Fix pdns4 devstack plugin * Update master for stable/victoria * Remove install unnecessary packages 11.0.0 ------ * Move back to mod\_wsgi for devstack * Fix l-c testing for ubuntu focal * fix database sync always get the wrong value * Add link to openstack client commands in cli doc section * Native Zuul v3 designate-grenade-pdns4 job * Fix multi messages AXFR with TSIG * Remove Babel from lower-constraints * Update zones masters using pool target masters * Add a /healthcheck middleware * Imported Translations from Zanata * Fix inspect module deprecation warning * Remove broken and outdated related doc page * Remove translation sections from setup.cfg * Imported Translations from Zanata * Imported Translations from Zanata * [part1]:Remove six * Fix uwsgi path * Use unittest.mock instead of mock * Stop to use the \_\_future\_\_ module * Add CLI examples to user section * pdns4 backend: check if zone exists before attempting delete * Add examples using the OpenStack CLI * Fix some spelling * Use unittest.mock instead of third party mock * Imported Translations from Zanata * Switch to uwsgi as default for devstack * Cap jsonschema 3.2.0 as the minimal version * Add py38 package metadata * Imported Translations from Zanata * Switch to newer openstackdocstheme and reno versions * Fix hacking min version to 3.0.1 * Adding the option to set the zone quota to unlimited * Update contributor docs * Fix issues with newer flake8 * Switch to dnspython package * Fix designate-sink shutdown issue * Imported Translations from Zanata * Monkey patch original current\_thread \_active * Add Python3 victoria unit tests * Update master for stable/ussuri * Simplify Coordination implementation * Fix slow zone imports 10.0.0.0rc1 ----------- * Imported Translations from Zanata * Imported Translations from Zanata * Community Goal: Project PTL & Contrib Docs Update * Imported Translations from Zanata * Imported Translations from Zanata * Adding distributed locking to central * Stop setting version specific basepython binaries * Cleanup py27 support * Update hacking for Python3 * Clean up api middlewares * Fix issue with neutron\_api tests * Imported Translations from Zanata * Re-factored Heartbeat implementation * Cleanup docs building * Update the Akamai DNS Driver matrix information * Make the postgres job experimental * Use Tempest 'all' tox env * Remove unused legacy playbooks * Drop setcap on python binary * Drop use of USE\_SYSTEMD var in devstack plugin * Fixing services getting stuck on shutdown * Implement create/delete zone for Akamai v2 API * Fixed neutron endpoint override * Improve sink recordset creation * Imported Translations from Zanata * Updated reno for dropping Python 2 support * Simplified network api implementation * Don't use hasattr to lazy-load properties * [ussuri][goal] Drop python 2.7 support and testing * Delete removed dashboard panel when upgrading * Removed unused SSLMiddleware * Clean up pecan Request patching * Move pecan\_debug into cfg section * Remove broken target sync extension * Run grenade old side with python3 * Don't install Horizon as part of the upgrade test * Make designate reproducible * Renamed enable\_host\_header by default reno * Fix api version not providing the full url * Switch to Ussuri jobs * Remove wsgi eventlet monkey patch * Switch to apache for designate-api * Enable graceful shutdown of mdns * Don't install v1 dashboard panel * designate-manage pool update --dry-run not should pass argument * fix Secondary zone can not xfr * fix ListObjectMixin.\_obj\_from\_primitive bug * Updated Readme * Drop use of DESIGNATE\_AUTH\_CACHE\_DIR * Reduce log spam from coordinator * Update devstack to use workers * Update master for stable/train 9.0.0 ----- * Experimental wsgi support * fix call obj\_reset\_changes with recursive=True raise error * Set enable\_host\_header in documentation * Removed deprecated powerdns 3 driver * Removed deprecated pool-manager implementation * Refactored service layer * fix get the name servers for a zone not validate zone\_id * Add missing RabbitMQ configuration to install guides * Build man pages for the commands that are documented * Make IPv6 jobs voting * Add pdf-docs env to tox.ini * Adjusted default heartbeat interval and renamed file * Only log zone not found when notifing * Only log unexpected rndc errors * Fix bug in recordset status * Standardizing install guides * Updated install guide * Blacklist eventlet 0.21.0,0.23.0,0.25.0 * Fixed error in install guide * Fixed broken kolla install link * Skip grenade jobs on Release note changes * Updated Release notes for Train * Fix ipv6 bugs with devstack and pdns4 driver * Docs: Fix broken links and make more robust * Add non voting ipv6 only jobs * Fix missing \_static folder breaking gate * Ensure coordination IDs are encoded * Drop creating extra endpoints in devstack * Fixing 404 link * Use zone.tenant\_id when context.project\_id is None for pdns3 * Blacklist sphinx 2.1.0 (autodoc bug) * Use zone.tenant\_id as tenant if context.project\_id is None * Update api-ref location * Cleaned up mdns handler and added better test coverage * Improve log message for better understanding * Bump to hacking 1.1.0 * Fix postgres job and make it non-voting for now * Fixed akamai default wsdl path * Add some additional logging for failing task test * Remove unused code in utils and improved utils testing * Change configuration to be consistent with underlines * Rewrote bind9 backend unit tests * Add Python 3 Train unit tests * Moved test\_context to designate.tests.unit * Removing manage command for akamai backend * Update vagrant config * Improved CAA record test coverage * Improved worker test coverage * Only register dynamic pool options when running designate-manage * Fixed oslo deprecated warning when running devstack * Finalized centralization of configuration * Improving test coverage of designate backend * Fixed renaming topic breaking service * Fixed issue with documentation breaking CI * Updated context to use project\_id * Added config opts unit tests * Added sink unit tests * Simplified metrics implementation * Modernized agent tests * Modernized dnsutils tests * Modernized mdns tests * Renamed unit.test\_api to unit.api * Moved most configuration into designate.conf * Remove KS v2 support and add region support * Removing unused code and updated unit tests readme * Fix api-ref building * Adding basic socket tests and fixed a typo * Modernized backend tests * Modernized pool manager tests * Modernized scheduler tests * Modernized object tests * Lazy-load PowerDNS 4 logs + cleaned up tests * Modernized producer tests * Modernized workers tests * Added PowerDNS 4 unit tests * Fixed typo in PowerDNS tests * Added basic synchronized\_zone tests * Don't bind to tcp/udp when running unit-tests * Clean fix for bandit exclusions change * Cap to sphinx 2.0.0 on Python 2.7 * Clean up zone locking * Blacklist Bandit 1.6.0 due to directory exclusion bug * Update Python 3 test runtimes for Train * Designate service\_statuses is not working * Remove unused debug code * Ensure pdns4 driver is consistent with other drivers * Replace git.openstack.org URLs with opendev.org URLs * OpenDev Migration Patch * Dropping the py35 testing * Replace RCPDispatcher with decorator * Update Driver statuses * Added missing service\_statuses metadata * Switch to using project\_id for network\_api * Modernize tox * Fix DBDeadLock error resulting into 500 * Update Zuul Jobs * Check TXT/SPF records for RFC1035 sec. 5.1 * Replace openstack.org git:// URLs with https:// * Allow pdns4 backend to select tsigkey * Fixing stevedore warning when running devstack * Update master for stable/stein * Update json module to jsonutils 8.0.0 ----- * Allow non localhost connections to pdns api * Modernized RPC impl and fixed service tests * Set worker model to be the default * Add devstack VENV build support * Setup designate with default zones quota * Make unit-testing more robust * Use oslo\_serialization instead of the json module directly * nit: remove downgrade methods and add release note * Fix the child search logic during zone deletion * Drop python3.5 job after switching to Bionic * Fix test failures for new dnspython module * Add designate-status command for upgrade checks * Imported Translations from Zanata * Change openstack-dev to openstack-discuss * Fix the record\_types for CAA and NAPTR * Imported Translations from Zanata * Imported Translations from Zanata * Add blueprint in README.rst * Imported Translations from Zanata * CAA DNS records * NAPTR DNS records * Imported Translations from Zanata * Standardize colorized logging * Replace deprecated "decodestring()" * Add openstack-python37-jobs template * Move to GreenThreadPoolExecutor * Increment versioning with pbr instruction * Update sphinx extension logging * Don't quote {posargs} in tox.ini * Fixing RabbitMQ gate timeouts * Add top-level CLI reference page in docs * Fix venv target for creating release notes * Imported Translations from Zanata * Imported Translations from Zanata * Fixing Python 3.x issues introduced with eventlet update * Imported Translations from Zanata * Use templates for cover and lower-constraints * Improve configuration guide * Check the project zone quota when accepting zone transfer * Update link tags in README * Remove install-guide-jobs * Add docs for project-id verification feature * Remove -u root as mysql is executed with root user * Update links in README * switch documentation job to new PTI * import zuul job settings from project-config * Removing removed bandit plugins to fix gate * Imported Translations from Zanata * Update reno for stable/rocky 7.0.0 ----- * Imported Translations from Zanata * Worker should send NOTIFY also to all servers in 'also\_notifies' pool settings * Simplify olso.log setup * Make update\_status use synchronized\_zone * Change Bad Action from a traceback into a warning 7.0.0.0b3 --------- * Enable mutable config in designate * Reenable py3.6 tempest jobs + add py36 tox * Removed deprecated managed option in notification handler * Set py36 gate non voting * Replace use of os.errno.\* with errno.\* * Replace StopIteration with return for PEP 0479 * Remove testrepository * Replace testr to stestr * Added CONTRIBUTING.rst file to the project * Don't run tempest jobs when patching releasenote * Verify project-id when setting quota * Allow newer versions of Flask * Use listener pools in designate-sink * Init config before service start * Fix systemctl command in Ubuntu installation guide * Imported Translations from Zanata * Document --record instead of --records * [Docs] Fix the incorrect designate service name * Switch to oslo\_messaging.ConfFixture.transport\_url 7.0.0.0b2 --------- * fix tox python3 overrides * fix a typo in code * Switch to using stestr * Ensure the old files before build * Allow to check pep8 along with D000 * Add unique constraint to service\_statuses * Fix contents render for notification.rst * Replace Chinese punctuation with English punctuation * Start replacing designate legacy jobs * Make Neutron integration job voting * Change copyright information for field.py * Add release notes link to README * fix a typo: s/extention/extension 7.0.0.0b1 --------- * uncap eventlet * Ensure we do not pass invalid data for A records * Update auth\_uri option to www\_authenticate\_uri * Move pep8 checks to py3 by default * Replace deprecated LOG.warn with LOG.warning * Updated from global requirements * Follow the new PTI for document build * Updated from global requirements * add lower-constraints job * Updated from global requirements * Fix policy name * Updated from global requirements * Remove translation of log messages * Updated from global requirements * Updated from global requirements * Do not filter pools by attributes when non are provided * Imported Translations from Zanata * Updated from global requirements * Updated from global requirements * Removing downgrade commands * Resolve get\_dns\_view error after selecting multi-tenant view * Add os-testr in test-requirements.txt * Updated from global requirements * Updated from global requirements * Imported Translations from Zanata * Migrate object to OVO (7) * Migrate object to OVO (6) * Migrate object to OVO (5) * Migrate object to OVO (4) * Migrate object to OVO (3) * Migrate object to OVO (2) * Migrate object to OVO * Remove empty files * Remove install-guide tox env * Keep NS records for subdomains during Zone import * Skip grenade job on irrelevant changes * Fix unicode not define in doc with py3 * Updated from global requirements * Remove Hacking check for log translation * Updated from global requirements * Imported Translations from Zanata * Add sample\_default for pybasedir in \_\_init\_\_.py * Update reno for stable/queens 6.0.0 ----- * Fix typo * Imported Translations from Zanata * os-loganayze fix * Correct link address in docs * Zuul: Remove project name * Updated from global requirements 6.0.0.0b3 --------- * Updated from global requirements * Remove use of unsupported TEMPEST\_SERVICES variable * Use secure random to generate transfer key * Make requirements voting again, update .zuul.yaml * Updated from global requirements * Updated from global requirements * Remove the deprecated "giturl" option * Remove v1 API * Run neutron-tempest-plugin-designate-scenario job * PyMySQL 0.8.0 compat fix * Imported Translations from Zanata * Update deletion date for (zone|pool)-manager * Updated from global requirements * Updated from global requirements * Remove debug line from grenade plugin * Remove sample config from setup.cfg 6.0.0.0b2 --------- * Updated from global requirements * Make designate.conf reproducible * Remove unneeded requirements file * Remove partial sample config * Update CI Jobs * Docs Refactor * Add zone 'attributes' to api-ref * Update installation docs * Enable worker and producer by default in devstack local.conf * Update .gitignore * Fix running gate jobs * Enable worker and producer by default in devstack * Update to correct status tables * Migrate to Zuul v3 * Fix servicing IPv6 based TCP connections * Add validation to improve pep8 check for designate project * Revise the Installation Guide structure * Remove setting of version/release from releasenotes * Updated from global requirements * Update devstack.rst * Add kolla installation guide * Update PTR Record example * Updated from global requirements * Imported Translations from Zanata * Update the description of pool-2 in multiple-pools.yaml * Show the correct ptr record instead of the first one * Improve powerdns pools in yaml file * Add pools.yaml.sample-infoblox file * correct LOG.warning args in object\_manipulator.py * Use oslo.context from\_dict unmodified * Imported Translations from Zanata * Updated from global requirements * Imported Translations from Zanata * Add Docs for the policy in code work * Imported Translations from Zanata 6.0.0.0b1 --------- * Remove explicit lockdown of flake8 * Implement policy in code (4) * Implement policy in code (3) * Implement policy in code (2) * Implement policy in code (1) * Imported Translations from Zanata * Remove SCREEN\_LOGDIR from devstack * Don't attempt to escalate designate-manage privileges * Copy all dashboard panel files in devstack install * Update gitignore list * Check for multi level tlds * Use generic user for both zuul v2 and v3 * Ignore .stestr/ * Updated from global requirements * Remove user\_identity dummy param from context * Call base from\_dict in DesignateContext * Cleanup test-requirements * Dev docs cleanup * Update vagrant boxes * Include all rootwrap filters when building wheels * Update tests to fix gate * Updated from global requirements * Move default DNS driver to bind9 * Updated from global requirements * Updated from global requirements * Delay rpc initialization until config is available * Skip test failing after oslo.messaging update * Fix broken /developer/ links * infoblox backend multi\_tenant always return true, because the value of multi\_tenant is a unicode 0 * Replace DbMigrationError with DBMigrationError * Update docs formatting * Updated from global requirements * Stop creating admin and internal endpoints in devstack plugin * Fix tls startup in devstack plugin * Fix to use "." to source script files * writing convention: do not use “-y” for package install * Updated from global requirements * Improving the designate topology * Remove unused cfg import and fix uuid format in test-case * Imported Translations from Zanata * Update reno for stable/pike 5.0.0 ----- * Improve and update docs * Improving auto-genconfig for producer cfg * Fix a integrations doc link * Change correctly producer-task conf * Updated from global requirements * use oslo\_utils.uuidutils module * doc: Populate the 'install' section * doc: Populate the 'configuration' section * Fix AXFR queries under py3.5 5.0.0.0b3 --------- * Updated from global requirements * Updated from global requirements * Remove deprecated cfg in notification and add format-v6 test * Updated from global requirements * Update the documentation link * Update URLs in documents according to document migration * Auto-generate designate.conf.sample via genconfig testenv * use the same command for 'docs' env build as CI uses for real doc builds * complete the migration from oslosphinx to openstackdocstheme * rearrange existing documentation according to the new standard layout * Fix task tests under py3 * Fix pool tests in py3 * Make central service tests py3 compatible * Eliminate annoying oslo.messaging timed out message * Fix missing database privileges and config references * Updated from global requirements * Stop using deprecated 'message' attribute in Exception * Improving cover testenv * Optimize the link address * Improving check warning build\_sphinx * Fix missing format of impl\_infoblox config file * Updated from global requirements * Remove unnecessary setUp function in testcase * Remove .testrepository/times.dbm * Return PoolList as a right list object * Fix UUID and String value in test\_pool * Improve testcase * Fix issue with value in nsd4 and powerdns test-case * Fix wrong Tld name * Fix issues with value pool-manger and bind9 tests * Fix issue with 'priority' value in pool\_ns\_record * Updated from global requirements * Add 'DELETED', 'NO\_ZONE' and 'SUCCESS' status for objects * Fix doc generation for Python3 * Ensure TTL is not 0 for zone imports * Make the Zone object py3 compatible * Fix remaining API tests under python3 * Fix testcase with ttl value * Add '.' into zone format in \_build\_zones method * Fix mistaken object * Updated from global requirements * Unskip and fix handler tests in py3 * Updated from global requirements * Fix agent unit tests on py3 * Fix test notification driver configuration * nova/neutron format integration is failed * Remove usage of parameter enforce\_type * Trivial fix typos while reading doc * Updated from global requirements * Blacklist python 3 UT because of eventlet bug * Remove unused variable * Remove old oslo.messaging transport aliases * Unskip py3 tests that depend on eventlet 0.21.0 * Fix wrong usage of producer interval type in UT * Trivial fix pep8 and typos * Updated from global requirements * Unskip py3 tests that no longer fail * Enable posargs for the py35 tests * Refactor NSD4 UT for using upstream eventlet * [docs] Rearranges index.rst to build nicer with the theme * Move RPC topics which hard-coded in Designate project * Fix some reST field lists in docstrings * Fix zone creation example in install guide * Fix pools.yaml examples in install guide * Add instructions for SUSE to install guide * Updated from global requirements * Add SOA to RECORD\_TYPES in sqlalchemy.tables and remove eventlet constraint 5.0.0.0b1 --------- * Make Pools documentation better * Switch to the OpenStack Docs Theme * [install-guide] Add install-rdo * Remove usage of option 'verbose' * Use https instead of http for git.openstack.org in designate * [docs] Add missing upgrade guides * Indicating the location tests directory in oslo\_debug\_helper * Updated from global requirements * Move docs to tempest plugin repo * Actually write out tempest config file * Remove old functional tests * New Docs toctree * Bump hacking to new required version * Change 'tocreate' to 'to create' * Updated from global requirements * [doc] Update Ubuntu dev environment doc * Updated from global requirements * Update Architecture Doc * Updated from global requirements * [docs] Merge Developer Guidelines into Getting Involved page * Add basic information on sink + neutron * Point Users at the main install guide site * Remove old docs content * Add note for running designate-tempest-plugins * load default pool from storage * fix \`tox -e docs\` errors * Remove a py34 environment from tox * Turn off V1 API by default * pool not pools * Updated from global requirements * Install Guide Plugin * Added in doubt default pool filter to scheduler * Fix broken grenade gate * Updated from global requirements * Fix warnings in api-ref * Update reno for stable/ocata 4.0.0 ----- * Add warning message to akamai driver * Do not send DNS queries against hostnames * Validate NS records on a pool during an update * Allow for zones / pools with no attributes * Use exit code 1 for failed designate-manage pool commands * Switch to decorators.idempotent\_id * Fix noop metrics timed decorator 4.0.0.0b3 --------- * Updated from global requirements * Make notifications pluggable * Use the oslo\_utils address parser * Make exception catching more python3-ish * Updated from global requirements * Use designate.utils.generate\_uuid instead of str(uuid.uuid4) * change from domain to zone at configfile * DOC Remove a couple of repeated words * Fix a typo in designate/worker/tasks/zone.py * Updated from global requirements * [api-ref] fix create zone export endpoint * Fix typo in upgrade doc * Use tenacity instead of retrying * The usage of LOG mismatch in the code * [backend:akamai] fix retrieval of tsig\_key\_name 4.0.0.0b2 --------- * Remove lowercase constarint for pgsql * Use modules for import not objects * Updated from global requirements * Add pGSQL support for pdns4 driver in devstack * Fix grenade to use the driver specified in the gate * Update Devstack plugin * Set import exceptions in tox.ini configuration * Show team and repo badges on README * Add v6 support in \_get\_ip\_data * Fix a typo in parameters.yaml * Fix DB migration with postgresql * Updated from global requirements * Updated from global requirements * Updated from global requirements * Fix noop client getters * [api-ref] add optional zone create parameter 'masters' * Remove tests ported to tempest plugin * Fix typo * Switch stats client import to use oslo\_utils * cors: update default configuration in config * Updated from global requirements * Follow up - removing old dirs + config * Remove the method \_dispatch in rpc * Don't include openstack/common in flake8 exclude list * Add noop metrics client * Remove Oslo Incubator Code * Updated from global requirements * fix link to docs.openstack.org in release notes for mitaka * [Trivial] Fix some typos in designate * Fix unit tests for oslo.config 3.18.0 * Fix for allowing user to create zone other than ending with TLD * Update .coveragerc after the removal of respective directory * Fix Mitaka Upgrade Doc * Changed the home-page link * Use ConfigParser instead of SafeConfigParser * Updated from global requirements * Fix a typo * Updated from global requirements * Enable release notes translation * Updated from global requirements * Remove vim header from source files * Fix typo a-an, than-then, wrong character case * Fix typos in models.py & bind9.filters * Updated from global requirements * Infoblox: Reverse lookup zone creation fails * Fix for the exception on creating secondary zone * Add API description for deleting zone export record to api-ref * TrivialFix: Remove default=None when set value in Config * Using sys.exit(main()) instead of main() * Trivial: Remove vim header from source files * Remove Routes from requirements * api-ref v2 recordset: document X-Designate-Edit-Managed-Records header * Updated from global requirements * Fix typos in zone.py & pools.rst & scheduler.rst * Update reno for stable/newton 3.0.0.0rc1 ---------- * Some typos need to be fixed * Updating the sample handler to be compatible with mitaka/newton * Add PowerDNS 4 driver * Updated from global requirements * RC1 Relnotes * delete python bytecode including pyo before every test run * Resolve description parameter in v2:set floating ip * Add Monasca-statsd metric generation * [api-ref] Remove temporary block in conf.py * Fix Grenade Gate * Infoblox backend:Fixed sslverify value from option * Change PATCH method to PUT for recordset update in api-ref * Config logABug feature for Designate api-ref * Add name parameter to recordset create request description * Replace POST with PATCH in api-ref for set floatingIP's ptr record * Remove recordset tests migrated to designate\_tempest\_plugin * TrivialFix: Remove cfg import unused * Clean imports in code * TrivialFix: Remove logging import unused 3.0.0.0b3 --------- * Fix ZTA API to prevent HTTP 500 upon empty body * Add api-ref dropdown * Worker Model * Updated from global requirements * Remove white space between print and () * Minor cleanup * Add support for Microsoft DNS Server backend * Use upper constraints for all jobs in tox.ini * Updated from global requirements * Get ready for os-api-ref sphinx theme change * Fix recordset changes so that they preserve object changes fields * Updated from global requirements * Replace assertEqual(None, \*) with assertIsNone in the tests * Cleaned up notification\_handler/base.py * Fix typo 'leve'->'level' * Remove unnecessary \_\_init\_\_ from functionaltests * Use tempest.lib instead of tempest-lib * Improve performance of recordsets API * Replace assertDictEqual() with assertEqual() * Language fix 'imports' to 'exports' * Fix SSHFP validation for ECDSA, ED25519, and SHA256 * Updated from global requirements * Fix api-ref methods for getting, updating and deleting recordsets * Revert 372057bddb27716acd42a88591552a8dee7b519b * Fix some typo in the files * Change bind -> bind9 in docs, sample configs * Fix recordset changes so that they preserve object changes fields * Add DESIGNATE\_AGENT\_BACKEND\_DRIVER to devstack sample conf * Fix typo in tempest.rst * Python 3: dict.itervalues() * Typo in mitaka.rst * Python 3: dict.iteritems() * Documentation fix up * Remove unused LOG * different-format-for-ipv4-and-ipv6 * Updated from global requirements * update doc index, add ops FAQ and notifications * Grenade Plugin * Docs for working with multiple pools 3.0.0.0b2 --------- * Don't hardcode options we pass to oslo.context * Correct reraising of exception * Consolidate How Tos and add Admin How Tos * Added docs for Floatingip ptr records to api ref * Update UUID type for py3.5 compat * Add Python 3.5 classifier and venv * Add gdnsd backend * Updated from global requirements * Updated from global requirements * Add v2/quotas * Updated from global requirements * Fixes log statement typo in coordination.py * Fix typo in designate-manage.rst * Fixing several typos * Fixing typo availible->available * Updated from global requirements * Add missing zake lib to t-r * zone\_name is null in zone trasfer request response * Updated from global requirements * Fix Invalid UUID error message to make it consistent with others * Add test cases for GET /v2/zones/tasks/transfer\_accepts/ * Add missing parameters to docs of zone\_ownership\_transfer\_accept * Catch duplicate db inserts in powerdns plugin * Add docs for SSHFP, SRV, SPF and MX recordsets to api-ref * Updated from global requirements * Fix output of datetime objects in API * Add API for listing zone transfer accepts * Fix 'Duplicate explicit target name' error in 'tox -e docs' * Remove unneeded renames in v2 Adapters * Move APIv2 Docs to api-ref site * Remove migrated "unauthed" functional tests * Remove migrated negative tests for pools, tlds, blacklists * Ensure HTTP 204 responses have 0 Content-Length * Add docs for zone ownership transfer\_accept API * Updated from global requirements * Removed erronous extra file * Updated from global requirements * Add etc/designate/\*.yaml to .gitignore * Only load Suds when using Akamai backend * Add centos7, remove Fedora Vagrant VM * Add Blacklist to api-ref docs * DOC: Minor grammar and typo fixes * Fix typo in Docs * Updated from global requirements 3.0.0.0b1 --------- * Updated from global requirements * Add "project-id" to rrset API output * Make registering error handlers compliant with Flask 0.11 * Fix parameters.yaml order * Support binding to IPv6 addresses in UDP sockets * Updated from global requirements * Fix tsig param names * Docs update to make it consistent with other docs * remove verbose option in devstack plugin * Updated from global requirements * DOC: Update Ubuntu developer environment doc * Add Wily and Xenial devstack VMs * Support binding to IPv6 addresses in TCP sockets * Cleanup rndc backend * Modify assert statement when comparing with None * DevStack: Support setting default quotas * Updated from global requirements * Enable v2/recordsets API for tempest plugin * Imported Translations from Zanata * Add djbdns backend * Refactor UDP query handling, add tests * Catch all exceptions in PM's call to get\_pool() * Fix typo * Improve response codes display in api-ref docs * Support TCP connection pipelining * Updated from global requirements * Roll up migrations to start from liberty * Removing cruft from before os-api-ref was a lib * Fix Optional Tag for X-OpenStack-Request-ID * Partitioner - Rety on failure to get members * Add Tsigkey to api-ref docs * Ensure L to M DB migrations correctly inspect current DB state * Fix a typo. their -> there * Updated from global requirements * Remove test cases which are moved to designate\_tempest\_plugin * Add Tld to api-ref docs * Fix gate trying to use u-c for api-ref * Resolve incorrect description and response codes in api-ref docs * Integration/stress test using a simulated network * DevStack: Set tempest nameservers config option correctly * Add a style guide * Add Knot DNS backend * Remove zone import and export client methods + tests * Add explanation of connection string in pdns sample\_yaml\_snippets * Updated from global requirements * Add "/" to API-Ref Docs * Add Pools to API-Ref Docs * Add Limits to API-Ref Docs * Update devstack dashboard+client clone+install method * Add Zone Transfer Request + Accept API-Ref docs * Add Zone Tasks, Export and Import API Docs * Add Recordset to api-ref docs * Start Designate API-Ref style documentation * Ensure services shutdown during unit testing * Skip zone import count test, reenable pool tests * Type checking in pool manager target sync * Docs Update * Remove tempest plugin from non-tempest gate * Remove more tests migrated to tempest plugin * Updated from global requirements * Update Designate Architecture document * Expose /v2/recordsets api endpoint * Fix rrset serialization, improve mdns tests * Move bandit job to voting * Trivalfix of option name in designate.conf.sample * Enable V2 API as default * Support both olso.m v4 and v5 * Fix the memory of the VM in VirtualBox * Typo fix * Migrate service\_statuses table charset to UTF8 * Fix the service\_status objects \_\_str\_\_() output * Move heartbeat emit log messages to TRACE * Remove msdns from the drivers list * Fix parameterized class decorator * Fix \_get\_listen\_on\_addresses to handle port 0 * Consolidate default port numbers into utils.py * Support multiple API and mDNS listen address pairs * DevStack: Allow disabling of API versions * Return early from \_find\_recordsets\_with\_records * Skip Pools APIv2 tests * Added attribute filter to scheduler * Fix service\_status docs page * Remove execute privilege of designate/backend/impl\_bind9.py * Updated from global requirements * Add descriptions * Minor documentation fix * Add setup\_ubuntu\_devstack * replace logging with oslo.log * Add exception description, minor cleanup * Allow api\_export\_size to be updated * Improve exception handling, add comments * Remove contrib/tempest, as they have moved to the tempest plugin * Add Decorator to log RPCAPI Calls * Use upper-constraints.txt for tox tests * Move DNS OPCODEs/Classes into private\_codes.py * Fix data filtering with pagination * Added "experimental" status for backends * Updated from global requirements * Set default sslverify value to True * Ubuntu dev doc updates * Removed old tooling for ks CLI * Changed the spelling of command in sample file * Add missing response codes in V2 API's doc * Remove tests moved to tempest * Add Agent DevStack Backend * Fix all doc warnings and enforce clean docs * Moved doc file and releasenote from service\_status * Updated from global requirements * Update tempest docs re scenario and slow tests * Vagrant: Suppport local devstack / tempest clones * Add support for getting Service Status * Update bandit.yaml + fix failing test * Updated from global requirements * Remove workaround for bug #1467907 * Add Tempest Plugin to DevStack Plugin * Refactor central/service and others * Refactor pool and pool\_manager attribute update * Add Designate Tempest Docs * Resolves metadata field output on rest call to zone import and export * Give better error messages for zone imports * Define context.roles with base class * Update vagrant local.conf for rally DS plugin * Give proper ERROR for too large exports * Move successfull policy checks to trace * Add Memcached documentation * Remove pool config from sample config * Make cache\_result safer to use * Add Enhanced Logging to APIs * Updated from global requirements * Handle async Tooz calls appropriately * Docs update for zone import and export * Updated from global requirements * Better organize the tox.ini passenv vars 2.0.0 ----- * Adding v2 namespaced event to zone manager * Adding v2 namespaced event to zone manager * Do not log pool-manager-caches SQL transactions * Added "view" option to bind9 rndc options * Partitoner references invalid exception class * Docs update * Run the cli functional tests in openstack ci * Add placeholders for Mitaka DB Backports * Update config samples to show Identity v3 params * devstack: compile message catalogs during stack.sh * devstack: compile message catalogs during stack.sh * Partitoner references invalid exception class * Adds missing metadata section to API docs * Added "view" option to bind9 rndc options * Do not log pool-manager-caches SQL transactions * Update reno for stable/mitaka * Update .gitreview for stable/mitaka 2.0.0.0rc1 ---------- * Log zone serial on fetch and update * Enable use of Pools YAML * Add New Pools DB Tables and Code * Default to not logging all SQL Quries made during a test run * DevStack: Explicitly install libcap2-bin and don't fail without AA * Documentation changes for Admin API Quotas page * Add release note for not allowing .json on urls * Avoid logging tracebacks for EAGAIN errors * Fix devstack/fedora/bind9 support * Add scheduler for pools * Switch get\_serial\_number logging to debug * Do not allow GET /resource.json * Fix \_find\_masters + unit tests * Replace deprecated LOG.warn with LOG.warning * Strip "\n" character from result * Move zone masters to a new table * Cleanup unused Oslo Incubator \_i18n * Added "expected" to OverQuota Exceptions * Add warning to devstack/README.rst * Updated from global requirements * Fix for TCP connections not sending full content * Moved CORS middleware configuration into set\_defaults * Updated from global requirements 2.0.0.0b3 --------- * Use a single recordset validation method * Ensure the zone records quota is enforced * Use assertGreater() * Improve error handling for TCP connections * Use lazy properties in services * Fixed typos in docstrings * Add syntax highlighting to backend docs * Updated from global requirements * Move SOA refresh interval into unit tests * Fix AutoDoc line for non existent modules * Update README to RST * Set Ubuntu as primary Vagrantfile VM * Update PoolAlsoNotify object name * Fix bug where building validators for ListObjects fails * Add AttributeListObjectMixin class * Set InvalidRecordSetName and InvalidRecordSetLocation as expected * Stop using WritableLogger() which is deprecated * Add an on-demand single-target sync method * Update Bind 9 backend and other documentation * Cleanup after enable files refactor * Randomize SOA refresh interval * Allow to use project\_name in handler formats * Updated from global requirements * Syntax, grammar, and typo fixes * Fix a missing '\' in doc * Minor unicode test fixes * Add delayed NOTIFY * Actually poll for zone deletes * Improve performance and utility of Recovery * A request hook interface for the functional test client * Ensure ZoneManager emits valid objects * Update numbering of dashboard enable files * Updated from global requirements * Functional tests for MX, TXT, SPF, SSHFP validation * Use "# noqa" instead of "#flake8: noqa" * Simplify NeutronFloatingHandler process\_notification * Change the name of the test\_create\_wildcard\_NS test * Updated from global requirements * Switch "managed" fields from unicode to string * Minor test cleanup * Use unicode strings in description fields * Fix misspellings * Make supported record type configurable * Log stacktraces of MultipleExceptions in functionaltests * Added Keystone and RequestID headers to CORS middleware * Remove outdated pot files * Fix wildcard NS record * Updated from global requirements * Update functional test TLDCLient * Policy.json still has references to domain * Add docs for PATCH and DELETE call of Zone transfer request * Switch to mock fixtures, minor cleanup * Add validation for MX, TXT, and SSHFP records * Do not create /dev/shm/designate * Fix integration doc that example config not formatted * Fix order of installation in Devstack * Fix \_assert\_exception() * Ensure mocks are stopped after use * Fixes wording of exceptions for delete * Fix the python34 check job * Rename zone > domain for errors in V1 * Updated from global requirements * Replace assertEqual(None, \*) with assertIsNone in tests * test: make enforce\_type=True in CONF.set\_override * Update the link to CLI Reference * Add retry logic on periodic\_sync * Skip possible heisenbug test\_init\_no\_pool\_targets * Fix V1 Quotas API Extension * Use tmpfs on /dev/shm for database if available * Update unit test execution syntax Closes-Bug: #1532802 * Document that keystone auth can use memcached * Added bandit to designate * Updated from global requirements 2.0.0.0b2 --------- * Update email addresses hp.com to hpe.com * Add FloatingIPs reverse endpoint * Improve unit testing * Added doc for /v2/tsigkeys endpoint * Updated from global requirements * Update periodic-sync-seconds help * Retry Coordinator start indefinitely * Fix CI Tempest jobs * [docs] Create installing Liberty on Ubuntu * Add UniqueConstraint for pool\_id + hostname * Tox: ignore Rope dirs * Replace deprecated LOG.warn with LOG.warning * Add Pool Manager tests * Move to [oslo\_messaging\_rabbit] * Add test of BIND9 backend * Remove unused comments in create zone * Improve logging in designate.zone\_manager * Update Devstack docs * Improve logging in designate.notification\_handler * Improve logging in designate.agent * Fix tox ValueError: No closing quotation * Use keystoneauth instead of keystoneclient * Add documentation for Limits * Deprecated tox -downloadcache option removed * Describe how to install Designate client * Set zone in ERROR status on periodic sync fail * Remove iso8601 dependency * Object model: require "priority" field * Emit notification on update\_status() on a zone * Removes MANIFEST.in as it is not needed explicitely by PBR * Use git.openstack.org as Git repository * Switch devstack to use local.conf * pass environment variables of proxy to tox * Fix NO\_DOMAIN handling with The Big Rename * Remove version from setup.cfg 2.0.0.0b1 --------- * Remove py26 support from designate * Updated from global requirements * Check TXT record length limit * Remove deprecated devstack in contrib * Updated from global requirements * Migrate existing Devstack integration into a Devstack plugin * Another improvement of info level log messages * Improving info level log messages * Test database schema and indexes * Replaces map() with six.moves.map() to provide py2/3 compatibility * Added HTTP\_X\_FORWARDED\_PROTO/HOST support to API * Updated from global requirements * Ensure designate-manage reads config before policy * Adds api\_export\_size attribute to admin API * Add Reno for release notes tracking * Add mdns unit tests for main service handler * Hide zones flagged for deletion in API v1 * Rename all references of Domain to Zone * Added placeholder migrations for stable/liberty * Improve logging in designate.network\_api * Add support for interface and service * Handle NO\_DOMAIN status * remove default=None for config options * Fix argument order in assertEqual to (expect, obs) * Switch to oslo.reports * Use oslo\_config PortOpt type for port options * Removes zone files when a zone is deleted * Use assertIn and assertNotIn * Use assertTrue/False instead of assertEqual(T/F) * Uses assertIsNone instead of assertEqual(None, \*\*\*) * Use oslo\_config IPOpt support * Updated from global requirements * Fixes Output for zone type filter * Added CORS support to Designate * Fix order of argument in assertEqual * Updated api-export-size attribute in quota update docs * Add functional tests for TLDs * Fix typos in sample config files * Block oslo.messaging 2.6.0 release * retry creates/deletes in the pool manager * Use assertFalse instead of assertEqual(False, \*\*\*) 1.0.0 ----- * Fix handling of Pool NS changes * Fix order of arguments in assertEqual * Functional tests: optionally disable ssl cert validation * Functional tests: Use a configurable url pattern * Fix order of argument in assertEqual * Functional tests: optionally skip admin actions in setups * Added test cases for records * Fix handling of Pool NS changes * Clear out pyc files before a tox run * Fix order of argument in assertEqual * Fix order of argument in assertEqual * Fix order of argument in assertEqual * Unauthed tests for Pools (Security) * Unauthed tests for Blacklists (Security) * Unauthed tests for Zones (Security) * Cleanup of Translations * Cleanup of Translations * Added test cases for tsigkeys extention for V1 api * Functional tests: configure putting the version in the url * Open Mitaka development 1.0.0.0rc1 ---------- * Add zone type specific validators * Ensure recordset name checking accounts for child domains * Ensure blacklists complete in a reasonable time * Fix unhandled exceptions in adapters parsing * Add Kilo upgrade nodes * Fix #1494799 handle limit=max on v2 and Admin APIs * Ensure unique records when listing recordsets * Fix race condition in V1 Records API * Fix Vagrantfile for Rally repo changes * Correct a possible DNSService connection leak * Ensure API workers > 1 starts correctly * Updated from global requirements * Change ignore-errors to ignore\_errors * A functional test to check CNAME recordsets allow only 1 record * Unauthed tests for RecordSets (Security) * Ensure CNAME RRSets only have one record * Remove functional-tests.log, update .gitignore * Updated from global requirements * Imported Translations from Zanata * Add backend for Designate using SECONDARY zones * [zm] Periodic Secondary zone refresh task * Replace request.request\_mac with request.mac * Handling Forbidden Exception * Check the contents of a zone export in the functional tests * Cleanup data created in the functional tests * Agent - If no allow\_notify hosts are specified, allow all * Change ip->host in the agent * Updated from global requirements * Modify centrals 'purge\_domains' arguments * Implement deleted zone purging * Fix AXFR / Secondary zone functionality * Activate pep8 check that \_ is imported * Fix typos in comments 1.0.0.0b3 --------- * Updated from global requirements * Updated from global requirements * Correct generated links when behind an SSL terminating proxy * Correct pool\_target options in sample config * The address for cloning designate is corrected * Asynchronous Zone Export * Add a service catalog override url for the functional tests * Refactor Zone Import Internals * Remove unused dependency: discover * Add functional tests that query for wildcard records * Grammar mistakes have been corrected * Show functional test request logging * Update docs for the functional tests * Fixes bug 1484332 git url was wrong. Modified to proper url * Add DomainMaster Object to designate objects * Add functional tests for wildcard records * Updated from global requirements * Refactor notify logic into backends * Replaces str to byte to provide py3 compatibility * Replaces x.keys() with six.iterkeys(x) * Export Zones * Provide error messages on CRUD actions * Verify DNS changes when updating RRSet * Fixing datagen random\_pool\_data * Move iteration code to base task * Updated from global requirements * Fix zone transfer requests + add tempest tests * Cleaning up add\_filters * Add a iteritems = items on DictObjectMixin * Remove auth\* related param keys in middleware * Convert str to byte for py3 compatibility * Added 'add\_filters' to ClientMixin for GET vars * Updated from global requirements * Imported Translations from Transifex * Updated from global requirements * Fix eleven typos on designate documentation * Implement test timeout helper. Minor fixes * Install dnspython3 on py3 * Added some unit tests to test\_domains.py * Added some unit tests in test\_servers.py * Add \_\_str\_\_() methods to DesignateObjects * Wildcard records * Fixed a test case name * Enable filter on get pools * Add support for Host header in REST queries * Increase unit tests coverage * Updated from global requirements * Add tests for limits api in V1 api * Imported Translations from Transifex * Replace assertTrue(a in b) with assertIn(a, b) 1.0.0.0b2 --------- * Ensure RecordSet quotas are enforced * Ensure a single RRSet over max\_packet\_size doesn't loop forever * Introduce a Production Guidelines document * Fix the incorrect JSON format in v1 REST API doc * Updated from global requirements * Reject invalid filters * Add unit testing for pool * Imported Translations from Transifex * Fixes designate-manage tld's command by passing the correct params * Fixed timeout variable scope issues * Updated from global requirements * Fix test in test\_coordination.py for py3 compatibility * Fixup v2 API Validation * Remove unused V2 schemas * Fix duplicate domain error handling * Only print flake8 table if there is results * Create unit tests dir, move objects tests there * Replacing dict.iteritems() with dict.items() * Replaced print with print() to provide py 2/3 compatibility * Updated from global requirements * Modify UT in test\_limits.py * Add some UTs to test\_pools.py * Add some UTs to test\_zones.py * Allow multiple reader/writers to UDP DNS Sockets * Add some UTs to test\_tsigkeys.py * Add some UTs to test\_recordsets.py * DevStack: Support installing client at released versions * Added some UTs to test\_tlds.py * Correct exists event field names * Add functional tox env * Add some UTs to test\_records.py for record update * Fix the displayed error message in V2 API * Add Zone Manager Service options to sample config * Add some UTs to test\_records.py * Fix iteritems > items to avoid recursion loops * Add some missing UTs to test\_domains.py * Pass configration of what tasks are enabled * Update ubuntu-dev guide * Add some basic missing UTs to test\_utils.py * Fix broken UTs due to PY3 in test\_import\_export * Convert old style class to new style class * Refactor mDNS packet finalization * Add \_\_pycache\_\_ to ST2 Ignore * Correct sample coord URL * Default to memcache for PM cache * Ensure only one pool-manager performs periodic tasks * Implement support for LeaderElections * Standup coordination during start * Increase coverage of RRset tests * Handle unhandled exception in dnsutils.py for py3 * Imported Translations from Transifex * Fix for ttl values * Test - add nicer formating to flake8 output * Functional tests for Blacklists * Enable filter on blacklists & tlds * Switch from MySQL-python to PyMySQL * Error message for database config * Correct 'DESIGNATE\_SQL\_DEBUG' export behaviour * Add tasks and periodic emits * Resolve one py3 compatibility issue * Add support for BETWEEN and add tests * Fixed broken UTs in notification\_handler module * Fix broken UTs for python3 * Ensure test\_find\_zone\_imports waits for all imports * Ensure validations account for trailing newlines * Fix broken UTs in test\_mdns.test\_handler * Updated from global requirements * Fix broken UTs in test\_coordination for py34 * Add v1 API deprecation warnings * Designate Dashboard now has it's own repo * Replace Exception.message with six.text\_type(Exception) * Fix broken UTs due to py3 * Updated from global requirements * Add zone filter for TTL, description, & status * Use released versions of tempest-lib * DevStack: Keystone V3 Service/Endpoint Creation * DevStack: Keystone V3 User Creation * Return the correct recordsets total\_count * Use six.iterkeys(x) instead of x.keys() * Replace dict.items() with list(dict.items()) * fix broken UTs for python3 compatibility * Standardize API service launcher * Add DevStack support for coordination URL * Rename coordination tests to match established naming pattern * Silence some DEBUG logs * oslo.service triggers shutdown * Replace dict.iterkeys() with six.iterkeys(dict) * Remove 'L' from long int * Add shard and domain\_shard to tables * Enable designate-zone-manager in DSVM gates * Replace dict.iteritems() with dict.items() * Update urllib/urlparse to use six.moves * Use six.moves.map/zip in place of map/zip * Allow logging hookpoint intialization * Add Zone Manager service shim * Remove leftover print statement in tests * Add a couple of new hacking checks * Add base for coordination as a mixin / tooz * Updated from global requirements * Add py3 compatibility related changes * Ensure quotas ext doesn't mutate dict during iteration * Re-arrange default log levels and add iso8601 * Updated from global requirements 1.0.0.0b1 --------- * port to oslo.service * Edits to dev guide, juno guide, and kilo guide * Updated from global requirements * Asynchronous Zone Import * Fix incorrect status code on Pool update * Updated from global requirements * Enable random hash seeds * Update version for Liberty * Updated from global requirements 1.0.0a0 ------- * Added expected=True to InvalidDomainName * Eventlet+DNSPython breaks /etc/hosts resolution * Add Tempest tests for V2 Pools * Add utility code for negative testing * Updated from global requirements * Add tempest-lib from git for gate devstack * Reset check\_for\_tlds after deleting the last TLD * Updated from global requirements * Updated from global requirements * Sync with oslo-incubator 61f4461f91 * Correcting missing import for dashboard messaging * Changes in rally-jobs/README.rst * Updated from global requirements * Enforce usage of project scoped token * Agent: Optional middleware to rate limit NOTIFYs * Mark Infoblox as Release Compatible * Give a nicer error upon 401 from Akamai * Add domain record detail screen * Add .eggs to .gitignore * Updated from global requirements * Add the Hook Point API * Fix exceptions on pep8 check due to missing tempest.conf * Pin python version to 2.7 * Add filter for status on recordsets * Fix the v2 XFR task API * Add Backend grading, and associated docs page * Fix designate-manage pool show\_config command * Imported Translations from Transifex * Drop incubating theme from docs * Updating cmd/manage.py get\_arg\_string() argument parser * Infoblox Backend * Update Dashboard requirements * Drop use of 'oslo' namespace package * Disable recursive queries with bind in Devstack * DevStack: Attempt to cleanup stale domains * DevStack: Remove SOA/NS checks * Add some more settings to the sample conf file * Add NSD4 backend * Add tests for dynect * Add Akamai Management comamnds * Fix check+set race condition in APIv1/Sink * Remove unnecessary RestController usage * Set cfg.pool\_target.options as secret * Allow sink to create multiple entries per instance * updating tox pep8 issues * Add quota check for domain create * Moved RecordSet lookup to a custom join query * Add support for settings wsgi MAX\_HEADER\_LINE * Switch pip-missing-reqs for pip-check-reqs * Add suds-jurko to requirements.txt * Utility script to help create n+ records at a time * Updated from global requirements * Ensure Sink Handlers encode UTF8 names * Add docs for X-Auth-Sudo-Tenant-ID api header * Drop use of 'oslo' namespace package * Updated from global requirements * Improve UX of create and update record screen * Vagrant: NFS should only be used for libvirt * Fixed SO\_REUSEPORT not supported by Linux <3.9 * Fix a wrong obj\_reset\_changes field * Imported Translations from Transifex * Updated from global requirements * Drop use of 'oslo' namespace package * Updated from global requirements 2015.1.0 -------- * Remove duplicated index on table 'records' of pDNS backend * central.update\_status should be transactional * Add an index to speed up update\_status * Add the /v2/zones//nameservers endpoint back * Add the /v2/zones//nameservers endpoint back * Update JSON in howtos examples to match the API * Service ThreadPool size should be configurable * Handle socket.error's in mDNS * Move the Central rpcapi update\_status to cast * PM: Ensure only one periodic task runs per host * Ensure addition of TSIG do not trigger a TooBig exception * Simplify designate.api.versions * Allow to use network label in nova\_fixed handler format * Denominator Agent * Imported Translations from Transifex * Minor fixes: pep8 and redundant code * central.update\_status should be transactional * Include README.rst in dashboard sdist * Functional tests to check recordset ownership * Zone ownership tests * Rally is now openstack/rally * Handle socket.error's in mDNS * Remove duplicated index on table 'records' of pDNS backend * Imported Translations from Transifex * PM: Ensure only one periodic task runs per host * Functional tests: minus tempest, plus noauth support * Service ThreadPool size should be configurable * Ensure addition of TSIG do not trigger a TooBig exception * Release Import of Translations from Transifex * Correct designate-dashboard domain detail screen * Update PM pooling defaults * Add policy support to designatedashboard * update .gitreview for stable/kilo * Correct mDNS TCP/UDP socket flags * Move the Central rpcapi update\_status to cast * Shuffle of the order of BIND9 masters * Updated from global requirements * Update JSON in howtos examples to match the API * Shuffle of the order of BIND9 masters * Correct mDNS TCP/UDP socket flags * Imported Translations from Transifex 2015.1.0rc1 ----------- * Fix missing '/' in self link after zone import * Reduce excessive stacktraces in logs * Move Zone Import / Export to /admin API * Ensure mDNS TCP/UDP threads service unhandled exceptions * Correct the max\_zone\_name\_length name * Add validation of RRSet Type * Change rackspace.com > example.com in docs * Remove unused pool view * Refactored BaseAddressHandler * Switch to API v2 as the new CURRENT * Add stable/kilo placeholder migrations * DevStack: Reduce periodic intervals in the gate * Open Liberty development * Restrict editing of managed records to policy based ACL * Imported Translations from Transifex * Added tenant impersonation to API * Fixup DevStack Horizon install * Validate SRV records have the correct name on the recordset * Fixed sort key to not sort by an un-indexed field by default * Fix Record Object conversions * Fix handling of filtering params * Add Ceilometer support to DevStack plugin * DevStack: Akamai/Dyn Support for Jenkins Credentials and Exercises * Split out Optional OpenStack services in localrc * Support Vagrant Libvirt * First Tempest tests for recordsets * Remove zone wrapper object in Tempest tests * Add global limits to V2 limits endpoint * Fix min\_ttl config to be an IntOpt * Implement default and max page size for V2 API * Fix output of errors on base recordset properties * Correct min-ttl default config value * Update periodic sync defaults * Ensure mDNS can AXFR zones over 65k * Fixup updates in the agent backend * Fix support for PostgreSQL * Imported Translations from Transifex * Akamai: mDNS must run on port 53 * Agent Pool Manager Backend * Add Akamai EDNS Backend * DynECT: Convert to a Pool Backend * Add also-notifies support to Pool Manager * Implement Pool Targets * Reduce the # of SQL queries during AXFRs * Add code to allow triggering of AXFR from API * Fix 'zone' link in transfer\_accepts * Imported Translations from Transifex * Enable Record Data Validation in v2 API * Sync up FIP behaviour to match latest PoolManager * Fix ownership issue with Zone's created on set fip * Fixed rootwrap file installation * Add \_to\_string() methods on RRData Objects * Add Schema to RRData Objects * Replace API\_v2 views with Adapters * RFC1996 Requires NOTIFY packets have the AA flag set * Ensure mDNS originated queries are non-blocking * Unwind mDNS XFRMixin from NotifyEndpoint and Handler * Correct Pool Object * Add API\_v2 Adapter Objects * Support mDNS response up to 65k * Install etc/designate/\* files * forgot missing \_\_init\_\_.py file * Allow for duplicate domains in different pools * Remove usage of relative\_path in ValidationError Objects * Fix handling of wildcards in api / storage * Reduce the # of records loaded by Central.update\_status * improving designatedashboard packaging * Imported Translations from Transifex * Fixed misspellings in central * Validation Error Middleware does translation of keys to new format * Added FloatingIP object to DesignateObjects * Omit deleting zones from mass ns record updates * Imported Translations from Transifex * Archive non-pool backends * Combine Backend and PoolBackend * Refacor function for parsing host:port strings * Spelling & formatting doc fixes * Updated from global requirements * Revert "Disable tempest in the gate, for now" * Retry serial number check in one more case * Move Pool NS Records to their own table * Imported Translations from Transifex * Don't allow updates to zones that are being deleted 2015.1.0b3 ---------- * Imported Translations from Transifex * Remove "Including all tenants items" debug log * Disable tempest in the gate, for now * Fix the use of private symbols from oslo.messaging * Ensure Quotas can be updated concurrently * Only attempt XFR if zone.type is SECONDARY * Add Admin API and add extensions * Add DESIGNATE\_SQL\_DEBUG toggle * Move the DesignateAdapter to return non-wrapped objects * Imported Translations from Transifex * Added ValidationErrorMiddleware * Added Schemas to DesignateObjects * MDNS part of Secondary zones * Support secondary zones * Add iPythonNotebook files to git ignore * Implement TSIG Support in mDNS * Imported Translations from Transifex * Add Tempest zone tests * Enable Tempest Functional Tests * Use the oslo.policy package * Smarter Create/Delete in BIND9/Agent * Imported Translations from Transifex * Send the correct domain object to update\_domain * Update localrc docs sample * Fix DesignateObjects ListObjectMixin interactions * Introduce Guru Meditation Reports into Designate * Call central's update\_status correctly * Initial Pool API docs * Fixed ssl.PROTOCOL\_SSLv3 not supported by Python 2.7.9 * Agent configuration and BIND9 improvements * Validate SSHFP records * Create DesignateAdapter and surrounding infrastructure * Imported Translations from Transifex * Updated from global requirements * Updated from global requirements * Fix exception handling * Imported Translations from Transifex * Add initial code for tempest tests * Updated from global requirements * devstack/install.sh shouldn't rely on exact paths * Add designate-agent to DevStack * Updated from global requirements * Rename \_retrieve\_from\_cache to \_retrieve\_statuses * Updated from global requirements * Imported Translations from Transifex * Updated from global requirements * Implement Scoped TSIG Key Support * Service Class Cleanup - Part 3/3 * Service Class Cleanup - Part 2/3 * Service Class Cleanup - Part 1/3 * Fixed \_is\_superdomain check in central * Imported Translations from Transifex * Add Developer Guidelines docs page * Update default managed\_resource\_email * Update tests to use Object.from\_dict() method * Sync with oslo-incubator * Remove explicit thread-local update in context * Ensure pool\_manager cache keys are strings * Remove bulk actions from records page * Add python-memcached>=1.48 to requirements.txt * Add error state transition for creation of domains * Modifications for Resilient Pool Manager Cache * Ensure DNSPython modules are imported correctly * Add howto for creating PTR records * Imported Translations from Transifex * A small intro to the REST API * Implement an Object.from\_dict() method * Updated from global requirements * Deprecate designate-sink non managed mode * Retry transactions on database deadlocks * Correct PoolAttribute module name * Set PYTHONDONTWRITEBYTECODE=1 in tox.ini * Use fully qualified domain names in the mx record examples * Workaround eventlet 0.17's broken monkeypatching * Pass SSL CA Cert to client * Pass ssl no verify to client * Assume a new developer won't create a "designate" user in the dev guide * Add noop cache support to Pool Manager * Allow MiniDNS to Send Everything Over TCP * Replace nova with designate in pybasedir help * Updated from global requirements * Add memcache support to Pool Manager * Get on an abandon zone returns 405 * Ensure count record/recordsets respect deleted domains * Deleting a recordset returns 202 * Fix up links in Ubuntu Dev Environment * Imported Translations from Transifex * Docs: Top level Install Guides section * Docs: Automate How To Index * Fix Production Arch docs * Update Designate Architecture Docs * Docs: Howto Create and Manage Domains * Added docs env to tox * Updated Sample Config and Documentation Page * Update Getting Started Guide * Doc sprint: Update glossary * Doc sprint: Update Getting Involved * Update zone status when recordsets are changed * DevStack: Sync function rename with DevStack * Updated from global requirements * Return correct response codes for v2 recordset api * Fix a reference link in the doc * Doc: fix the designate-manage powerdns sync command * Fix some typos in 6 files * Nameservers added via /v2/pools are not validated * Imported Translations from Transifex * Return a status field from the recordsets API * Remove dead server code in storage and add tests 2015.1.0b2 ---------- * Updated from global requirements * Add pretty\_tox subunit wrapper * Add a new API for abandoning a zone from storage * Allow Periodic Sync to be restricted to a subset of zones * Add pool\_manager migrate.cfg in MANIFEST.in * Updated from global requirements * Cleanup use of oslo.messaging's ConfFixture * Add a debug tox environment * Imported Translations from Transifex * Extract fixtures into their own module * Updated from global requirements * Agent cleanup/refactoring * Imported Translations from Transifex * The New Agent * Imported Translations from Transifex * Refactor RecordSet Relation Loads * Ensure Pool Manager Cache is Cleared * Move some methods from mdns to dnsutils * Switch to oslo.log * Imported Translations from Transifex * Fix v2 api update\_recordset * Fix sink neutron\_floatingip handler passing payload * Temporary fix for bad \_dispatch() invocation * Server Pool Storage Clean Up * Call the Correct Pool Manager Instance for the Domain * Clean requirements * Periodic sync and recover Timers Throw Descriptive Errors * Updated from global requirements * Imported Translations from Transifex * Move PM warning log inside the correct if block * Update mDNS to accept server object * Pool Manager should reuse the existing threadgroup * Pool Manager Throws An Error When No Servers are Defined * Add Unit Tests for Pool Manager * Ensure Pool Manager Works for Multiple Backend Servers * Add more tests to the central service * Add more unit tests to mdns service * Add more unit tests to Base Object class * Add Unit Tests for v2 API Reports * PowerDNS Backend Tests * Updated from global requirements * Moved to oslo\_utils namespace * Remove dead designate.wsgi * Remove dead SQLAlchemy code * Add .coveragerc configuration file * Update Vagrantfile with new Ubuntu box * Moved to oslo\_db namespace * Imported Translations from Transifex * Fix powerdns db table records missing column disabled * Update README.md doc build instructions * Switch to oslo\_middleware namespace * Imported Translations from Transifex * Updated from global requirements * Updated from global requirements * Allow Domain to Be Created on More Than One Server * Better Logging for Pool Manager * Separate Periodic Recovery from Periodic Sync * Domain Creation Includes Zone Transfer For Proper Status * Updated from global requirements * Migrate Server table * Updated from global requirements * Pool\_Attribute Storage Tests * Change SLA check for Designate * Adds negative unittests to test\_domains.py and test\_records.py * Adds negative tests to test\_records.py * Imported Translations from Transifex 2015.1.0b1 ---------- * Remove duplicate fields from ZoneTransferRequest object * Documentation, comments, and extraneous code fixes * Post-pool merge cleanup * Adds negative tests to test\_records.py * Imported Translations from Transifex * Added smart update of Records Objects in v2 * Changed oslo.messaging's default log level * Fixed the syntax of obj\_reset\_changes in SQLA * Pool Manager Integration with Central * Remove the agent service and old-style backend tests * Remove the non-pools bind9 backend * Convert PowerDNS to a Pools Backend * Pools Config Changes * Add Werkzeug>=0.7 to requirements.txt * Adds "domain-servers-list" to test\_domains.py * Cleanup validation regex's * Adds negative tests to test\_servers.py * Updated from global requirements * Imported Translations from Transifex * Switch to oslo.context and sync from incubator * Standardize creation of rpcapi client instances * Updated from global requirements * rename oslo.concurrency to oslo\_concurrency * Updated from global requirements * Imported Translations from Transifex * Workflow documentation is now in infra-manual * Updated from global requirements * Add DynECT DevStack plugin * Handle multi-packet TCP queries * Allow DevStack to retry DNS queries to handle async CRUD * Handle priority the same way as when create\_record * Correct RRSet delete notification * Pool Manager * Add docs for MX, SSHFP, SPF and SRV record set types * Add metadata, totalcount fields to zones/recordsets collections * Add bashate tox env for DevStack plugin * Update DevStack PORT vars for naming consistency * Update gate\_hook to support multiple drivers * Added designate-dashboard code to contrib/designate-dashboard * Rename rally-scenarios/ to rally-jobs/ * Imported Translations from Transifex * Updated from global requirements * Added functionality to allow for zone ownership transfers * Updated from global requirements * Add Rally to Vagrant VM * Move Central notifications to a decorator * Add a reverse name columns to domains/recordsets * Updated from global requirements * Fix rally job readme file * Add synchronized\_domain decorator * Add some helpful SQL indices * Return the correct RRSet object in Central.create\_recordset * Updated from global requirements * Detect CPU on OSX as well * Fix rally gates * Can't Access Default Pool through API * Add tox check for missing pip requirements * Add rally job related files * Updated from global requirements * Support Nested/Recursive Object Validations * Add basic validation functionality to DesignateObjects * Updated from global requirements * Move import code to dnsutils * Add a new field type 'relation' to objects * Imported Translations from Transifex * Missing Unique Constraint on Pool Attributes table * Add ability to configure extensions via local.conf * Move from incubator to o.concurrency * Fixed API v1 issue with horizon * Add Symantec's nova and neutron plugins to docs * Add pool\_id column to Domains Table * Imported Translations from Transifex * Pool Manager - Central/Storage Changes * Pool Manager - BIND9 Pool Backend Driver Fixes * Updated from global requirements * Pool Manager - Pool Manager Proxy Backend and Devstack * Imported Translations from Transifex * Imported Translations from Transifex * Support for server pools in minidns * Initial documentation for v2 API record sets * Move rec.priority into rec.data * Imported Translations from Transifex * API for pools * Server Pools Storage * Updated from global requirements * Pool Manager Service Changes * Ensure version column is correctly incremented * Updated from global requirements * Updated from global requirements * Implement a DesignateObject Registry * Correct int datatypes during zone import * Enforce all Object attributes are private or well defined * Add a UUID Schema format checker * Convert Object FIELDS from list to dict * Reduce SQLAlchemy loglevel during tests * Updated from global requirements * Imported Translations from Transifex * Imported Translations from Transifex * Updated from global requirements * Add a new PowerDNS backend based on MiniDNS * Ensure mDNS sends NOTIFYs on all zone changes * PowerDNS schema should cascade domain deletes * Add Jinja2 to requirements.txt * Switch to oslo.middleware and remove deprecated incubator * Sync oslo-incubator and remove json|str utils * Imported Translations from Transifex * Multi backend attepts to read a deleted domain * Bind a random port for MDNS tests * Open Kilo development 2014.2.rc1 ---------- * Use devstack's new way of doing things * Updated from global requirements * Fixes missing Module Index in Sphinx-build * Make use of SQLA Core in PowerDNS * Prevent update/delete of managed records in v1 API * Fixes minor errors and warning in Sphinx build * Fixes docstring typos * Updated from global requirements * Notif handlers:remove double check of event type * Imported Translations from Transifex * Missing Tests for Blacklist storage layer methods * Fix example response for reports/tenant * Update oslosphinx requirement * Fix issues with timeout and if a domain exists * Add v1 missing api docs * Backends need to implement c/u/d\_recordset * Updated from global requirements * Missing tests for TLD storage layer methods * Updating README * Removing \*.shapes files from Desginate diagrams * Add png for \`Designate-PowerDNS-Detail\` * Adding Dia file for \`Designate-PowerDNS-Detail\` * Adding Dia file for \`Designate-MultiZone\` * Adding Dia file for \`Designate-Simple\` * Bind9 zone file should end with a new line * Correct Vagrant+DevStack paths * Use non-deprecated notification\_driver * Split Vagrant out of contrib/devstack * Fixed the logging of powerdns metadata addition / removals * Updated from global requirements * Fix warnings made by keystone\_authtoken * Devstack Integration : Coding style fix * Getting deleted recordsets returns a 404 * Devstack setup : use get\_or\_create\_\* helpers * Updated from global requirements * Downgrade in 039 does not delete NS recordsets * Add index on powerdns.records.designate\_record\_id * Updated from global requirements * Support filtering on Zone/RecordSet status * \_find\_recordsets returns active recordsets only * Ensure designate-api has policy initialized * Ensure designate-sink has policy initialized * Rollback master backend on all exceptions in multi backend * Delete SOA records correctly on a downgrade * Call \_handle\_query\_error correctly * Updated from global requirements * Update README.md doc links 2014.2.b3 --------- * warn against sorting requirements * Creating a Recordset doesn't increment the serial number * Support the same api versions format as keystone * Imported Translations from Transifex * Fixed policy loading in agent service * Imported Translations from Transifex * Implement mDNS Middleware * Squash Icehouse DB Migrations * Move DNS packet serialization into mDNS service * Update default notification-topics for nova/neutron * Received notifications context is not a DesignateContext * Add support for AXFR requests * Expose SOA and NS records * Fix get\_record\_id to return only the requested id * Fix DevStack xtrace output * Updated from global requirements * Updated from global requirements * Updated from global requirements * Imported Translations from Transifex * Validate that no parent zones are created in another tenant * Issue one SQL statement per execute() call * Added policy checking for all all\_tenent=True contexts * Add two more hacking checks * Updated from global requirements * Imported Translations from Transifex * V2 Report Uses 'Domains' * Ensure Object change lists are sorted during to\_primitive * Reimplement Filtering by Record Data * API v1 for creating domains ignore some attributes now * Fixes a typo in the binary name for test's service fixture * Designate API tests for Tempest Framework * Add proxy support to dynect client * Add instructions on installing Designate with MySQL backend * Imported Translations from Transifex * Migrate to SQLAlchemy Core * Update testr config for better logging * Remove obsolete methods from Storage * Empty RecordSets can be re-provisioned * Install only the necessary files during a DevStack gate run * devstack exercise for deletion, dns checking * Set python hash seed to 0 in tox.ini * Add quotas documentation * Imported Translations from Transifex * Switchover to oslo.i18n package * Remove the Priority Field in V2 * Moved the thread storage to a per instance level, vs global * Update from oslo-incubator * Use auth\_token from keystonemiddleware * Move oslotest into test-requirements.txt * Imported Translations from Transifex * Updated from global requirements 2014.2.b2 --------- * Revert o.m and o.c 1.4.0 alpha updates * Add a minimal gate\_hook.sh script * Moved v2 API errors to separate controller * Enable X-Auth-Project flag in HTTP headers * Cleaning up index.rst file * Imported Translations from Transifex * Handle tcp requests correctly in mdns * Modify Recordset API * Clear out junk from Vagrant+DevStack configs * Correct JSON Syntax is v2 Collections Docs * Ensure o.c.local is populated with the current Context * DevStack: Enable V2 API * DevStack: Correct the key's passed to setup\_colorized\_logging * PowerDNS: Ensure each greenthread uses it's own Session instance * Ensure eventlet monkey patching happens as early as possible * Attach records to RecordSet objects * Ensure each greenthread uses it's own Session instance * Add docs for links, pagination, filtering * Enable hacking check H104 * Add validate\_log\_translations flake8 check * Imported Translations from Transifex * Avoid logging "Expected" exceptions returned over RPC * Fixed issue with elevated contexts modifying the original context * Imported Translations from Transifex * Port Report Extensions from v1 to v2 * Added proper handling for 405 errors * Fixed D701 Hacking check * Implement a ListObjectMixin class * Implement equality methods on DesignateObject * Updated from global requirements * Answer dns record queries * Iterator methods should be on DictObjectMixin * Added oslosphinx theme & enabled the incubating theme * Enabled hacking check H401 * Update's should use objects * Provide a standard method for populating an object from a model * Expand Zones Documentation * Updated from global requirements * Don't create new objects when doing a create\_\* * Track the original/persisted values in Objects * Object fields should not be marked changed if the value has not changed * Ensure RPC serializes all types to primitives * Setup for translation * Implement DesignateObject.\_\_deepcopy\_\_ * Change API filter wildcard from '%' to '\*' * Updated from global requirements * Ensure contrib/devstack/install.sh works from any path * Ensure we always accept trailing /'s in URLs * Updated from global requirements * Change logging level AUDIT to INFO * Ensure DesignateObject.from\_sqla does not trigger change tracking * Update stackforge references to openstack * Support recursive object serialization * Revert "Added olso sphinx, and enabled it for building docs" * Update .gitreview for repository move * Specify minimum and maximum correctly in schemas * Add Extensions to the v2 API * Added olso sphinx, and enabled it for building docs * Don't monkeypatch pecan.core.Request in newer versions of pecan * mdns: Add support for NOTIFY's * Implement change tracking in DesignateObjects * Ensure that 404's are returned as JSON * Change log string format to '%' for consistency * Objects should have a concrete list of their fields * Added all fields to limits endpoint, and corrected casing * Fixes default content type on /v2/zones endpoint * Unify Storage vs Rest of World fixture creation * Switch to oslo.db and fix cmd.manage * Added \*.sqlite3 to gitignore * Remove the StorageAPI class * Indent lines for readability * Switch to oslotest library * Finalize tox.ini codes * Fix style errors H305 and H307 * Fix style error E265 * Fix style error E251 * Fix style error E111 * Fix style error H236 * Update hacking package, fix I18n style issues * Sync with global-requirements * Sync in o.middleware and replace our own * DevStack: PowerDNS and Bind9 should listen on SERVICE\_HOST * DevStack: Fix Bind9 Apparmor profile * Change log statements to meet I18n guidelines * DevStack: Additional exercises for records and domain-servers-list * DevStack/Vagrant: Specify the minimum supported Vagrant version * DevStack Gate: Enable Designate exercises * DevStack: Sync up our logging options * DevStack: Sync up our service startup commands * DevStack/Vagrant: Set # of CPU's to # of physical cores * DevStack/Vagrant: Don't configure LOGFILE by default * DevStack: Support configuring bind host/port * DevStack: Migrate from keystone CLI to OpenStack CLI * DevStack: Support PowerDNS on Fedora * DevStack: Support devstack with bind9 backend on Fedora * DevStack: Split backends out into plugins * DevStack: Use a timeout rather than hard sleep * DevStack: Support running with bind9 as non-root user * DevStack: Default to PowerDNS rather than the fake backend * DevStack: Ensure PowerDNS is configured correctly * Add DevStack Vagrantfile * Sync test-requirements with global-requirements * Partial sync with global-requirements * Add pre/post dsvm test hooks * Added detection of powerdns package name to devstack script * Wait a little after starting Designate * Revert "add sink support to designate devstack" * Bug #1261894: Deleting Record With BIND 9 Driver Fails * Ensure we configure all keystone middleware options * Ensure our DevStack plugin cleans up services it starts * Switch stop\_designate to use screen\_stop rather than \`kill\` * Ensure designte-sink does not exit when no handlers are enabled * Implement mDNS Service * API now passes objects to central * Ability to pass along multiple endpoints * Fix FreeIPA tests mock's * Adding custom flake8 check for mutable default arguments * DynECT backend exceptions should be added to allowed exmods * Create missing domains during Bind9Backend start * Update DevStack docs for the contrib/devstack plugin * Correct DESIGNATE\_TEST\_NSREC default value * Correct typo in DynECT backend * set default auth\_strategy to keystone * Allow Roles to be Passed When Using Noauth Middleware * add support for FreeIPA backend - phase 6 - devstack * add support for FreeIPA backend - phase 5 - requirements * add support for FreeIPA backend - phase 4 - migration * add support for FreeIPA backend - phase 3 - live tests * add support for FreeIPA backend - phase 2 - tests * add support for FreeIPA backend - phase 1 * Ensure objects are passed over RPC * add sink support to designate devstack * Update oslo.policy * only call sink handlers for supported event types * Print versions * Raise correct exception on blocked operation * Ignore 404 on deletion * Remove redundant setup.cfg entry points * Correct DynECT backend config option types * Fixed the self link returned for floating IPs * sink crashes due to a missing \_get\_handler\_event\_types * Update Record object with structured RRdata * Post oslo.messaging fixes * DynECT support * Remove leftover bin/\* files * Set a Configurable Minimum TTL * Allow targeting of specific agent * Update Storage layer to return objects * Update install\_venv from Oslo * Sync with openstack/oslo-incubator * Sync with openstack/requirements * Sync up openstack-common.conf * Switch to oslo.messaging * v1 api does not allow priority of 0 * WIP - Implement Capture the Notification Context in Designate Sink * Sync requirements with openstack/requirements * Open Juno development 2014.1 ------ * Read the Docs needs a single requirements file * Remove designate-manage dependancy on cliff * Fix sync functionality in V1 / central * Provide a production like guide for Ubuntu * Blacklists API Documentation * Document the PowerDNS backend 2014.1.b3 --------- * Ensure that request body in v2 contains valid fields * Remove JSONSchema 1.3 compatibility code * Support more record types * create\_server fails if server is not unique * Sync with global-requirements repo * V2 API zone import/export documentation * Return 404 for empty parameters in URLs * Ensure that URL is valid while validating UUID * Return 400 for invalid Json for api v2 * Introduce nameservers endpoint for zones * Standardize doc requirements * Ensure Storage Implementions match the Interface * Ensure that wanted API calls returns exceptions * Fill in missing Records tests for V2 api * UUID changes to api / utils * Remove use of uuidutils.generate\_uuid * Fixes filtering in delete and update in PowerDNS * Register as a endpoint without version * Handle invalid pagination parameters * Add the handler plugin example to the contrib folder * Add Bind9 Support to the DevStack Plugin * Correct misspelled words 2014.1.b2 --------- * DevStack: Set the correct state\_path * Disabled paging by default * Don't install designate packages twice with Devstack * Add support for paging in V2 api for collections * Add RMQ+Other options to sample config * Switch to oslo.rootwrap * Sync with oslo-incubator 9a7f2f85 * Sync with global-requirements * Blacklists mysql error * Add paging to Central rpcapi and service * Adds support for paging in the storage layer * Shouldn't pass items to get\_collection\_href here * Ensure default DB connection strings use unique defaults * Fix arguments in get\_collection\_href * Default state-path to /var/lib/designate * Adds a setting for the location of the nzf files * Stop abusing state\_path in find\_config * Add a new ExtensionPlugin class * Add Unit Tests for Blacklists V2 * Update notification\_driver documentation * Import TLDs to Designate * Prevent Schema regex's from capturing input * General Plugin Cleanups * Create API calls to Manage Blacklisted Domains * Fix TLD Delete From Storage * Sync with oslo-incubator rev fa785cea * Sync with openstack/requirements rev 661e6bad * Various small fixes to documentation * Keep the DevStack plugin in-tree * Add TLD Api documentation * Make Database Interactions More Transactional * Remote Designate Agent Calls Fail * Remove dnsmasq backend * Replace os.exists with os.path.exists * Validate name during v2 zone create * Sink - Delete record on floatingip.delete event * Check if RS belongs in childzone * Add APIs for managing TLDs * provide designate getting started instructions for Fedora 19 * Update setup.cfg for the Neutron -> Quantum handler rename * Remove dependencies on pep8, pyflakes and flake8 * Sync with global requirements * Ensure APIv2 list respose formats are correct * FloatingIP PTR record functionality * Moved Limits API endpoint to a RESTController * Return a HTTP 405 for unsupported HTTP methods * six is now a requirement of many of the oslo-incubator modules * Made Pecan HTML debugging an option for v2 API * PowerDNS backend tests * Ensure Flask uses our JSON Encoder * Add support for specifying tenant/user/token in the NoAuthMiddleware * Removing Docs about the old Sudo mechanismn * Designate requires Babel during runtime now * Cleanup API v2 Link Generation and Views * Ensure migrations run on PostgreSQL * Switch out designate.notifier for oslo's version * Reinstate RecordSet placement validation * Sync with oslo-incubator * The default port is not 0.0.0.0, it is 9001 * Ensure JSON Schema format validators operate only on strings * Database fixture * Ensure SQLite has the correct unique\_record index * Docs spelling/capitalization fixes * Specify column names during the PowerDNS backends InsertFromSelect's * Do not try to update records if there are none * Introduce RecordSets concept to core, and add initial RRSet API to v2 * Provide support for "All Tenants" access * Correct migration 33 * Fixed bug where sync\_all could not be run * Use % when printing keyfile/certfile errors * Make sure that certfile and keyfile are readable * BUG# 1258262 Added secret parameter to options for sensitive data * Bug #1257888: Remote Designate Agent Call Fails * Denormalize tenant\_id into the records table * Multi-backend * Put test resources into own folder * Backend tests restructure * Ensure logs are captured and displayed when tests fail * Fix typo in config and rename Quantrum > Neutron everywhere * Multiple testing fixes * Allow a context to be elevated to admin status * Don't require domain\_id in find\_record\* methods * Pass the service-catalog if any to the context * Add placeholder migrations to allow backports to Havana * Added a check for HTTP\_X\_IDENTITY\_STATUS * Add SLDs that act like TLDs * Support building wheels (PEP-427) * Add .testrepository to ST2 project ignore * nsd4slave backend * Update notifications towards oslo.messaging * Switch to testr / testtools / fixtures, remove nose * Update PPA URL * Expose touch\_domain via an API extension * Update TLD list per IANA list version 2013110700 * Fix inconsistent dnspython imports bug * Domain Import/Export * Update setup.cfg for Icehouse development cycle 2013.2 ------ * Ensure we're compatible with JSONSchema 1.3.0 through 2.2.0 * Sync requirements with stable/havana requirements * Zoneextractor tool * Ensure all FakeBackend methods use info level logs * Abstract quota enforcement in central service * Minor tox.ini changes, should speed things up * Add status fields for domains and records * Correct JSONSchemas for min/max TTLs * Added info on flake8 to docs * Update domains when servers are created, modified or deleted * Add rudimentary migration testing * docs: Correct errors in the Create Record examples * BIND9 Plugin Cleanup * Ensure beta versions are not downloaded from pypi * Correct PowerDNS migration 006 * Monkeypatch WebTest to support HTTP PATCH * Give more meaningful error message when no servers are configured * Add initial BIND9 backend docs * Ensure default TTL is respected by PowerDNS backend * Allow default SOA values to be configured * Ensure tables are InnoDB and UTF8 * Cleaned up fake backend backend * Central RPCAPI should call the correct sync methods * Add APIv2 Zones Controller * Fixed broken links in README.md * Fixup CNAME placement validation * PowerDNS - Correctly quote TXT and SPF record * Fix utils.render\_temaplate\_to\_file() test case name * Revert "PowerDNS - Ensure SPF records are quoted correctly" * docs: Add 'description' field to domains * Cleanup v2 schema links * Add description field to v2 schemas * Minor v1 records schema corrections * Add "Invalid TLD" error message * Correct V2 limits schema * Switch to EntryPoints for the binaries * Add API v2 /limits endpoint * Update Getting Started Guide * Sync doc/requirements.txt with openstack/requirements * API Version 2 - Initial Framework * Sync requirements with openstack/requirements * Add more API documentation for record types * Bug 1206849: Add more logging to the API Layer * PowerDNS - Ensure SPF records are quoted correctly * Add Description Field to Domains/Records * Update PBR to 0.5.21 * Fixup incorrect exception handler * Update PBR * Restore JSONSchema 1.1.0 compatibility * Fix a minor doc build warning * Ensure all errors raised from netaddr are caught * Internal SQLA Storage Consistency Cleanup * Ensure the deleted column is not truncated * Update 'Getting Started' Doc * Reduce logspam from amqp * Ensure backend resources are always deletable * Refactor JSONSchema handling code * Remove out of date TODOs from README * Move doc/examples to doc/source/examples * Move Keystone config to main designate config * re-org docs & add details on production architecture * Ensure Code Coverage only includes designate * better ipv4 validation * Replace missing indexes for SQLite * Ensure StorageAPI always re-raises exceptions appropriately * corrected event details in Nova Handler notes * Logging & docs improvement for notification\_handler * Remove unnecessary default criterion value * find\_record should take a domain\_id argument * find\_records does not need to perform an is\_admin check * Sync requirements with openstack/requirements * Remove openstack.common.cfg * Remove invalid entrypoints * Accept trailing /'s on URLs * Add 'Getting Started' Doc * Implement a Quota management API extension * bug# 1198890 internal api tidy * Update docs links from moniker.rtfd.org to designate.rtfd.org * Add DevStack documentation page * Override default config values correctly * Middlewares should tell you they have started * Sync with oslo-incubator stable/grizzly * Update link to designate-cookbook * Add doc link to sample plugin repo * Add a related links page to the docs * Remove comments from \*requirements.txt (workaround pbr bug) * bug# 1198849 - from blallau * Update the outdated install document * Ensure sphinx and sphinxcontrib-httpdomain are installed for doc builds * Ensure RTD builds install all the necessary deps * bug# 1198885 - report 'latest' instead 'None' on database-sync * Ensure central cleans up storage if the backend fails * Add the Request-ID as a HTTP reponse header * Carry oslo-incubator review #34949 * Sync with oslo stable/grizzly c7862b5239822d701b7fb155faa4607eff602627 * Ensure all backend methods respect deleted domains * quota-domain-records sould be an IntOpt * Ensure the unique index on domains.name is correctly dropped * Bug #1194889 - Fix migration 16 on SQLite * Added notes on setting up a designate dev environment * bug/1195284 - correct ttl checks to match RFC * Add simple Maintenance Mode WSGI middleware * Update jsonschema dependancy * Sync requirements with openstack/requirements (except jsonschema) * Keep deleted domains in the DB * Ensure domains that fail to create are cleaned * Ensure request media-types are sane * Ensure records are unique, per RFC2181 Sec 5.0 * Add LICENSE file * Rename to designate in .gitreview * Rename keystone-setup script for designate * Correct some overzealous s/moniker/designate/'s * Bump version to 2013.2 * Correct a few links broken during the s/moniker/designate/ * Rename Moniker -> Designate * Switch to Flake8 and add Hacking checks * Sync requirements with openstack/requirements. (Except jsonschema) * Fix pyflakes error * Guard against deletion of a parent domain * Remove unused SQLA utils code * Ensure record placement validation does not prevent updates * Validate UUID URL parameters * Add request-id to the API's fault responses * Switch to PBR * Helper utilities * The utils module in oslo is no more * Ensure create domain/record records call the correct count\_\* methods * Ensure our quotas/limits are consistent with other OpenStack projects * Implement Quota Support * Ensure two PTR records cannot have the same name * Update import of oslo's processutils * Extend reports API extension with more information * Cleanup method/varible ordering in the various places they are defined * Update report API ext method names to match URLs * Remove unnecessary try/catches from API extensions * Ensure all error responses are JSON * Ensure API calls fail when junk/unexpected properties are supplied * Add tests to ensure domain notifications are sent correctly * Removing unused test helpers * Add periodic\_task from Oslo * Correct the service name used in notifications * Add a "force" option to context sudo * Add Central.find\_\*() methods * Show log level in moniker-manage output * Commands should extend our Base Command, rather than cliff.Command * Remove un-used base CLI command classes * Update to the latest loopingcall from oslo * Convert openstack-common.conf to the new format * Ensure X-Moniker-Sudo-Tenant-ID values are either a UUID or int * Prefix all Moniker notifications with "dns." * Add a test case for email addr's with a trailing period * 0.0.0.0 is an invalid IPv4 address * Cleanup PowerDNS database schema * Support all valid (per RFC1035) email addresses * Implement support for RPC Versioning * Remove redundant moniker-manage commands * Ensure record changes trigger a backend serial increment * Abstract API exception handling * Tighten up TTL and Priority acceptable value ranges * Added /reports, /reports/domains, /reports/records & /reports/tenants * A domain may not have a NULL TTL * Ensure supplied email addresses are valid for use in the SOA RNAME field * Add support for specifying custom domain/record name max lengths * Validate SRV record format * Add localhost, localdomain and local and remove com, net, org from default blacklist * Set the default value for accepted TLD's to match the IANA TLD list * Quick fix to oslo-wsgi for wsgi.Service compat with service.ProcessLauncher * Domain name's should not be accepted with wildcards * Add 'accepted\_tld\_list' config option * Add ability to "touch" a domain via the API * Allow for record create/update/delete's and domain updates's without incrementing the serial number * Add a simple profiling decorator * Prevent is\_subrecord iterating past the domain name itself * Revert "A domain's TTL must not be null." * A domain's TTL must not be null * Use the 'fake' backend by default * Make Diagnostics and Sync API's optional * Separate notification handling from the central service * Remove base Plugin testcase * API tests should tearDown in the correct order * Refactor DNSMasq plugin for easier transition to the upcoming transactional changes * Remove the distinction between a storage engine and connection * Add Also-Notify support to PowerDNS backend * Wrap backend interactions in try/catch blocks * Add a base 'Backend' exception class for backend specific exceptions to extend from * Fetching a domain's list of authoritative name servers should not be filtered by tenant\_id * Ensure database-sync works when no version is specified * Rename sync-all to the more accurate "sync-domains" * Ensure we enforce the various rules for CNAME records * Add novalocal to the default domain name blacklist * Fixup migration #12 and support a target version when doing a database-sync * Ensure migrate.cfg's are included in the sdist tarball * Saner default values for SOA * Ensure serial number does not go backwards * Pin to jsonschema less than 1.0 * Rename the X-Moniker-Tenant-ID header to X-Moniker-Sudo-Tenant-ID to make more clear its meaning and use * Support SSHFP records * Correct migration #10 * Massively improve hostname validation * Move diagnostics API resource under /v1/ and split out the sync methods * Add support for plugin provided API resources * Add 'servers' link to domain schema * Drop the ipv4 and ipv6 columns from servers. It's never been used and makes little sense * Add ability to fetch the list of nameservers hosting a particular domain * Consistently use try/except/else * Ensure doc examples use valid JSON * Correct Context-Type -> Content-Type typo in docs * Attach context to local.store a little earlier * Ensure tools/\* is included in sdist * Remove unnecessary test api-paste and policy.json * Ensure resources are included in dist packages * Ensure we attach the context object to oslo-local for oslo-log to find * Simple implementation of DNSMasq backend * PowerDNS: Allow domain type to be configured * Ensure PowerDNS backup updates the SOA serial when necessary * Add ordername/auth cols to PowerDNS Record model * Set the auth field correctly for PowerDNS * Allow Context properties to be passed through get\_admin\_context() * Fixup moniker-manage sync commands * Add moniker-manage CLI commands to trigger sync's * Allow admin context's to retrieve domains from all tenants * PowerDNS currently only supports hmac-md5 TSIG * Calls to get\_servers from backends should use an admin context * Add moniker-manage commands for maintaining servers and TSIG keys * Use a dash as the command separater in moniker-manage * Fix incorrect column name used when updating a TSIG key * Add support for TSIG to PowerDNS backend * Add tests for incorrect domain\_id checks * Ensure records belong to the domain\_id supplied in the URL * Pass TSIG Key Create/Update/Delete to backend implementations * Fixup a rebase gone wrong. * Provide initial support for TSIG * Pass an instance of the central service, or the central\_api proxy to backends * Add initial PowerDNS migration repo * Fixup bug in bind9 backend * Domain Sync should not attempt to delete records after deleting the domain * Prevent renaming of a domain, and ensure records are contained in their parent domain * Add SPF to type ENUM in Records Table * Update REST API docs to remove links * Remove some magic from the RPC Backend API * Add naive domain/record synchronization implementations 2013.1.alpha1 ------------- * Ensure config files are included in sdist tarball * Rename moniker-api-paste.ini -> api-paste.ini * Cleanup and simplify Tenant "Sudo" Code * Cleanup Blacklist code, Protect from sub-domain hijacking. Upgrade to pyflakes 0.6.1 * Override the format for records * Replace reserved domain suffixes with regex based domain name blacklist * Use Policy enforcement to record an Audit trail * Update to JSONSchema 0.8 final * Re-add version.py * Initial Diagnostics API endpoint * Sync with Oslo 30a50c8a * Move config files from 'etc/' to 'etc/moniker/' to match what oslo's update.py expects * Allow Moniker Services to Spawn N processes each * Add sample config entry for reserved\_domain\_suffixes * Change to rootwrapper - bug #1075120 * A Domain's TTL should be optional * Sanitize content field for certain record types * Pass server list from central -> backend for domain operations * Add sample PowerDNS backend config * Minor doc cleanup's * Update Docs with GetRecord call * PowerDNS Backend Driver * Fix bug #1075268 - Support multiple notification handlers listening to the same notification type * Log messages produced by the Keystone Auth Token middleware * Add support for a "sudo" like mechanism in the API * Add dummy versions list endpoint * Add support for admin-reserved DNS domain name suffixes * Add support for PTR records * \*Really\* cleanup the sample config this time * Sync with oslo a8973c52 * Add tests for API 409 Handling (Duplicates / Conflicts) * Add tests for API 404 Handling * Handle RPC timeout's appropriately in the API * Updated Docs with recent API changes, particularly records * Cleanup sample config file * Add tests for KeystoneContextMiddleware and NoAuthMiddleware * Allow wildcard DNS records using a \* * Update MANIFEST.in to ensure only sample configs are included * Ensure \`moniker-manage --version\` reports the correct version number * Sync with oslo-incubator ad93e4e3 * Fix coverage output folder * Switch to a single config file, using a config group per service * Fixup default policy.json * Allow configuration file to be specified via --config-file * Add more happy path API tests for servers/domains/records * Ensure Schema handle datetime objects appropriately * Centralize argv slicing * Use consistent base class name for moniker.backend tests * Remove dead code from moniker.storage * Fixup hostname regex + add some tests for valid host names * Provide sample logdir config option * Sync with oslo 8888ad01 * Ensure bin/moniker-manage is executable * Ensure MANIFEST.in is correct - No longer include \*.pyc * Exclude ST2 project file from sdist * Ditch pre\_version argument to oslo-version * Added generic SQLOPTS * Record TTL should default to, and accept, NULL values * Remove unnecessary if/else block from the bind9 zone template * Move database\_connection sample config to the correct section * Remove unnecessary steps from the install guide * Ensure partial API updates are validated correctly * Include setup-requires in tox.ini * Sync with Oslo e6c576d9 * Fixup sample moniker-api.conf * moniker-manage CLI should read DB connection string from correct config group * Minor install doc corrections * Ensure Plugin config declarations are compatible with oslo-config's \`import\_opt\` method * Partial fix for bug #1074093 * Correctly raise Duplicate exceptions with MySQL * Fixup migration #3 for MySQL * Add /bind9 to .gitignore * Fixup bind9 zone template * bug #1086467, fixed by using moniker record ID in dns\_domains column * Fixup final pyflakes error + enable pyflakes check by default * Fixup Server JSONSchema * Allow the central and agent services to have separate defaults for the backend\_driver config option * cfg.CONF is a global, let's not pass it around unnecessarily * Add backend\_driver default to moniker-central.conf * Switch to plain .json schemas and improve Schema handling * Added central backend changes and rpc plugin. Added write\_database flag to mysqlbind agent * Fix inconsistencies in use of IPAddr and UUID instances * Fixup API after breakage in change Ie65b6d25 * Cleanup use of Flask Blueprint's in the API * Sync with Oslo-Incubator 1fd7694e * Move SQLA types to shared location * Add empty testcase for the MySQL Bind9 backend * Working mysqlbind agent. Thank you to Endre and Kiall for the help! * Fixed a single-letter typo in docs * Move out session from the sqlalchemy impl to a more re-usable place * Keystone helper * Change the use of self.conf to cfg.CONF[self.name] * Fixup sample agent config * Tests cleanup and add helpers * Add more test helpers * More install doc corrections * Install doc corrections * POST helper for API tests * Do teardown properly * Abstract test functionality a bit more - make more use of get\_\*\_fixture * Fixup config access in bind9 backend * Add DB init commands to README.md * Add first API test for listing servers * The PyFlakes tox env should not run by default * Process only events with handlers - skip the rest * Fixes bug #1081525 * Typo fix in install docs * Move fixtures to be available to all tests * Move docs where they belong (RTFD) * Add cliff to pip-requires and ensure all bin/ files are checked with pep8 * Make us client library independent for server side operations * Fix so it invokes on load * Generalize tests of plugins take 2, bug #1080415 * Add Quantum handlers for floating ip with tests * Fixes bug #1080467 * Generalize testcases for handlers, bug #1080415 * Fix broken version for migrate. * Implemented deltetion in the bind9 agent, fixed deletion in the backend, added migrate for foreign key changes * Cleanup tox / test deps * Fix most issues identified by PyFlakes * Add PyFlakes tox env * Update readme a bit * Add Quantum samples * Minor test cleanups * Remove \`get\_config\_overrides\` method from tests * Add policy checks for all resource create/update/delete/get/list actions * Pull Keystone middleware from the keystone client package * Restrict the Servers resource to admin users * Parse roles from Keystone into the Context * Track plugin name and type within records * Update the docs to use virtualenv's --no-site-packages flag * Update docs according to latest plugin change * Abstract out functionality into plugins * Fixed bind9 agent backend to handle new domains properly * Add \*.egg to .gitignore * Subclass OS-Common's Context class * Added fix to zone template to append dot to end of data for various records that require it * Add utils.resource\_string() method * Ensure Agent service calls the backends register\_opts() method * Be consistent with sample state\_path configuration value * Switch bind9 agent to a driver based implementation * Sync up notification handler test naming * Remove backported unittest assertions in favour of unittest2 * Ensure database-connection config variable is defined correctly * Minor sample config file fixes * Make notification handler config option name consistent * Add nosexcover and nosehtmloutput Nosetests plugins to tools/test-requires * Document state-path configuration option * Fix bug #1075595 - Ensure a missing configuration file raises an error * Ensure the bind9 agent logs an error when there are no servers configured * Provide a sane sample database\_connection config value * Ensure we depend on SQLAlchemy 7.x * Added moniker API documentation * Re-order tox.ini sections * Fixup broken migration * Cleanup UnitTest assert backports * Add initial support for handling notifications from other OpenStack services * Add filtering to the storage layers get\_\* methods * Split on "+" to determine driver. * Update requirements for monikerclient -> python-monikerclient * Add pypi trove classifiers * Import and make use of openstack.common.version module * Sync with OS-Common 3d6c2368a5de16d875341426db8ddc9888213264 * Remove duplicated line from docs * Update docs a little * Add requirements for RTD * Cache pip downloads on Jenkins * Remove Travis CI config, now that Moniker is on Gerrit * Fixup deps and tox.ini for Stackforge+Gerrit * Update docs for Servers API * Hide autogenated doc files in Sublime Text 2 project * Add sample API call to the sphinx docs (It's not necessarily accurate!) * Add sphinx doc skeleton * Update MANIFEST.in * Ensure CLI only loads local file if it exists * Move optional dep's to their own file * Use a local config file only when it exists * Sync with OS Common aca1805d911caefe14a73edb6ced281cf54e7ad2 * Update default config files * Remove DB migrations from TODO list * Move SQLA dep in pip-requires to indicate it is optional (kinda) * Complete Skipped storage tests * Ensure we use a single Service instance per test case * Ensure tearDown is performed in the reverse order of setUp * Switch from Query.filter() -> Query.get() for single record fetches * Add Storage test for get\_record/get\_records * Minor cleanup * Lower the default SQL debug level * NULL is an acceptable value for tenant\_id * Ensure \`moniker database\` commands read the moniker-central config file * Cleanup SQLA migrate changes + "Un-Abstract" the type definitions * Migrate scripts now work! Also re-coded the tenant\_id NULL fix * Found a bug that allows insertion into domains with NULL tenant\_id * Changes to get sqlalchemy migrate to work. Still not there * Move create/destroy DB hacks to the tests themselves, and ensure they respect the storage driver choice * Update DB CLI commands for database -> storage changes * Fixup previous commit * Saner default values for Path+DB configs * Ensure the SQLA tests actually use the SQLA driver * Remove unnecessary hack inherited from ceilometer * Rename "sqla" to "impl\_sqlalchemy" * Fix license headers and skip setting engine before connection * Attempt to make backends more driver based like in Ceilometer * Switch from git:// to GubHub tarball via https for python-monikerclient dep * Rename sql\_connection to the more generic database\_connection * PEP8 Fix * Add database init + sync commands * Backport a few of assert methods not present in Py26. Fixes the tests on Py26 * Remove pypi from travis-ci config * Add openstack.nose\_plugin as a test dep * Add Openstack-Nose test dep * Fixup Travis-CI and tox config * Two newlines needed for zone files that have more than one RR to have one newline at end * Add Travis-CI config file * Final fixes for migrations addition * Add tests policy.json * Ensure utils.find\_config() raises correctly on failure to find config * Policy implementation (part 1) * Add Database driver server method tests * Ensure agents recieve the correct params for delete\_domain calls * Handle \`exceptions.Forbidden\` appropriately in the API * Correct handling of duplicates * Fixup PEP8 errors in previous merge + remove license info from empty files * Add SQLAlchemy Migrate dep * Add some missing deps required by OS-Common * Delete duplicated schemas.py * Include newer bin/ files on tox pep8 checks * Use the latest version of PEP8 * Re-creating changes, this time with Git identity set! \* Changes to models.py to set column width \* Added initial migration scripts * Add PasteDeploy dep to tools/pip-requires * Remove duplicate requirement on setuptools-git * Extract setup-requires from setup.py * Add tests\_require to setup.py * Move TODO's to the bottom on the readme * Move some dep's from test-requires to pip-requires * Add some \*really\* basic instructions * Add .venv to gitignore file * Ensure all bin/ files are as "dumb" as possible * Add Moniker Central tests for domains and records * Remove temporary keystone config options * Remove Debug API endpoint + Remove some unneeded imports * Switch from Flask's WSGI Server to OpenStack Commons + Use PasteDeploy for easier Keystone integration * Add OpenStack Common WSGI module * Ensuring fitering a empty collection works * Move API app from \_\_init\_\_.py -> app.py * Use fake RPC backend for testing * Add Moniker Central server management tests * Remove some un-used imports * Move create schema hack into into it's own method * Add tox and venv to ST2 folder ignores * Fix another missing license header * Add skeleton test framework * Fix license headers * Make use of OpenStack Common setup module * Ensure the bind9 agent's output path is created, if necessary * Ensure delete's are flushed to the DB immediately * Ensure moniker's exceptions are re-raised over RPC * Reapply WIP openstack common patch from https://review.openstack.org/#/c/13953/ * Ensure the RNDC call only supplies a config file option if one has been explicitly set * Remove leftover config file * Sync with OpenStack Common rev f182936b * Add some temp config vars to disable keystone and use a default tenant/user instead * Lots of changes: * Add utils and exception modules from openstack-common * Switch default sql\_connection to an in-memory sqlite DB * Sync to openstack-common rev 974989d9 * Remove leftover file * Add TODO note * Rename TODO list * Initial Public Commit ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/LICENSE0000664000175000017500000002363700000000000014606 0ustar00zuulzuul00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. ././@PaxHeader0000000000000000000000000000003400000000000011452 xustar000000000000000028 mtime=1712145124.0123584 designate-18.0.0/PKG-INFO0000664000175000017500000000214300000000000014663 0ustar00zuulzuul00000000000000Metadata-Version: 2.1 Name: designate Version: 18.0.0 Summary: DNS as a Service Home-page: https://docs.openstack.org/designate/latest/ Author: OpenStack Author-email: openstack-discuss@lists.openstack.org License: UNKNOWN Description: DNS as a Service Platform: UNKNOWN Classifier: Environment :: OpenStack Classifier: Environment :: No Input/Output (Daemon) Classifier: Intended Audience :: Information Technology Classifier: Intended Audience :: System Administrators Classifier: License :: OSI Approved :: Apache Software License Classifier: Operating System :: POSIX :: Linux Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Topic :: Internet :: Name Service (DNS) Requires-Python: >=3.8 Provides-Extra: edgegrid Provides-Extra: test ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/README.rst0000664000175000017500000000527100000000000015262 0ustar00zuulzuul00000000000000======================== Team and repository tags ======================== .. image:: https://governance.openstack.org/tc/badges/designate.svg :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on =================== OpenStack Designate =================== Designate is an OpenStack project, providing DNSaaS. IRC: #openstack-dns @ oftc Installation: https://docs.openstack.org/designate/latest/ API --- To learn how to use Designate's API, consult the documentation available online at: - `DNS API Reference `__ For more information on OpenStack APIs, SDKs and CLIs in general, refer to: - `OpenStack for App Developers `__ - `Development resources for OpenStack clouds `__ Development =========== Designate follows the `OpenStack Gerrit Workflow`_ Setup ----- Setup a working environment: .. code-block:: bash git clone https://opendev.org/openstack/designate cd designate virtualenv .venv . .venv/bin/activate pip install -r requirements.txt -r test-requirements.txt pip install -e . Building Docs ------------- To build the documentation from the restructured text source, do the following: .. code-block:: bash tox -e docs Now point your browser at doc/build/html/index.html (the official documentation is published to `docs.openstack.org`_ by the maintainers. Testing ------- Execute all unit tests .. code-block:: shell tox -e py3 Execute only backend tests .. code-block:: shell tox -e py3 -- unit.backend Execute only a single test .. code-block:: shell tox -e py3 -- unit.backend.test_pdns4.PDNS4BackendTestCase.test_create_zone_success Contributing ------------ Install the git-review package to make life easier .. code-block:: shell pip install git-review Branch, work, & submit: .. code-block:: shell # cut a new branch, tracking master git checkout --track -b bug/id origin/master # work work work git add stuff git commit # rebase/squash to a single commit before submitting git rebase -i # submit git-review Other Information ----------------- * Free software: Apache license * Documentation: https://docs.openstack.org/designate/latest/ * Release notes: https://docs.openstack.org/releasenotes/designate/ * Source: https://opendev.org/openstack/designate * Bugs: https://bugs.launchpad.net/designate * Blueprints: https://blueprints.launchpad.net/designate .. _OpenStack Gerrit Workflow: https://docs.openstack.org/infra/manual/developers.html#development-workflow .. _docs.openstack.org: https://docs.openstack.org/designate/latest/ ././@PaxHeader0000000000000000000000000000003400000000000011452 xustar000000000000000028 mtime=1712145123.8243532 designate-18.0.0/api-ref/0000775000175000017500000000000000000000000015111 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000003400000000000011452 xustar000000000000000028 mtime=1712145123.8483539 designate-18.0.0/api-ref/source/0000775000175000017500000000000000000000000016411 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/conf.py0000664000175000017500000001507400000000000017717 0ustar00zuulzuul00000000000000# 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 limitations # under the License. # # ironic documentation build configuration file, created by # sphinx-quickstart on Sat May 1 15:17:47 2010. # # This file is execfile()d with the current directory set to # its containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import os import sys html_theme = 'openstackdocs' html_theme_options = { "sidebar_mode": "toc", "sidebar_dropdown": "api_ref", } extensions = [ 'os_api_ref', 'openstackdocstheme' ] # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.insert(0, os.path.abspath('../../')) sys.path.insert(0, os.path.abspath('../')) sys.path.insert(0, os.path.abspath('./')) # -- General configuration ---------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. # The suffix of source filenames. source_suffix = '.rst' # The encoding of source files. # # source_encoding = 'utf-8' # The master toctree document. master_doc = 'index' # General information about the project. project = 'Designate API Reference' copyright = 'OpenStack Foundation' # openstackdocstheme options openstackdocs_repo_name = 'openstack/designate' openstackdocs_bug_project = 'designate' openstackdocs_bug_tag = '' openstackdocs_auto_name = False # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: # today = '' # Else, today_fmt is used as the format for a strftime call. # today_fmt = '%B %d, %Y' # The reST default role (used for this markup: `text`) to use # for all documents. # default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. # add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). add_module_names = False # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'native' # -- Options for man page output ---------------------------------------------- # Grouping the document tree for man pages. # List of tuples 'sourcefile', 'target', 'title', 'Authors name', 'manual' # -- Options for HTML output -------------------------------------------------- # The theme to use for HTML and HTML Help pages. Major themes that come with # Sphinx are currently 'default' and 'sphinxdoc'. # html_theme_path = ["."] # html_theme = '_theme' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". # html_title = None # A shorter title for the navigation bar. Default is the same as html_title. # html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. # html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. # html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". # html_static_path = ['_static'] # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # html_use_smartypants = True # Custom sidebar templates, maps document names to template names. # html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. # html_additional_pages = {} # If false, no module index is generated. # html_use_modindex = True # If false, no index is generated. # html_use_index = True # If true, the index is split into individual pages for each letter. # html_split_index = False # If true, links to the reST sources are added to the pages. # html_show_sourcelink = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. # html_use_opensearch = '' # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). # html_file_suffix = '' # Output file base name for HTML help builder. htmlhelp_basename = 'designatedoc' # -- Options for LaTeX output ------------------------------------------------- # The paper size ('letter' or 'a4'). # latex_paper_size = 'letter' # The font size ('10pt', '11pt' or '12pt'). # latex_font_size = '10pt' # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass # [howto/manual]). latex_documents = [ ('index', 'Designate.tex', 'OpenStack DNS API Documentation', 'OpenStack Foundation', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. # latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. # latex_use_parts = False # Additional stuff for the LaTeX preamble. # latex_preamble = '' # Documents to append as an appendix to all manuals. # latex_appendices = [] # If false, no module index is generated. # latex_use_modindex = True ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-blacklist.inc0000664000175000017500000001151200000000000022732 0ustar00zuulzuul00000000000000========== Blacklists ========== The blacklist entries are used to manage blacklisted zones. If a zone is blacklisted, then it cannot be used to create a zone. By default, only an admin can manage these entries. Blacklisted zones are stored as a regular expression (regex) pattern in the Database/Storage in the blacklists table. Create Blacklist ================ .. rest_method:: POST /v2/blacklists Create a Blacklist Response codes -------------- .. rest_status_code:: success status.yaml - 201 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 405 - 409 - 500 - 503 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - pattern: blacklist_pattern - description: blacklist_description Request Example --------------- .. literalinclude:: samples/blacklists/create-blacklist-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - pattern: blacklist_pattern - description: blacklist_description - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/blacklists/blacklist-response.json :language: javascript List Blacklists --------------- .. rest_method:: GET /v2/blacklists List all blacklists .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - pattern: blacklist_pattern_filter Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - pattern: blacklist_pattern - description: blacklist_description - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/blacklists/list-blacklists-response.json :language: javascript Show Blacklist ============== .. rest_method:: GET /v2/blacklists/{blacklist_id} Show a blacklist .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - blacklist_id: blacklist_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - pattern: blacklist_pattern - description: blacklist_description - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/blacklists/blacklist-response.json :language: javascript Update Blacklist ================ .. rest_method:: PATCH /v2/blacklists/{blacklist_id} Update a Blacklist Normal response codes: 200 Error response codes: 405,404,403,401,400,503 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - pattern: blacklist_pattern - description: blacklist_description - blacklist_id: blacklist_id Request Example --------------- .. literalinclude:: samples/blacklists/update-blacklist-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - pattern: blacklist_pattern - description: blacklist_description - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/blacklists/update-blacklist-response.json :language: javascript Delete a Blacklist ================== .. rest_method:: DELETE /v2/blacklists/{blacklist_id} Delete a blacklist .. rest_status_code:: success status.yaml - 204 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - blacklist_id: blacklist_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-index.rst0000664000175000017500000000132200000000000022126 0ustar00zuulzuul00000000000000:tocdepth: 2 =========== DNS v2 API =========== .. rest_expand_all:: .. include:: dns-api-v2-zone.inc .. include:: dns-api-v2-zone-import.inc .. include:: dns-api-v2-zone-export.inc .. include:: dns-api-v2-zone-tasks.inc .. include:: dns-api-v2-shared-zones.inc .. include:: dns-api-v2-zone-ownership-transfer-request.inc .. include:: dns-api-v2-zone-ownership-transfer-accept.inc .. include:: dns-api-v2-recordset.inc .. include:: dns-api-v2-pool.inc .. include:: dns-api-v2-limits.inc .. include:: dns-api-v2-tld.inc .. include:: dns-api-v2-tsigkey.inc .. include:: dns-api-v2-blacklist.inc .. include:: dns-api-v2-quota.inc .. include:: dns-api-v2-service-status.inc .. include:: dns-api-v2-reverse-floatingips.inc ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-limits.inc0000664000175000017500000000206700000000000022270 0ustar00zuulzuul00000000000000====== Limits ====== Show the limits for the current project Get Project Limits ================== .. rest_method:: GET /v2/limits List project limits .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - max_page_limit: max_page_limit - max_recordset_name_length: max_recordset_name_length - max_recordset_records: max_recordset_records - max_zone_name_length: max_zone_name_length - max_zone_records: max_zone_records - max_zone_recordsets: max_zone_recordsets - max_zones: max_zones - min_ttl: min_ttl Response Example ---------------- .. literalinclude:: samples/limits/get-limits-response.json :language: javascript ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-pool.inc0000664000175000017500000000401400000000000021732 0ustar00zuulzuul00000000000000===== Pools ===== Get information about the pools in a designate install List all Pools ============== .. rest_method:: GET /v2/pools Get the list of Pools. .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - description: description - id: pool_id - attributes: pool_attributes - project_id: project_id - ns_records: pool_ns_records - name: pool_name - created_at: created_at - updated_at: updated_at - links: links - metadata: metadata Response Example ---------------- .. literalinclude:: samples/pools/list-pools-response.json :language: javascript Show a Pool =========== .. rest_method:: GET /v2/pools/{pool_id} Get a specific Pool Normal response codes: 200 Error response codes: 405,404,403,401,400,503 .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - pool_id: path_pool_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - description: description - id: pool_id - attributes: pool_attributes - project_id: project_id - ns_records: pool_ns_records - name: pool_name - created_at: created_at - updated_at: updated_at - links: links - metadata: metadata Response Example ---------------- .. literalinclude:: samples/pools/show-pool-response.json :language: javascript ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-quota.inc0000664000175000017500000000745300000000000022124 0ustar00zuulzuul00000000000000====== Quotas ====== Quota operations. View Quotas =========== .. rest_method:: GET /v2/quotas/{project_id} View a projects quotas This returns a key:value set of quotas on the system. .. note:: If a user is viewing another projects quotas, they will need to set ``x-auth-all-projects`` to ``True`` They will need a role with the ``All-Projects`` permission to do this. .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - project_id: path_project_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id Response Example ---------------- .. literalinclude:: samples/quotas/get-quotas-response.json :language: javascript View Current Project's Quotas ============================= .. rest_method:: GET /v2/quotas/ View the quotas for the current project This returns a key:value set of quotas on the system. .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - project_id: path_project_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id Response Example ---------------- .. literalinclude:: samples/quotas/get-quotas-response.json :language: javascript Set Quotas ========== .. rest_method:: PATCH /v2/quotas/{project_id} Set a projects quotas The request should be a key:value set of quotas to be set This returns a key:value set of quotas on the system. .. note:: If a user is updating another projects quotas, they will need to set ``x-auth-all-projects`` to ``True`` They will need a role with the "All-Projects" and "set-quotas" permission to do this. .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request Example --------------- .. literalinclude:: samples/quotas/set-quotas-request.json :language: javascript Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - project_id: path_project_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id Response Example ---------------- .. literalinclude:: samples/quotas/set-quotas-response.json :language: javascript Reset Quotas ============ .. rest_method:: DELETE /v2/quotas/{project_id} Reset all quotas for a project to default .. note:: If a user is resetting another projects quotas, they will need to set ``x-auth-all-projects`` to ``True`` They will need a role with the ``All-Projects`` and "set-quotas" permission to do this. .. rest_status_code:: success status.yaml - 204 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - project_id: path_project_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-recordset.inc0000664000175000017500000003327600000000000022767 0ustar00zuulzuul00000000000000========== Recordsets ========== Recordsets operations. Create Recordset ================ .. rest_method:: POST /v2/zones/{zone_id}/recordsets Create a recordset in a zone .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - name: recordset_name - zone_id: path_zone_id - ttl: recordset_ttl - description: recordset_description - type: recordset_type - records: recordset_records Request Example --------------- .. literalinclude:: samples/recordsets/create-recordset-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - project_id: project_id - name: recordset_name - ttl: recordset_ttl - status: status - action: action - zone_id: recordset_zone_id - zone_name: recordset_zone_name - description: recordset_description - type: recordset_type - version: version - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/recordsets/create-recordset-response.json :language: javascript List Recordsets in a Zone ========================= .. rest_method:: GET /v2/zones/{zone_id}/recordsets This lists all recordsets in a zone .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - limit: limit - marker: marker - sort_dir: sort_dir - sort_key: sort_key - name: recordset_name_filter - type: recordset_type_filter - ttl: recordset_ttl_filter - data: recordset_data_filter - status: recordset_status_filter - description: recordset_description_filter Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - project_id: project_id - name: recordset_name - ttl: recordset_ttl - status: status - action: action - zone_id: recordset_zone_id - zone_name: recordset_zone_name - description: recordset_description - type: recordset_type - version: version - created_at: created_at - updated_at: updated_at - links: links - metadata: metadata Response Example ---------------- .. literalinclude:: samples/recordsets/list-recordset-in-zone-response.json :language: javascript List all Recordsets owned by project ==================================== .. rest_method:: GET /v2/recordsets This lists all recordsets owned by a project in Designate .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - limit: limit - marker: marker - sort_dir: sort_dir - sort_key: sort_key - name: recordset_name_filter - type: recordset_type_filter - ttl: recordset_ttl_filter - data: recordset_data_filter - status: recordset_status_filter - description: recordset_description_filter Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - project_id: project_id - name: recordset_name - ttl: recordset_ttl - status: status - action: action - zone_id: recordset_zone_id - zone_name: recordset_zone_name - description: recordset_description - type: recordset_type - version: version - created_at: created_at - updated_at: updated_at - links: links - metadata: metadata Response Example ---------------- .. literalinclude:: samples/recordsets/list-all-recordset-response.json :language: javascript Show a Recordset ================ .. rest_method:: GET /v2/zones/{zone_id}/recordsets/{recordset_id} Show an single recordset .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - recordset_id: path_recordset_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - project_id: project_id - name: recordset_name - ttl: recordset_ttl - status: status - action: action - zone_id: recordset_zone_id - zone_name: recordset_zone_name - description: recordset_description - type: recordset_type - version: version - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/recordsets/show-recordset-response.json :language: javascript Update a Recordset ================== .. rest_method:: PUT /v2/zones/{zone_id}/recordsets/{recordset_id} Update a recordset .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - x-designate-edit-managed-records: x-designate-edit-managed-records - zone_id: path_zone_id - recordset_id: path_recordset_id - ttl: recordset_ttl - description: recordset_description - records: recordset_records Request Example --------------- .. literalinclude:: samples/recordsets/update-recordset-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - project_id: project_id - name: recordset_name - ttl: recordset_ttl - status: status - action: action - zone_id: recordset_zone_id - zone_name: recordset_zone_name - description: recordset_description - type: recordset_type - version: version - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/recordsets/update-recordset-response.json :language: javascript Delete a Recordset ================== .. rest_method:: DELETE /v2/zones/{zone_id}/recordsets/{recordset_id} Delete a recordset .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - x-designate-edit-managed-records: x-designate-edit-managed-records - zone_id: path_zone_id - recordset_id: path_recordset_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - project_id: project_id - name: recordset_name - ttl: recordset_ttl - status: status - action: action - zone_id: recordset_zone_id - zone_name: recordset_zone_name - description: recordset_description - type: recordset_type - version: version - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/recordsets/update-recordset-response.json :language: javascript Create a MX Recordset ===================== .. rest_method:: POST /v2/zones/{zone_id}/recordsets Create a MX recordset in a zone .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - x-designate-edit-managed-records: x-designate-edit-managed-records - zone_id: path_zone_id - name: recordset_name - ttl: recordset_ttl - description: recordset_description - type: recordset_type - records: recordset_records Request Example --------------- .. literalinclude:: samples/recordsets/create-mx-recordset-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - project_id: project_id - name: recordset_name - ttl: recordset_ttl - status: status - action: action - zone_id: recordset_zone_id - zone_name: recordset_zone_name - description: recordset_description - type: recordset_type - version: version - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/recordsets/create-mx-recordset-response.json :language: javascript Create a SSHFP Recordset ======================== .. rest_method:: POST /v2/zones/{zone_id}/recordsets Create a SSHFP recordset in a zone .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - name: recordset_name - ttl: recordset_ttl - description: recordset_description - type: recordset_type - records: recordset_records Request Example --------------- .. literalinclude:: samples/recordsets/create-sshfp-recordset-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - project_id: project_id - name: recordset_name - ttl: recordset_ttl - status: status - action: action - zone_id: recordset_zone_id - zone_name: recordset_zone_name - description: recordset_description - type: recordset_type - version: version - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/recordsets/create-sshfp-recordset-response.json :language: javascript Create a SPF Recordset ====================== .. rest_method:: POST /v2/zones/{zone_id}/recordsets Create a SPF recordset in a zone .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - name: recordset_name - ttl: recordset_ttl - description: recordset_description - type: recordset_type - records: recordset_records Request Example --------------- .. literalinclude:: samples/recordsets/create-spf-recordset-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - project_id: project_id - name: recordset_name - ttl: recordset_ttl - status: status - action: action - zone_id: recordset_zone_id - zone_name: recordset_zone_name - description: recordset_description - type: recordset_type - version: version - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/recordsets/create-spf-recordset-response.json :language: javascript Create a SRV Recordset ====================== .. rest_method:: POST /v2/zones/{zone_id}/recordsets Create a SRV recordset in a zone .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - name: recordset_name - ttl: recordset_ttl - description: recordset_description - type: recordset_type - records: recordset_records Request Example --------------- .. literalinclude:: samples/recordsets/create-srv-recordset-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - project_id: project_id - name: recordset_name - ttl: recordset_ttl - status: status - action: action - zone_id: recordset_zone_id - zone_name: recordset_zone_name - description: recordset_description - type: recordset_type - version: version - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/recordsets/create-srv-recordset-response.json :language: javascript ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-reverse-floatingips.inc0000664000175000017500000001024000000000000024747 0ustar00zuulzuul00000000000000=========== FloatingIPs =========== In order to use the FloatingIPs functionality you will need to have a FloatingIP associated to your project in Neutron. Set FloatingIP's PTR record ============================ .. rest_method:: PATCH /v2/reverse/floatingips/{region}:{floatingip_id} Set a PTR record for the given FloatingIP. The domain if it does not exist will be provisioned automatically. .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - ptrdname: fptrd_name - description: fptr_description - ttl: fptr_ttl - region: region - floatingip_id: floatingip_id Request Example --------------- .. literalinclude:: samples/reverse_floatingips/set-ptr-record-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: fptr_id - ptrdname: fptrd_name - description: fptr_description - ttl: fptr_ttl - address: floatingip_address - status: status - action: action - links: links Response Example ---------------- .. literalinclude:: samples/reverse_floatingips/ptr-record-response.json :language: javascript Show FloatingIP's PTR record ============================ .. rest_method:: GET /v2/reverse/floatingips/{region}:{floatingip_id} Shows a particular FloatingIP PTR .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - region: region - floatingip_id: floatingip_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: fptr_id - ptrdname: fptrd_name - description: fptr_description - ttl: fptr_ttl - address: floatingip_address - status: status - action: action - links: links Response Example ---------------- .. literalinclude:: samples/reverse_floatingips/ptr-record-response.json :language: javascript List FloatingIP's PTR record ============================ .. rest_method:: GET /v2/reverse/floatingips List FloatingIP PTR records .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: fptr_id - ptrdname: fptrd_name - description: fptr_description - ttl: fptr_ttl - address: floatingip_address - status: status - action: action - links: links Response Example ---------------- .. literalinclude:: samples/reverse_floatingips/list-ptr-record-response.json :language: javascript Unset FloatingIP's PTR record ============================= .. rest_method:: PATCH /v2/reverse/floatingips/{region}:{floatingip_id} Unset the PTR record for a FloatingIP .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - region: region - floatingip_id: floatingip_id Request Example --------------- .. literalinclude:: samples/reverse_floatingips/unset-ptr-record-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-service-status.inc0000664000175000017500000000421100000000000023741 0ustar00zuulzuul00000000000000================ Service Statuses ================ The Service Status entries are used to track the health state of the services in the Designate system. Each service will report in it's health via RPC or using HTTP. List Statuses ============= .. rest_method:: GET /v2/service_statuses List all Services and statuses. .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - capabilities: capabilities - created_at: created_at - heartbeated_at: heartbeated_at - hostname: hostname - id: id - links: links - service_name: service_name - service_statuses: service_statuses - stats: stats - status: status - updated_at: updated_at Response Example ---------------- .. literalinclude:: samples/service_status/service_status_list.json :language: javascript Show a Service Status ===================== .. rest_method:: GET /v2/service_statuses/{service_id} Show the status of a service. .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - service_id: path_service_id - x-auth-token: x-auth-token Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - capabilities: capabilities - created_at: created_at - heartbeated_at: heartbeated_at - hostname: hostname - id: id - links: links - service_name: service_name - stats: stats - status: status - updated_at: updated_at Response Example ---------------- .. literalinclude:: samples/service_status/service_status_show.json :language: javascript ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-shared-zones.inc0000664000175000017500000000732400000000000023372 0ustar00zuulzuul00000000000000============ Shared Zones ============ Shared zones operations. Show a Zone Share ================= .. rest_method:: GET /v2/zones/{zone_id}/shares/{zone_share_id} Show a single zone share. **New in version 2.1** .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 500 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - zone_share_id: path_zone_share_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - zone_id: shared_zone_id - project_id: project_id - target_project_id: target_project_id - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/zones/share-zone-response.json Get All Shared Zones ==================== .. rest_method:: GET /v2/zones/{zone_id}/shares List all zone shares. **New in version 2.1** .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 500 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - target_project_id: target_project_id_filter Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - zone_id: shared_zone_id - project_id: project_id - target_project_id: target_project_id - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/zones/list-share-zone-response.json Create Shared Zone ================== .. rest_method:: POST /v2/zones/{zone_id}/shares Share a zone with another project. **New in version 2.1** .. rest_status_code:: success status.yaml - 201 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 500 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - target_project_id: target_project_id Request Example --------------- .. literalinclude:: samples/zones/share-zone-request.json Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - zone_id: shared_zone_id - project_id: project_id - target_project_id: target_project_id - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/zones/share-zone-response.json Delete a Zone Share =================== .. rest_method:: DELETE /v2/zones/{zone_id}/shares/{zone_share_id} Delete a zone share. **New in version 2.1** .. rest_status_code:: success status.yaml - 204 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 500 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - zone_share_id: path_zone_share_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-tld.inc0000664000175000017500000001037400000000000021552 0ustar00zuulzuul00000000000000=== Tld === Tld operations. Create Tld ========== .. rest_method:: POST /v2/tlds Create a tld .. rest_status_code:: success status.yaml - 201 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - name: tld_name - description: tld_description Request Example --------------- .. literalinclude:: samples/tlds/create-tld-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - name: tld_name - description: tld_description - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/tlds/tld-response.json :language: javascript Show Tld ======== .. rest_method:: GET /v2/tlds/{tld_id} Show a tld .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - tld_id: tld_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - name: tld_name - description: tld_description - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/tlds/tld-response.json :language: javascript List Tlds ========= .. rest_method:: GET /v2/tlds List the tlds associated with the Project .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - limit: limit - marker: marker - sort_dir: sort_dir - sort_key: sort_key - name: tld_name_filter Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - name: tld_name - description: tld_description - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/tlds/list-tlds-response.json :language: javascript Update Tld ========== .. rest_method:: PATCH /v2/tlds/{tld_id} Update a tld .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - tld_id: tld_id - name: tld_name - description: tld_description Request Example --------------- .. literalinclude:: samples/tlds/update-tld-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - name: tld_name - description: tld_description - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/tlds/update-tld-response.json :language: javascript Delete Tld ========== .. rest_method:: DELETE /v2/tlds/{tld_id} Delete a tld .. rest_status_code:: success status.yaml - 204 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - tld_id: tld_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-tsigkey.inc0000664000175000017500000001241000000000000022437 0ustar00zuulzuul00000000000000======= Tsigkey ======= Transaction signatures (TSIG) is a mechanism used to secure DNS messages and to provide secure server-to-server communication (usually between master and slave server, but can be extended for dynamic updates as well). Create Tsigkeys =============== .. rest_method:: POST /v2/tsigkeys Create a new Tsigkey .. rest_status_code:: success status.yaml - 201 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - name: tsigkey_name - algorithm: tsigkey_algorithm - secret: tsigkey_secret - scope: tsigkey_scope - resource_id: resource_id Request Example --------------- .. literalinclude:: samples/tsigkeys/create-tsigkey-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - resource_id: resource_id - name: tsigkey_name - scope: tsigkey_scope - secret: tsigkey_secret - algorithm: tsigkey_algorithm - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/tsigkeys/tsigkey-response.json :language: javascript List Tsigkeys ============= .. rest_method:: GET /v2/tsigkeys List all tsigkeys .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - limit: limit - marker: marker - sort_dir: sort_dir - sort_key: sort_key - name: tsigkey_name_filter - algorithm: tsigkey_algorithm_filter - scope: tsigkey_scope_filter Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - resource_id: resource_id - name: tsigkey_name - scope: tsigkey_scope - secret: tsigkey_secret - algorithm: tsigkey_algorithm - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/tsigkeys/list-tsigkeys-response.json :language: javascript Show a Tsigkey ============== .. rest_method:: GET /v2/tsigkeys/{tsigkey_id} Show a tsigkey .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - tsigkey_id: tsigkey_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - resource_id: resource_id - name: tsigkey_name - scope: tsigkey_scope - secret: tsigkey_secret - algorithm: tsigkey_algorithm - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/tsigkeys/tsigkey-response.json :language: javascript Update Tsigkey ================ .. rest_method:: PATCH /v2/tsigkeys/{tsigkey_id} Update the attribute(s) of an existing tsigkey .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - name: tsigkey_name - algorithm: tsigkey_algorithm - secret: tsigkey_secret - scope: tsigkey_scope - resource_id: resource_id - tsigkey_id: tsigkey_id Request Example --------------- .. literalinclude:: samples/tsigkeys/update-tsigkey-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - resource_id: resource_id - name: tsigkey_name - scope: tsigkey_scope - secret: tsigkey_secret - algorithm: tsigkey_algorithm - created_at: created_at - updated_at: updated_at - links: links Response Example ---------------- .. literalinclude:: samples/tsigkeys/update-tsigkey-response.json :language: javascript Delete a Tsigkey ================ .. rest_method:: DELETE /v2/tsigkeys/{tsigkey_id} Delete a tsigkey .. rest_status_code:: success status.yaml - 204 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - tsigkey_id: tsigkey_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-zone-export.inc0000664000175000017500000001176700000000000023270 0ustar00zuulzuul00000000000000============ Zone Exports ============ Zone exports can be an asynchronous operation, and there are different endpoints to view the status and progress of an export Create a Zone Export ==================== .. rest_method:: POST /v2/zones/{zone_id}/tasks/export Export a zone. .. note:: This POST should have no body .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_export_id - location: zone_export_location - status: zone_export_status - zone_id: zone_export_zone_id - message: zone_export_message - project_id: project_id - created_at: created_at - updated_at: updated_at - version: version Response Example ---------------- .. literalinclude:: samples/zones/create-zone-export-response.json :language: javascript List all Zone Exports ===================== .. rest_method:: GET /v2/zones/tasks/exports .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: zone_export_zone_id_filter - message: zone_export_message_filter - status: zone_export_status_filter Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_export_id - location: zone_export_location - status: zone_export_status - zone_id: zone_export_zone_id - project_id: project_id - created_at: created_at - updated_at: updated_at - version: version - links: links - metadata: metadata Response Example ---------------- .. literalinclude:: samples/zones/list-zone-export-response.json :language: javascript Show a Zone Export Information ============================== .. rest_method:: GET /v2/zones/tasks/exports/{zone_export_id} .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_export_id: path_zone_export_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_export_id - location: zone_export_location - status: zone_export_status - zone_id: zone_export_zone_id - project_id: project_id - created_at: created_at - updated_at: updated_at - version: version - links: links Response Example ---------------- .. literalinclude:: samples/zones/show-zone-export-response.json :language: javascript Retrive a Zone Export from the Designate Datastore ================================================== .. rest_method:: GET /v2/zones/tasks/exports/{zone_export_id}/export .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 .. note:: This endpoint will send a response with a ``text/dns`` content-type. If the client does not include a ``Accepts: text/dns`` header the request will be rejected. Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_export_id: path_zone_export_id - accepts: zone_export_accepts Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id Response Example ---------------- .. literalinclude:: samples/zones/show-zone-export-content.txt :language: text Delete a Zone Export ==================== .. rest_method:: DELETE /v2/zones/tasks/exports/{zone_export_id} This will just delete the record of the zone export, not the exported zone. The zone will have to be deleted from the zone delete API .. rest_status_code:: success status.yaml - 204 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_export_id: path_zone_export_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-zone-import.inc0000664000175000017500000000755700000000000023263 0ustar00zuulzuul00000000000000=========== Zone Import =========== Zone imports are an asynchronous operation, and there are different endpoints to view the status and progress of an import Create a Zone Import ==================== .. rest_method:: POST /v2/zones/tasks/imports Import a zone. .. note:: This POST should have no body, and the content-type should be text/dns .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_import_id - status: zone_import_status - zone_id: zone_import_zone_id - message: zone_import_message - project_id: project_id - created_at: created_at - updated_at: updated_at - version: version Response Example ---------------- .. literalinclude:: samples/zones/create-zone-import-response.json :language: javascript List all Zone Imports ===================== .. rest_method:: GET /v2/zones/tasks/imports .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: zone_import_zone_id_filter - message: zone_import_message_filter - status: zone_import_status_filter Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_import_id - status: zone_import_status - zone_id: zone_import_zone_id - project_id: project_id - created_at: created_at - updated_at: updated_at - version: version - links: links - metadata: metadata Response Example ---------------- .. literalinclude:: samples/zones/list-zone-import-response.json :language: javascript Show a Zone Import ================== .. rest_method:: GET /v2/zones/tasks/imports/{zone_import_id} .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_import_id: path_zone_import_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_import_id - status: zone_import_status - zone_id: zone_import_zone_id - project_id: project_id - created_at: created_at - updated_at: updated_at - version: version - links: links Response Example ---------------- .. literalinclude:: samples/zones/show-zone-import-response.json :language: javascript Delete a Zone Import ==================== .. rest_method:: DELETE /v2/zones/tasks/imports/{zone_import_id} This will just delete the record of the zone import, not the imported zone. The zone will have to be deleted from the zone delete API .. rest_status_code:: success status.yaml - 204 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_import_id: path_zone_import_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-zone-ownership-transfer-accept.inc0000664000175000017500000000742600000000000027041 0ustar00zuulzuul00000000000000================================== Zone Ownership Transfers - Accepts ================================== Designate allows users to transer ownership of a zone between projects. For the final step, the receiving project has to accept the new zone, using the ``transfer_accepts`` API Create Zone Transfer Accept ============================ .. rest_method:: POST /v2/zones/tasks/transfer_accepts This accepts an offer of a ownership transfer .. rest_status_code:: success status.yaml - 201 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - key: zone_transfer_request_key - zone_transfer_request_id: zone_transfer_request_id Request Example ---------------- .. literalinclude:: samples/zones/create-zone-transfer-accept-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_transfer_accept_id - status: zone_transfer_request_status - project_id: project_id - zone_id: zone_transfer_request_id - key: zone_transfer_request_key - created_at: created_at - updated_at: updated_at - zone_transfer_request_id: zone_transfer_request_id - links: links Response Example ---------------- .. literalinclude:: samples/zones/create-zone-transfer-accept-response.json :language: javascript Get Zone Transfer Accept ======================== .. rest_method:: GET /v2/zones/tasks/transfer_requests/{zone_transfer_accept_id} .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_transfer_accept_id: path_zone_transfer_accept_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_transfer_accept_id - status: zone_transfer_request_status - project_id: project_id - zone_id: zone_transfer_request_id - key: zone_transfer_request_key - created_at: created_at - updated_at: updated_at - zone_transfer_request_id: zone_transfer_request_id - links: links Response Example ---------------- .. literalinclude:: samples/zones/create-zone-transfer-accept-response.json :language: javascript List Zone Transfer Accepts =========================== .. rest_method:: GET /v2/zones/tasks/transfer_accepts This will list all your accepted ownership transfer. .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - status: zone_transfer_accept_status_filter Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_transfer_accept_id - project_id: project_id - status: zone_transfer_request_status - zone_id: zone_transfer_request_id - key: zone_transfer_request_key - created_at: created_at - updated_at: updated_at - zone_transfer_request_id: zone_transfer_request_id - links: links - metadata: metadata Response Example ---------------- .. literalinclude:: samples/zones/list-zone-transfer-accept-response.json :language: javascript ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-zone-ownership-transfer-request.inc0000664000175000017500000001502000000000000027257 0ustar00zuulzuul00000000000000=================================== Zone Ownership Transfers - Requests =================================== Designate allows users to transer ownership of a zone between projects. The traditional route is to create a ``zone_transfer_request``, communicate the key and ID out of band to the intended owner, and they create a ``zone_transfer_accept`` using this information, which will move the ownership of the zone that project. Create Zone Transfer Request ============================ .. rest_method:: POST /v2/zones/{zone_id}/tasks/transfer_requests This creates an offer to transfer the zone to a different project. The request can be scoped to single project if the ``project_id`` parameter is supplied. .. note:: This POST can have no body. .. rest_status_code:: success status.yaml - 201 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - target_project_id: zone_transfer_request_target_project_id - description: description Request Example ---------------- .. literalinclude:: samples/zones/create-zone-transfer-request-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_transfer_request_id - project_id: project_id - description: description - status: zone_transfer_request_status - zone_id: zone_transfer_request_zone_id - zone_name: zone_transfer_request_zone_name - key: zone_transfer_request_key - target_project_id: zone_transfer_request_target_project_id - created_at: created_at - updated_at: updated_at - version: version Response Example ---------------- .. literalinclude:: samples/zones/create-zone-transfer-request-response.json :language: javascript List Zone Transfer Requests =========================== .. rest_method:: GET /v2/zones/tasks/transfer_requests This will list all your outgoing requests, and any incoming requests that have been scoped to your project. .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - status: zone_transfer_request_status_filter Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_transfer_request_id - project_id: project_id - description: description - status: zone_transfer_request_status - zone_id: zone_transfer_request_zone_id - zone_name: zone_transfer_request_zone_name - key: zone_transfer_request_key - target_project_id: zone_transfer_request_target_project_id - created_at: created_at - updated_at: updated_at - version: version Response Example ---------------- .. literalinclude:: samples/zones/list-zone-transfer-request-response.json :language: javascript Show a Zone Transfer Request ============================ .. rest_method:: GET /v2/zones/tasks/transfer_requests/{zone_transfer_request_id} .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_transfer_request_id: path_zone_transfer_request_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_transfer_request_id - project_id: project_id - description: description - status: zone_transfer_request_status - zone_id: zone_transfer_request_zone_id - zone_name: zone_transfer_request_zone_name - key: zone_transfer_request_key - target_project_id: zone_transfer_request_target_project_id - created_at: created_at - updated_at: updated_at - version: version Response Example ---------------- .. literalinclude:: samples/zones/show-zone-transfer-request-response.json :language: javascript Update a Zone Transfer Request ============================== .. rest_method:: PATCH /v2/zones/tasks/transfer_requests/{zone_transfer_request_id} .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_transfer_request_id: path_zone_transfer_request_id - target_project_id: zone_transfer_request_target_project_id - description: description Request Example ---------------- .. literalinclude:: samples/zones/update-zone-transfer-request-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: zone_transfer_request_id - project_id: project_id - description: description - status: zone_transfer_request_status - zone_id: zone_transfer_request_zone_id - zone_name: zone_transfer_request_zone_name - key: zone_transfer_request_key - target_project_id: zone_transfer_request_target_project_id - created_at: created_at - updated_at: updated_at - version: version Response Example ---------------- .. literalinclude:: samples/zones/update-zone-transfer-request-response.json :language: javascript Delete a Zone Transfer Request ============================== .. rest_method:: DELETE /v2/zones/tasks/transfer_requests/{zone_transfer_request_id} .. rest_status_code:: success status.yaml - 204 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_transfer_request_id: path_zone_transfer_request_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-zone-tasks.inc0000664000175000017500000000542600000000000023067 0ustar00zuulzuul00000000000000========== Zone Tasks ========== Zone tasks. Abandon Zone ============ .. rest_method:: POST /v2/zones/{zone_id}/tasks/abandon Abandon a zone. This removes a zone from the designate database without removing it from the backends. .. note:: This POST should have no body. .. warning:: This is a protentially dangerous operation, and should only be used if required .. rest_status_code:: success status.yaml - 204 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id Manually Trigger an Update of a Secondary Zone ============================================== .. rest_method:: POST /v2/zones/{zone_id}/tasks/xfr Trigger a new XFR from the upstream DNS servers This will cause designate to query the name servers and if the version in Designate is out of date, import the new version. This is useful if an upstream server failed to send a notify to Designate .. note:: This POST should have no body. .. important:: This is only useful on SECONDARY zones. .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id Pool Move Zone ============== .. rest_method:: POST /v2/zones/{zone_id}/tasks/pool_move Move a zone to another pool. This moves a zone from the existing designate pool to specified target pool. If pool is not specified by admin, designate will determine suitable pool by itself and move zone to that pool. .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 500 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - pool_id: zone_pool_target_id Request Example --------------- .. literalinclude:: samples/zones/poolmove-zone-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/dns-api-v2-zone.inc0000664000175000017500000001670700000000000021750 0ustar00zuulzuul00000000000000==== Zone ==== Zone operations. Create Zone =========== .. rest_method:: POST /v2/zones Create a zone .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 409 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - name: zone_name - email: zone_email - ttl: zone_ttl - description: zone_description - masters: zone_masters - type: zone_type - attributes: zone_attributes Request Example --------------- .. literalinclude:: samples/zones/create-zone-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - pool_id: zone_pool_id - project_id: project_id - name: zone_name - email: zone_email - ttl: zone_ttl - serial: zone_serial - status: status - action: action - description: zone_description - masters: zone_masters - type: zone_type - transfered_at: zone_transfered_at - version: version - created_at: created_at - updated_at: updated_at - attributes: zone_attributes - shared: shared - links: links Response Example ---------------- .. literalinclude:: samples/zones/zone-response.json :language: javascript List Zones ========== .. rest_method:: GET /v2/zones List all zones .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - limit: limit - marker: marker - sort_dir: sort_dir - sort_key: sort_key - name: zone_name_filter - type: zone_type_filter - email: zone_email_filter - status: zone_status_filter - description: zone_description_filter - ttl: zone_ttl_filter Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - pool_id: zone_pool_id - project_id: project_id - name: zone_name - email: zone_email - ttl: zone_ttl - serial: zone_serial - status: status - action: action - description: zone_description - masters: zone_masters - type: zone_type - transfered_at: zone_transfered_at - version: version - created_at: created_at - updated_at: updated_at - attributes: zone_attributes - shared: shared - links: links - metadata: metadata Response Example ---------------- .. literalinclude:: samples/zones/list-zones-response.json :language: javascript Show a Zone =========== .. rest_method:: GET /v2/zones/{zone_id} Show a zone .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - pool_id: zone_pool_id - project_id: project_id - name: zone_name - email: zone_email - ttl: zone_ttl - serial: zone_serial - status: status - action: action - description: zone_description - masters: zone_masters - type: zone_type - transfered_at: zone_transfered_at - version: version - created_at: created_at - updated_at: updated_at - attributes: zone_attributes - shared: shared - links: links Response Example ---------------- .. literalinclude:: samples/zones/zone-response.json :language: javascript Get the Name Servers for a Zone =============================== .. rest_method:: GET /v2/zones/{zone_id}/nameservers Show the nameservers for a zone .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - hostname: zone_nameserver_hostname - priority: zone_nameserver_priority Response Example ---------------- .. literalinclude:: samples/zones/show-zone-nameservers-response.json :language: javascript Update a Zone ============= .. rest_method:: PATCH /v2/zones/{zone_id} Update the attribute(s) for an existing zone. .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - zone_id: path_zone_id - email: zone_email_update - ttl: zone_ttl - description: zone_description Request Example --------------- .. literalinclude:: samples/zones/update-zone-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - pool_id: zone_pool_id - project_id: project_id - name: zone_name - email: zone_email - ttl: zone_ttl - serial: zone_serial - status: status - action: action - description: zone_description - masters: zone_masters - type: zone_type - transfered_at: zone_transfered_at - version: version - created_at: created_at - updated_at: updated_at - attributes: zone_attributes - shared: shared - links: links Response Example ---------------- .. literalinclude:: samples/zones/update-zone-response.json :language: javascript Delete a Zone ============= .. rest_method:: DELETE /v2/zones/{zone_id} Delete a zone .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 405 - 503 Request ------- .. rest_parameters:: parameters.yaml - x-auth-token: x-auth-token - x-auth-all-projects: x-auth-all-projects - x-auth-sudo-project-id: x-auth-sudo-project-id - x-designate-hard-delete: x-designate-hard-delete - x-designate-delete-shares: x-designate-delete-shares - zone_id: path_zone_id Response Parameters ------------------- .. rest_parameters:: parameters.yaml - x-openstack-request-id: x-openstack-request-id - id: id - pool_id: zone_pool_id - project_id: project_id - name: zone_name - email: zone_email - ttl: zone_ttl - serial: zone_serial - status: status - action: action - description: zone_description - masters: zone_masters - type: zone_type - transfered_at: zone_transfered_at - version: version - created_at: created_at - updated_at: updated_at - attributes: zone_attributes - shared: shared - links: links Response Example ---------------- .. literalinclude:: samples/zones/delete-zone-response.json :language: javascript ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/index.rst0000664000175000017500000000421600000000000020255 0ustar00zuulzuul00000000000000:tocdepth: 2 ============== Designate API ============== This is a reference for the OpenStack DNS API which is provided by the Designate project. **Current** API version :doc:`Designate API v2` **Supported** API version None .. toctree:: :hidden: dns-api-v2-index Designate API minor releases are additive to the API major revision and share the same URL path. Minor revision changes to the API are called out in the API reference in the section the change occurred in. Subsequent minor versions are a superset of the previous versions of the same major revision. The API status reflects the state of the endpoint on the service. * *Current* indicates a stable version that is up-to-date, recent, and might receive future versions. This endpoint should be prioritized over all others. * *Supported* is a stable version that is available on the server. However, it is not likely the most recent available and might not be updated or might be deprecated at some time in the future. * *Deprecated* is a stable version that is still available but is being deprecated and might be removed in the future. * *Experimental* is not a stable version. This version is under development or contains features that are otherwise subject to change. For more information about API status values and version information, see `Version Discovery `__. .. rest_expand_all:: ============ API Versions ============ Show all enabled API versions List all API versions ===================== .. rest_method:: GET / .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 405 - 500 - 503 Request ------- No parameters needed Response Parameters ------------------- .. rest_parameters:: parameters.yaml - id: api_version_id - links: links - status: api_version_status - updated_at: updated_at Response Example ---------------- .. literalinclude:: samples/versions/get-versions-response.json :language: javascript .. note:: This is just an example output and does not represent the current API versions available. ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/parameters.yaml0000664000175000017500000005213600000000000021447 0ustar00zuulzuul00000000000000#################### # Header Variables # #################### x-auth-all-projects: description: | If enabled this will show results from all projects in Designate in: header required: false type: bool x-auth-sudo-project-id: description: | This allows a user to impersonate another project in: header required: false type: string x-auth-token: description: | Token used to identify the user from keystone in: header required: false type: string x-designate-delete-shares: description: | If enabled, this will delete associated shares along with the resource. in: header required: false type: bool min_version: 2.1 x-designate-edit-managed-records: description: | If enabled this will all users to edit records flagged as managed in: header required: false type: bool x-designate-hard-delete: description: | If enabled, this will delete the zone resources (i.e. files) on the back-end. in: header required: false type: bool x-openstack-request-id: description: | ID of the request in: header required: true type: string zone_export_accepts: description: > Content-Type that will be accepted by the client. This endpoint will send a response with a ``text/dns`` content-type. If the client does not include a ``Accepts: text/dns`` header in: header required: true type: string #################### # Path Variables # #################### blacklist_id: description: | ID for this blacklist in: path required: true type: uuid floatingip_id: description: | ID for the floatingip associated with the project in: path required: true type: uuid path_pool_id: description: | ID for this pool in: path required: true type: uuid path_project_id: description: | ID for the project in: path required: true type: uuid path_recordset_id: description: | ID for the recordset in: path required: true type: uuid path_service_id: description: | ID for the service. in: path required: true type: uuid path_zone_export_id: description: | ID for this zone export in: path required: true type: uuid path_zone_id: description: | ID for the zone in: path required: true type: uuid path_zone_import_id: description: | ID for this zone import in: path required: true type: uuid path_zone_share_id: description: | ID of the zone share. in: path required: true type: uuid min_version: 2.1 path_zone_transfer_accept_id: description: | ID for this zone transfer accept in: path required: true type: uuid path_zone_transfer_request_id: description: | ID for this zone transfer request in: path required: true type: uuid region: description: | Openstack region in: path required: true type: string tld_id: description: | ID for this tld in: path required: true type: uuid tsigkey_id: description: | ID for this tsigkey in: path required: true type: uuid #################### # Query Variables # #################### blacklist_pattern_filter: description: | Filter results to only show blacklists that have a pattern matching the filter in: query required: false type: string limit: description: | Requests a page size of items. Returns a number of items up to a limit value. Use the ``limit`` parameter to make an initial limited request and use the ID of the last-seen item from the response as the ``marker`` parameter value in a subsequent limited request. in: query required: false type: integer marker: description: | The ID of the last-seen item. Use the ``limit`` parameter to make an initial limited request and use the ID of the last-seen item from the response as the ``marker`` parameter value in a subsequent limited request. in: query required: false type: string recordset_data_filter: description: | Filter results to only show recordsets that have a record with data matching the filter in: query required: false type: string recordset_description_filter: description: | Filter results to only show recordsets that have a description matching the filter in: query required: false type: string recordset_name_filter: description: | Filter results to only show recordsets that have a name matching the filter in: query required: false type: string recordset_status_filter: description: | Filter results to only show recordsets that have a status matching the filter in: query required: false type: string recordset_ttl_filter: description: | Filter results to only show recordsets that have a ttl matching the filter in: query required: false type: string recordset_type_filter: description: | Filter results to only show recordsets that have a type matching the filter in: query required: false type: string sort_dir: description: | Sorts the response by the requested sort direction. A valid value is ``asc`` (ascending) or ``desc`` (descending). Default is ``asc``. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the ``sort_key``. in: query required: false type: string sort_key: description: | Sorts the response by the this attribute value. Default is ``id``. You can specify multiple pairs of sort key and sort direction query parameters. If you omit the sort direction in a pair, the API uses the natural sorting direction of the server attribute that is provided as the ``sort_key``. in: query required: false type: string target_project_id_filter: description: | Filter results to only show resources that have a matching target_project_id in: query required: false type: string min_version: 2.1 tld_name_filter: description: | Filter results to only show tlds that have a name matching the filter in: query required: false type: string tsigkey_algorithm_filter: description: | Filter results to only show tsigkeys that have an algorithm matching the filter in: query required: false type: string tsigkey_name_filter: description: | Filter results to only show tsigkeys that have a name matching the filter in: query required: false type: string tsigkey_scope_filter: description: | Filter results to only show tsigkeys that have a scope matching the filter in: query required: false type: string zone_description_filter: description: | Filter results to only show zones that have a description matching the filter in: query required: false type: string zone_email_filter: description: | Filter results to only show zones that have an email matching the filter in: query required: false type: string zone_export_message_filter: description: | Filter results to only show ``zone_exports`` that have a ``message`` matching the filter in: query required: false type: string zone_export_status_filter: description: | Filter results to only show ``zone_exports`` that have a ``status`` matching the filter in: query required: false type: string zone_export_zone_id_filter: description: | Filter results to only show ``zone_exports`` that have a ``zone_id`` matching the filter in: query required: false type: uuid zone_import_message_filter: description: | Filter results to only show zone_imports that have a ``message`` matching the filter in: query required: false type: string zone_import_status_filter: description: | Filter results to only show zone_imports that have a ``status`` matching the filter in: query required: false type: string zone_import_zone_id_filter: description: | Filter results to only show zone_imports that have a ``zone_id`` matching the filter in: query required: false type: uuid zone_name_filter: description: | Filter results to only show zones that have a name matching the filter in: query required: false type: string zone_status_filter: description: | Filter results to only show zones that have a status matching the filter in: query required: false type: string zone_transfer_accept_status_filter: description: | Filter results to only show ``zone_transfer_accepts`` that have a ``status`` matching the filter in: query required: false type: string zone_transfer_request_status_filter: description: | Filter results to only show ``zone_transfer_requests`` that have a ``status`` matching the filter in: query required: false type: string zone_ttl_filter: description: | Filter results to only show zones that have a ttl matching the filter in: query required: false type: integer zone_type_filter: description: | Filter results to only show zones that have a type matching the filter in: query required: false type: string #################### # Body Variables # #################### action: description: | current action in progress on the resource in: body required: true type: enum api_links: description: | Links to the resources in question. in: body required: true type: array api_version_id: description: | A common name for the version. in: body required: true type: string api_version_status: description: | The status of this API version. This can be one of: - ``CURRENT``: This is the preferred version of the API to use. - ``SUPPORTED``: This is an older, but still supported version of the API. - ``DEPRECATED``: A deprecated version of the API that is slated for removal. - ``EXPERIMENTAL``: This version is under development or contains features that are otherwise subject to change or removal. in: body required: true type: string blacklist_description: description: | Description for this blacklist in: body required: false type: string blacklist_pattern: description: | Pattern for this blacklist in: body required: true type: string capabilities: description: | Capabilities for the service. in: body required: true type: dict created_at: description: | Date / Time when resource was created. in: body required: true type: datestamp description: description: | Description for the resource. Only shown in API / Horizon in: body required: true type: string floatingip_address: description: | The floatingip address for this PTR record. in: body required: true type: string fptr_description: description: | Description for this PTR record in: body required: true type: string fptr_id: description: | ID for PTR record in the format of : in: body required: true type: string fptr_ttl: description: | Time to live for this PTR record in: body required: true type: uuid fptrd_name: description: | Domain name for this PTR record in: body required: true type: string heartbeated_at: description: | The timestamp when the last heartbeat was received. in: body required: true type: datestamp hostname: description: | The hostname of the host with the service instance. in: body required: true type: string id: description: | ID for the resource in: body required: true type: uuid links: description: | Links to the resource, and other related resources. When a response has been broken into pages, we will include a ``next`` link that should be followed to retrieve all results in: body required: true type: object max_page_limit: description: | The max amount of items allowed per page in: body required: true type: integer max_recordset_name_length: description: | The max length of a recordset name in: body required: true type: integer max_recordset_records: description: | The max amount of records contained in a recordset in: body required: true type: integer max_zone_name_length: description: | The max length of a zone name in: body required: true type: integer max_zone_records: description: | The max amount of records in a zone in: body required: true type: integer max_zone_recordsets: description: | The max amount of recordsets per zone in: body required: true type: integer max_zones: description: | The max amount of zones for this project in: body required: true type: integer metadata: description: | Returns the ``total_count`` of resources matching this filter in: body required: true type: object min_ttl: description: | The lowest ttl allowed on this system in: body required: true type: integer pool_attributes: description: > Key:Value pairs of information about this pool. This information can be used by the scheduler to place zones on the correct pools in: body required: true type: object pool_id: description: | ID for this pool in: body required: true type: uuid pool_name: description: | Name for this pool in: body required: true type: string pool_ns_records: description: | Name Servers for this pool. Any zones hosted by this pool should be delegated to these DNS servers in: body required: true type: string project_id: description: | ID for the project that owns the resource in: body required: true type: uuid recordset_description: description: | Description for this recordset in: body required: false type: string recordset_name: description: | DNS Name for the recordset in: body required: true type: hostname recordset_records: description: | A list of data for this recordset. Each item will be a separate record in Designate These items should conform to the DNS spec for the record type - e.g. A records must be IPv4 addresses, CNAME records must be a hostname. in: body required: true type: string recordset_ttl: description: | TTL (Time to Live) for the recordset. in: body required: false type: integer recordset_type: description: | They RRTYPE of the recordset. in: body required: true type: string recordset_zone_id: description: | ID for the zone that contains this recordset in: body required: true type: uuid recordset_zone_name: description: | The name of the zone that contains this recordset in: body required: true type: string resource_id: description: | resource id for this tsigkey which can be either zone or pool id in: body required: true type: string service_name: description: | The name of the Designate service instance. in: body required: true type: string service_statuses: description: | A list of ``service_statuses`` objects. in: body required: true type: array shared: description: | True if the zone is shared with another project. in: body required: true type: bool min_version: 2.1 shared_zone_id: description: | ID for the zone being shared. in: body required: true type: uuid min_version: 2.1 stats: description: | Statistics for the service. in: body required: true type: dict status: description: | The status of the resource. in: body required: true type: enum target_project_id: description: | The project ID the zone will be shared with. in: body required: true type: string min_version: 2.1 tld_description: description: | Description for this tld in: body required: false type: string tld_name: description: | Name for this tld in: body required: true type: string tsigkey_algorithm: description: | The encryption algorithm for this tsigkey in: body required: true type: string tsigkey_name: description: | Name for this tsigkey in: body required: true type: string tsigkey_scope: description: | scope for this tsigkey which can be either ZONE or POOL scope in: body required: true type: string tsigkey_secret: description: | The actual key to be used in: body required: true type: string updated_at: description: | Date / Time when resource last updated. in: body required: true type: datestamp version: description: | Version of the resource in: body required: true type: integer zone_attributes: description: | Key:Value pairs of information about this zone, and the pool the user would like to place the zone in. This information can be used by the scheduler to place zones on the correct pool. in: body required: false type: dict zone_description: description: | Description for this zone in: body required: false type: string zone_email: description: | e-mail for the zone. Used in SOA records for the zone in: body required: true type: string zone_email_update: description: | e-mail for the zone. Used in SOA records for the zone in: body required: false type: string zone_export_id: description: | ID for this zone export in: body required: true type: uuid zone_export_location: description: > Where the exported zone is published to. There are currently one placement option available - designate. This will be shown by ``designate://``. As more drivers are added, this will expand to include swift - this will be indicated by location being set to ``swift:////`` This is also allowed be a webserver if the operator implements a different data store, and will be indicted by ``http://`` When a zone export is complete, the location will be updated, and the exported zone file will be available at the location specified. in: body required: false type: string zone_export_message: description: | Message about the current status of the export in: body required: false type: uuid zone_export_status: description: | Current status of the zone export in: body required: true type: string zone_export_zone_id: description: | ID for the zone that is being exported in: body required: false type: uuid zone_import_id: description: | ID for this zone import in: body required: true type: uuid zone_import_message: description: | Message about the current status of the import in: body required: false type: uuid zone_import_status: description: | Current status of the zone import in: body required: true type: uuid zone_import_zone_id: description: | ID for the zone that was created by this import in: body required: false type: uuid zone_masters: description: | Mandatory for secondary zones. The servers to slave from to get DNS information in: body required: false type: enum zone_name: description: | DNS Name for the zone in: body required: true type: domainname zone_nameserver_hostname: description: | The hostname of the nameserver that the zone should be delegated to in: body required: true type: hostname zone_nameserver_priority: description: | The priority of the nameserver. This is used to determine the order of the the nameserver listings, and which server is used in the SOA record for the zone. in: body required: true type: integer zone_pool_id: description: | ID for the pool hosting this zone in: body required: true type: uuid zone_pool_target_id: description: | The target pool ID to move the zone into in: body required: false type: uuid zone_serial: description: | current serial number for the zone in: body required: true type: integer zone_transfer_accept_id: description: | ID for this zone transfer accept in: body required: true type: uuid zone_transfer_accept_status: description: | Current status of the zone transfer request in: body required: true type: string zone_transfer_request_id: description: | ID for this zone transfer request in: body required: true type: uuid zone_transfer_request_key: description: > Key that is used as part of the zone transfer accept process. This is only shown to the creator, and must be communicated out of band. in: body required: true type: string zone_transfer_request_status: description: | Current status of the zone transfer request in: body required: true type: string zone_transfer_request_target_project_id: description: > A project ID that the request will be limited to. No other project will be allowed to accept this request. in: body required: false type: string zone_transfer_request_zone_id: description: | ID for the zone that is being exported in: body required: true type: uuid zone_transfer_request_zone_name: description: | the name of the zone that is being exported in: body required: true type: string zone_transfered_at: description: | For secondary zones. The last time an update was retrieved from the master servers in: body required: true type: enum zone_ttl: description: | TTL (Time to Live) for the zone. in: body required: false type: integer zone_type: description: | Type of zone. PRIMARY is controlled by Designate, SECONDARY zones are slaved from another DNS Server. Defaults to PRIMARY in: body required: false type: enum ././@PaxHeader0000000000000000000000000000003400000000000011452 xustar000000000000000028 mtime=1712145123.8283534 designate-18.0.0/api-ref/source/samples/0000775000175000017500000000000000000000000020055 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000003400000000000011452 xustar000000000000000028 mtime=1712145123.8483539 designate-18.0.0/api-ref/source/samples/blacklists/0000775000175000017500000000000000000000000022210 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/blacklists/blacklist-response.json0000664000175000017500000000052400000000000026710 0ustar00zuulzuul00000000000000{ "description": "This is a blacklisted domain.", "links": { "self": "http://127.0.0.1:9001/v2/blacklists/af91edb5-ede8-453f-af13-feabdd088f9c" }, "pattern": "^([A-Za-z0-9_\\-]+\\.)*example\\.com\\.$", "created_at": "2016-05-20 06:15:42", "updated_at": null, "id": "af91edb5-ede8-453f-af13-feabdd088f9c" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/blacklists/create-blacklist-request.json0000664000175000017500000000016000000000000027777 0ustar00zuulzuul00000000000000{ "pattern" : "^([A-Za-z0-9_\\-]+\\.)*example\\.com\\.$", "description" : "This is a blacklisted domain." } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/blacklists/list-blacklists-response.json0000664000175000017500000000163600000000000030051 0ustar00zuulzuul00000000000000{ "blacklists": [ { "description": "This is a blacklisted domain.", "links": { "self": "http://127.0.0.1:9001/v2/blacklists/af91edb5-ede8-453f-af13-feabdd088f9c" }, "pattern": "^([A-Za-z0-9_\\-]+\\.)*example\\.com\\.$", "created_at": "2016-05-20 06:15:42", "updated_at": null, "id": "af91edb5-ede8-453f-af13-feabdd088f9c" }, { "description": "Example blacklisted domain.", "links": { "self": "http://127.0.0.1:9001/v2/blacklists/f26e22f8-619f-4738-9077-0586e7cb76bd" }, "pattern": "^examples\\.com\\.$", "created_at": "2016-05-20 06:22:12", "updated_at": null, "id": "f26e22f8-619f-4738-9077-0586e7cb76bd" } ], "links": { "self": "http://127.0.0.1:9001/v2/blacklists" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/blacklists/update-blacklist-request.json0000664000175000017500000000013100000000000030014 0ustar00zuulzuul00000000000000{ "pattern" : "^examples\\.com\\.$", "description" : "Updated the description" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/blacklists/update-blacklist-response.json0000664000175000017500000000051200000000000030165 0ustar00zuulzuul00000000000000{ "description": "Updated the description", "links": { "self": "http://127.0.0.1:9001/v2/blacklists/f26e22f8-619f-4738-9077-0586e7cb76bd" }, "pattern": "^examples\\.com\\.$", "created_at": "2016-05-20 06:22:12", "updated_at": "2016-05-20 06:41:34", "id": "f26e22f8-619f-4738-9077-0586e7cb76bd" } ././@PaxHeader0000000000000000000000000000003300000000000011451 xustar000000000000000027 mtime=1712145123.852354 designate-18.0.0/api-ref/source/samples/limits/0000775000175000017500000000000000000000000021356 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/limits/get-limits-response.json0000664000175000017500000000033600000000000026165 0ustar00zuulzuul00000000000000{ "max_page_limit": 1000, "max_recordset_name_length": 255, "max_recordset_records": 20, "max_zone_name_length": 255, "max_zone_records": 500, "max_zone_recordsets": 500, "max_zones": 10, "min_ttl": null } ././@PaxHeader0000000000000000000000000000003300000000000011451 xustar000000000000000027 mtime=1712145123.852354 designate-18.0.0/api-ref/source/samples/pools/0000775000175000017500000000000000000000000021211 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/pools/list-pools-response.json0000664000175000017500000000213000000000000026041 0ustar00zuulzuul00000000000000{ "metadata": { "total_count": 2 }, "links": { "self": "http://127.0.0.1:9001/v2/pools" }, "pools": [ { "description": null, "id": "794ccc2c-d751-44fe-b57f-8894c9f5c842", "project_id": null, "created_at": "2015-02-18T22:18:58.000000", "attributes": null, "ns_records": [ { "hostname": "ns1.example.org.", "priority": 1 } ], "links": { "self": "http://127.0.0.1:9001/v2/pools/794ccc2c-d751-44fe-b57f-8894c9f5c842" }, "name": "default", "updated_at": "2015-02-19T15:59:44.000000" }, { "description": null, "id": "d1716333-8c16-490f-85ee-29af36907605", "project_id": "noauth-project", "created_at": "2015-02-23T21:56:33.000000", "attributes": null, "ns_records": [ { "hostname": "ns2.example.org.", "priority": 1 } ], "links": { "self": "http://127.0.0.1:9001/v2/pools/d1716333-8c16-490f-85ee-29af36907605" }, "name": "example_pool", "updated_at": null } ] } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/pools/show-pool-response.json0000664000175000017500000000064100000000000025670 0ustar00zuulzuul00000000000000{ "description": null, "id": "d1716333-8c16-490f-85ee-29af36907605", "project_id": "noauth-project", "created_at": "2015-02-23T21:56:33.000000", "attributes": null, "ns_records": [ { "hostname": "ns2.example.org.", "priority": 1 } ], "links": { "self": "http://127.0.0.1:9001/v2/pools/d1716333-8c16-490f-85ee-29af36907605" }, "name": "example_pool", "updated_at": null } ././@PaxHeader0000000000000000000000000000003300000000000011451 xustar000000000000000027 mtime=1712145123.852354 designate-18.0.0/api-ref/source/samples/quotas/0000775000175000017500000000000000000000000021371 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/quotas/get-quotas-response.json0000664000175000017500000000020400000000000026205 0ustar00zuulzuul00000000000000{ "api_export_size": 1000, "recordset_records": 20, "zone_records": 500, "zone_recordsets": 500, "zones": 100 } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/quotas/set-quotas-request.json0000664000175000017500000000002500000000000026054 0ustar00zuulzuul00000000000000{ "zones": 500 } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/quotas/set-quotas-response.json0000664000175000017500000000020400000000000026221 0ustar00zuulzuul00000000000000{ "api_export_size": 1000, "recordset_records": 20, "zone_records": 500, "zone_recordsets": 500, "zones": 500 } ././@PaxHeader0000000000000000000000000000003300000000000011451 xustar000000000000000027 mtime=1712145123.852354 designate-18.0.0/api-ref/source/samples/recordsets/0000775000175000017500000000000000000000000022232 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/create-mx-recordset-request.json0000664000175000017500000000041600000000000030471 0ustar00zuulzuul00000000000000{ "name" : "mail.example.org.", "description" : "An MX recordset.", "type" : "MX", "ttl" : 3600, "records" : [ "10 mail1.example.org.", "20 mail2.example.org.", "30 mail3.example.org.", "40 mail4.example.org." ] } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/create-mx-recordset-response.json0000664000175000017500000000126300000000000030640 0ustar00zuulzuul00000000000000{ "status": "PENDING", "description": "An MX recordset.", "links": { "self": "http://127.0.0.1:9001/v2/zones/f6b472ed-1be8-47e8-87a7-687169cacca8/recordsets/c3c1f506-adcf-4751-ae5b-1c5ff00d2e1a" }, "created_at": "2016-06-21 06:34:36", "updated_at": null, "records": [ "10 mail1.example.org.", "30 mail3.example.org.", "20 mail2.example.org.", "40 mail4.example.org." ], "zone_id": "f6b472ed-1be8-47e8-87a7-687169cacca8", "version": 1, "ttl": 3600, "action": "CREATE", "zone_name": "example.org.", "type": "MX", "id": "c3c1f506-adcf-4751-ae5b-1c5ff00d2e1a", "name": "mail.example.org." } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/create-recordset-request.json0000664000175000017500000000023000000000000030041 0ustar00zuulzuul00000000000000{ "name" : "example.org.", "description" : "This is an example record set.", "type" : "A", "ttl" : 3600, "records" : [ "10.1.0.2" ] } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/create-recordset-response.json0000664000175000017500000000121500000000000030213 0ustar00zuulzuul00000000000000{ "description": "This is an example record set.", "links": { "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648" }, "updated_at": null, "records": [ "10.1.0.2" ], "ttl": 3600, "id": "f7b10e9b-0cae-4a91-b162-562bc6096648", "name": "example.org.", "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66", "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f", "zone_name": "example.com.", "created_at": "2014-10-24T19:59:44.000000", "version": 1, "type": "A", "status": "PENDING", "action": "CREATE" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/create-spf-recordset-request.json0000664000175000017500000000023000000000000030627 0ustar00zuulzuul00000000000000{ "name" : "foospf.example.org.", "description" : "An SPF recordset.", "type" : "SPF", "ttl" : 3600, "records" : [ "v=spf1 +all" ] } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/create-spf-recordset-response.json0000664000175000017500000000111200000000000030775 0ustar00zuulzuul00000000000000{ "status": "PENDING", "description": "An SPF recordset.", "links": { "self": "http://127.0.0.1:9001/v2/zones/f6b472ed-1be8-47e8-87a7-687169cacca8/recordsets/c05a6740-2602-4439-bb70-187dd6547c13" }, "created_at": "2016-06-21 12:31:44", "updated_at": null, "records": [ "v=spf1 +all" ], "zone_id": "f6b472ed-1be8-47e8-87a7-687169cacca8", "version": 1, "ttl": 3600, "action": "CREATE", "zone_name": "example.org.", "type": "SPF", "id": "c05a6740-2602-4439-bb70-187dd6547c13", "name": "foospf.example.org." } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/create-srv-recordset-request.json0000664000175000017500000000026200000000000030656 0ustar00zuulzuul00000000000000{ "name" : "_http._tcp.example.org.", "description" : "An SRV recordset.", "type" : "SRV", "ttl" : 3600, "records" : [ "10 0 5060 www.example.org." ] } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/create-srv-recordset-response.json0000664000175000017500000000113500000000000031024 0ustar00zuulzuul00000000000000{ "status": "PENDING", "description": "An SRV recordset.", "links": { "self": "http://127.0.0.1:9001/v2/zones/f6b472ed-1be8-47e8-87a7-687169cacca8/recordsets/cc3299b3-c3cd-47e5-9876-8c1d4ad1b88e" }, "created_at": "2016-06-21 12:44:38", "updated_at": null, "records": [ "10 0 5060 www.example.org." ], "zone_id": "f6b472ed-1be8-47e8-87a7-687169cacca8", "version": 1, "ttl": 3600, "action": "CREATE", "zone_name": "example.org.", "type": "SRV", "id": "cc3299b3-c3cd-47e5-9876-8c1d4ad1b88e", "name": "_http._tcp.example.org." } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/create-sshfp-recordset-request.json0000664000175000017500000000031700000000000031170 0ustar00zuulzuul00000000000000{ "name" : "foo.example.org.", "description" : "An SSHFP recordset.", "type" : "SSHFP", "ttl" : 3600, "records" : [ "1 2 6467a09c59607b01fef22ef6918c44a2eaaa14a5e055cfe91bf614b5796d2df0" ] } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/create-sshfp-recordset-response.json0000664000175000017500000000113000000000000031330 0ustar00zuulzuul00000000000000{ "status": "ACTIVE", "description": null, "links": { "self": "http://127.0.0.1:9001/v2/zones/f6b472ed-1be8-47e8-87a7-687169cacca8/recordsets/5fb9d67c-86ac-4ae9-80d5-4c23f7a16b29" }, "created_at": "2016-06-21 12:15:35", "updated_at": null, "records": [ "2 1 75e080122854693164599205f49d7475ed17d09b" ], "zone_id": "f6b472ed-1be8-47e8-87a7-687169cacca8", "version": 1, "ttl": 3600, "action": "NONE", "zone_name": "example.org.", "type": "SSHFP", "id": "5fb9d67c-86ac-4ae9-80d5-4c23f7a16b29", "name": "foo.example.org." } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/delete-recordset-response.json0000664000175000017500000000122600000000000030214 0ustar00zuulzuul00000000000000{ "description": "Updated description", "links": { "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648" }, "updated_at": null, "records": [ "10.1.0.2", "10.1.0.3" ], "ttl": null, "id": "f7b10e9b-0cae-4a91-b162-562bc6096648", "name": "example.org.", "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66", "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f", "zone_name": "example.com.", "created_at": "2014-10-24T19:59:44.000000", "version": 2, "type": "A", "status": "PENDING", "action": "DELETE" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/list-all-recordset-response.json0000664000175000017500000000210400000000000030467 0ustar00zuulzuul00000000000000{ "recordsets": [ { "description": "This is an example record set.", "links": { "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648" }, "updated_at": null, "records": [ "10.1.0.2" ], "ttl": 3600, "id": "f7b10e9b-0cae-4a91-b162-562bc6096648", "name": "example.org.", "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66", "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f", "zone_name": "example.com.", "created_at": "2014-10-24T19:59:44.000000", "version": 1, "type": "A", "status": "PENDING", "action": "CREATE" } ], "links": { "self": "http://127.0.0.1:9001/v2/recordsets?limit=1", "next": "http://127.0.0.1:9001/v2/recordsets?limit=1&marker=45fd892d-7a67-4f65-9df0-87273f228d6c" }, "metadata": { "total_count": 2 } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/list-recordset-in-zone-response.json0000664000175000017500000000223200000000000031300 0ustar00zuulzuul00000000000000{ "recordsets": [ { "description": "This is an example record set.", "links": { "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648" }, "updated_at": null, "records": [ "10.1.0.2" ], "ttl": 3600, "id": "f7b10e9b-0cae-4a91-b162-562bc6096648", "name": "example.org.", "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66", "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f", "zone_name": "example.com.", "created_at": "2014-10-24T19:59:44.000000", "version": 1, "type": "A", "status": "PENDING", "action": "CREATE" } ], "links": { "self": "http://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets?limit=1", "next": "http://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets?limit=1&marker=45fd892d-7a67-4f65-9df0-87273f228d6c" }, "metadata": { "total_count": 2 } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/show-recordset-response.json0000664000175000017500000000121200000000000027725 0ustar00zuulzuul00000000000000{ "description": "This is an example record set.", "links": { "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648" }, "updated_at": null, "records": [ "10.1.0.2" ], "ttl": 3600, "id": "f7b10e9b-0cae-4a91-b162-562bc6096648", "name": "example.org.", "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66", "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f", "zone_name": "example.com.", "created_at": "2014-10-24T19:59:44.000000", "version": 1, "type": "A", "status": "ACTIVE", "action": "NONE" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/update-recordset-request.json0000664000175000017500000000016400000000000030066 0ustar00zuulzuul00000000000000{ "description" : "Updated description", "ttl" : null, "records" : [ "10.1.0.2", "10.1.0.3" ] } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/recordsets/update-recordset-response.json0000664000175000017500000000122600000000000030234 0ustar00zuulzuul00000000000000{ "description": "Updated description", "links": { "self": "https://127.0.0.1:9001/v2/zones/2150b1bf-dee2-4221-9d85-11f7886fb15f/recordsets/f7b10e9b-0cae-4a91-b162-562bc6096648" }, "updated_at": null, "records": [ "10.1.0.2", "10.1.0.3" ], "ttl": null, "id": "f7b10e9b-0cae-4a91-b162-562bc6096648", "name": "example.org.", "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66", "zone_id": "2150b1bf-dee2-4221-9d85-11f7886fb15f", "zone_name": "example.com.", "created_at": "2014-10-24T19:59:44.000000", "version": 2, "type": "A", "status": "PENDING", "action": "UPDATE" } ././@PaxHeader0000000000000000000000000000003300000000000011451 xustar000000000000000027 mtime=1712145123.856354 designate-18.0.0/api-ref/source/samples/reverse_floatingips/0000775000175000017500000000000000000000000024127 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/reverse_floatingips/list-ptr-record-response.json0000664000175000017500000000167600000000000031722 0ustar00zuulzuul00000000000000{ "links": { "self": "http://127.0.0.1:9001/v2/reverse/floatingips" }, "floatingips": [ { "status": "ACTIVE", "ptrdname": "smtp.example.com.", "description": null, "links": { "self": "http://127.0.0.1:9001/v2/reverse/floatingips/RegionOne:c5742ac0-d0f3-4304-a039-9423f727eb96" }, "ttl": 600, "address": "172.24.4.10", "action": "NONE", "id": "RegionOne:c5742ac0-d0f3-4304-a039-9423f727eb96" }, { "status": "ACTIVE", "ptrdname": "tftp.example.com.", "description": null, "links": { "self": "http://127.0.0.1:9001/v2/reverse/floatingips/RegionOne:9860717d-3da6-43df-a0ec-fa8b0e71ea86" }, "ttl": 600, "address": "172.24.4.6", "action": "NONE", "id": "RegionOne:9860717d-3da6-43df-a0ec-fa8b0e71ea86" } ] } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/reverse_floatingips/ptr-record-response.json0000664000175000017500000000060200000000000030735 0ustar00zuulzuul00000000000000{ "status": "PENDING", "ptrdname": "smtp.example.com.", "description": "This is a floating ip for 127.0.0.1", "links": { "self": "http://127.0.0.1:9001/v2/reverse/floatingips/RegionOne:c5742ac0-d0f3-4304-a039-9423f727eb96" }, "ttl": 600, "address": "172.24.4.10", "action": "CREATE", "id": "RegionOne:c5742ac0-d0f3-4304-a039-9423f727eb96" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/reverse_floatingips/set-ptr-record-request.json0000664000175000017500000000015500000000000031363 0ustar00zuulzuul00000000000000{ "ptrdname" : "smtp.example.com.", "description" : "This is a floating ip for 10.0.0.8", "ttl": 600 } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/reverse_floatingips/unset-ptr-record-request.json0000664000175000017500000000003100000000000031717 0ustar00zuulzuul00000000000000{ "ptrdname": null } ././@PaxHeader0000000000000000000000000000003300000000000011451 xustar000000000000000027 mtime=1712145123.856354 designate-18.0.0/api-ref/source/samples/service_status/0000775000175000017500000000000000000000000023120 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/service_status/service_status_list.json0000664000175000017500000000114200000000000030107 0ustar00zuulzuul00000000000000{ "service_statuses": [ { "links": { "self": "http://127.0.0.1:9001/v2/service_statuses/af91edb5-ede8-453f-af13-feabdd088f9c" }, "hostname": "dns-2.example.com.", "status": "UP", "service_name": "api", "stats": null, "capabilities": null, "created_at": "2016-05-20 06:15:42", "heartbeated_at": "2016-07-20 12:14:41", "id": "af91edb5-ede8-453f-af13-feabdd088f9c" } ], "links": { "self": "http://127.0.0.1:9001/v2/service_statuses" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/service_status/service_status_show.json0000664000175000017500000000064400000000000030122 0ustar00zuulzuul00000000000000{ "id": "c0bcb136-5f5c-4427-9f89-99d457819917", "hostname": "dns-2.example.com", "service_name": "central", "status": "UP", "stats": {}, "capabilities": {}, "heartbeated_at": "2021-03-24T23:51:12.000000", "created_at": "2021-03-22T20:59:24.000000", "updated_at": "2021-03-24T23:51:12.000000", "links": { "self": "http://10.21.21.88/v2/service_statuses/c0bcb136-5f5c-4427-9f89-99d457819917" } } ././@PaxHeader0000000000000000000000000000003300000000000011451 xustar000000000000000027 mtime=1712145123.856354 designate-18.0.0/api-ref/source/samples/tlds/0000775000175000017500000000000000000000000021023 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/tlds/create-tld-request.json0000664000175000017500000000007600000000000025433 0ustar00zuulzuul00000000000000{ "name" : "com", "description" : "tld description" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/tlds/list-tlds-response.json0000664000175000017500000000121700000000000025472 0ustar00zuulzuul00000000000000{ "tlds": [ { "name": "edu", "links": { "self": "http://127.0.0.1:9001/v2/tlds/a7bba387-712b-4b42-9368-4508642c6113" }, "created_at": "2016-05-10 05:21:40", "updated_at": null, "id": "a7bba387-712b-4b42-9368-4508642c6113", "description": "demo TLD" }, { "name": "com", "links": { "self": "http://127.0.0.1:9001/v2/tlds/cfee7486-7ce4-4851-9c38-7b0fe3d42ee9" }, "created_at": "2016-05-18 05:07:58", "updated_at": null, "id": "cfee7486-7ce4-4851-9c38-7b0fe3d42ee9", "description": "tld description" } ], "links": {"self": "http://127.0.0.1:9001/v2/tlds" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/tlds/tld-response.json0000664000175000017500000000042000000000000024331 0ustar00zuulzuul00000000000000{ "name": "com", "links": { "self": "http://127.0.0.1:9001/v2/tlds/cfee7486-7ce4-4851-9c38-7b0fe3d42ee9" }, "created_at": "2016-05-18 05:07:58", "updated_at": null, "id": "cfee7486-7ce4-4851-9c38-7b0fe3d42ee9", "description": "tld description" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/tlds/update-tld-request.json0000664000175000017500000000011700000000000025446 0ustar00zuulzuul00000000000000{ "name" : "org", "description" : "Updated the name from com to org" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/tlds/update-tld-response.json0000664000175000017500000000045200000000000025616 0ustar00zuulzuul00000000000000{ "name": "org", "links": { "self": "http://127.0.0.1:9001/v2/tlds/cfee7486-7ce4-4851-9c38-7b0fe3d42ee9" }, "created_at": "2016-05-18 05:07:58", "updated_at": "2016-05-18 05:45:24", "id": "cfee7486-7ce4-4851-9c38-7b0fe3d42ee9", "description": "Updated the name from com to org" } ././@PaxHeader0000000000000000000000000000003300000000000011451 xustar000000000000000027 mtime=1712145123.856354 designate-18.0.0/api-ref/source/samples/tsigkeys/0000775000175000017500000000000000000000000021717 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/tsigkeys/create-tsigkey-request.json0000664000175000017500000000025500000000000027222 0ustar00zuulzuul00000000000000{ "name": "Example key", "algorithm": "hmac-sha256", "secret": "SomeSecretKey", "scope": "POOL", "resource_id": "d96851d0-765c-4ee9-bbdf-153345270bd3" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/tsigkeys/list-tsigkeys-response.json0000664000175000017500000000307700000000000027270 0ustar00zuulzuul00000000000000{ "tsigkeys": [ { "links": { "self": "http://127.0.0.1:9001/v2/tsigkeys/f94d03ca-bd55-4321-8e93-8d363737ab5c" }, "name": "Example key", "algorithm": "hmac-sha256", "resource_id": "5866274f-ee8d-42ee-94f9-29000f040949", "created_at": "2016-04-19 18:52:54", "updated_at": null, "secret": "some secret key", "scope": "POOL", "id": "f94d03ca-bd55-4321-8e93-8d363737ab5c" }, { "links": { "self": "http://127.0.0.1:9001/v2/tsigkeys/6bba6f00-dc33-4665-bb37-15f6188bb305" }, "name": "Example key2", "algorithm": "hmac-sha256", "resource_id": "8a5ba22a-347e-4e92-9747-d2c3e67fbb45", "created_at": "2016-05-19 02:17:54", "updated_at": null, "secret": "SomeSecretKey", "scope": "POOL", "id": "6bba6f00-dc33-4665-bb37-15f6188bb305" }, { "links": { "self": "http://127.0.0.1:9001/v2/tsigkeys/c429b860-9f68-4e5f-a2ff-65760a64ceaa" }, "name": "Example key3", "algorithm": "hmac-sha256", "resource_id": "d96851d0-765c-4ee9-bbdf-153345270bd3", "created_at": "2016-05-19 05:52:45", "updated_at": null, "secret": "SomeSecretKey", "scope": "POOL", "id": "c429b860-9f68-4e5f-a2ff-65760a64ceaa" } ], "links": { "self": "http://127.0.0.1:9001/v2/tsigkeys" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/tsigkeys/tsigkey-response.json0000664000175000017500000000061500000000000026127 0ustar00zuulzuul00000000000000{ "links": { "self": "http://127.0.0.1:9001/v2/tsigkeys/c429b860-9f68-4e5f-a2ff-65760a64ceaa" }, "name": "Example key", "algorithm": "hmac-sha256", "resource_id": "d96851d0-765c-4ee9-bbdf-153345270bd3", "created_at": "2016-05-19 05:52:45", "updated_at": null, "secret": "SomeSecretKey", "scope": "POOL", "id": "c429b860-9f68-4e5f-a2ff-65760a64ceaa" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/tsigkeys/update-tsigkey-request.json0000664000175000017500000000006300000000000027236 0ustar00zuulzuul00000000000000{ "name": "example_tsigkey", "scope": "ZONE" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/tsigkeys/update-tsigkey-response.json0000664000175000017500000000066400000000000027413 0ustar00zuulzuul00000000000000{ "links": { "self": "http://127.0.0.1:9001/v2/tsigkeys/c429b860-9f68-4e5f-a2ff-65760a64ceaa" }, "name": "example_tsigkey", "algorithm": "hmac-sha256", "resource_id": "d96851d0-765c-4ee9-bbdf-153345270bd3", "created_at": "2016-05-19 05:52:45", "updated_at": "2016-05-19 06:29:14", "secret": "SomeSecretKey", "scope": "ZONE", "id": "c429b860-9f68-4e5f-a2ff-65760a64ceaa" } ././@PaxHeader0000000000000000000000000000003300000000000011451 xustar000000000000000027 mtime=1712145123.856354 designate-18.0.0/api-ref/source/samples/versions/0000775000175000017500000000000000000000000021725 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/versions/get-versions-response.json0000664000175000017500000000103700000000000027102 0ustar00zuulzuul00000000000000{ "versions": [{ "id": "v2", "links": [{ "href": "http://198.51.100.88/dns/v2", "rel": "self" }, { "href": "https://docs.openstack.org/api-ref/dns", "rel": "help" }], "status": "SUPPORTED", "updated": "2022-06-29T00:00:00Z" }, { "id": "v2.0", "links": [{ "href": "http://198.51.100.88/dns/v2", "rel": "self" }, { "href": "https://docs.openstack.org/api-ref/dns", "rel": "help" }], "status": "CURRENT", "updated": "2022-06-29T00:00:00Z" }] } ././@PaxHeader0000000000000000000000000000003400000000000011452 xustar000000000000000028 mtime=1712145123.8603542 designate-18.0.0/api-ref/source/samples/zones/0000775000175000017500000000000000000000000021213 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/create-zone-export-response.json0000664000175000017500000000063300000000000027477 0ustar00zuulzuul00000000000000{ "status": "PENDING", "zone_id": "074e805e-fe87-4cbb-b10b-21a06e215d41", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/exports/8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720" }, "created_at": "2015-08-27T20:57:03.000000", "updated_at": null, "version": 1, "location": null, "message": null, "project_id": "1", "id": "8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/create-zone-import-response.json0000664000175000017500000000054300000000000027470 0ustar00zuulzuul00000000000000{ "status": "PENDING", "zone_id": null, "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/imports/074e805e-fe87-4cbb-b10b-21a06e215d41" }, "created_at": "2015-05-08T15:43:42.000000", "updated_at": null, "version": 1, "message": null, "project_id": "1", "id": "074e805e-fe87-4cbb-b10b-21a06e215d41" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/create-zone-request.json0000664000175000017500000000032600000000000026011 0ustar00zuulzuul00000000000000{ "attributes": { "tier": "gold", "ha": "true" }, "name": "example.org.", "email": "joe@example.org", "type": "PRIMARY", "ttl": 7200, "description": "This is an example zone." } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/create-zone-transfer-accept-request.json0000664000175000017500000000014000000000000031062 0ustar00zuulzuul00000000000000{ "key":"FUGXMZ5N", "zone_transfer_request_id":"794fdf58-6e1d-41da-8b2d-16b6d10c8827" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/create-zone-transfer-accept-response.json0000664000175000017500000000107000000000000031233 0ustar00zuulzuul00000000000000{ "status": "COMPLETE", "zone_id": "b4542f5a-f1ea-4ec1-b850-52db9dc3f465", "links": { "self": "http://10.0.4.46:9001/v2/zones/tasks/transfer_accepts/fe8c30f5-42f6-4af1-8cbf-e31a810d8c33", "zone": "http://10.0.4.46:9001/v2/zones/b4542f5a-f1ea-4ec1-b850-52db9dc3f465" }, "created_at": "2016-06-22 06:13:55", "updated_at": "null", "key": "FUGXMZ5N", "project_id": "2e43de7ce3504a8fb90a45382532c37e", "id": "fe8c30f5-42f6-4af1-8cbf-e31a810d8c33", "zone_transfer_request_id": "794fdf58-6e1d-41da-8b2d-16b6d10c8827" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/create-zone-transfer-request-request.json0000664000175000017500000000003200000000000031313 0ustar00zuulzuul00000000000000{ "project_id": "1" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/create-zone-transfer-request-response.json0000664000175000017500000000074200000000000031471 0ustar00zuulzuul00000000000000{ "created_at": "2014-07-17T20:34:40.882579", "description": null, "id": "f2ad17b5-807a-423f-a991-e06236c247be", "key": "9Z2R50Y0", "project_id": "1", "status": "ACTIVE", "target_project_id": "123456", "updated_at": null, "zone_id": "6b78734a-aef1-45cd-9708-8eb3c2d26ff8", "zone_name": "qa.dev.example.com.", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests/f2ad17b5-807a-423f-a991-e06236c247be" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/delete-zone-response.json0000664000175000017500000000116200000000000026155 0ustar00zuulzuul00000000000000{ "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2", "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66", "name": "example.org.", "email": "joe@example.org", "ttl": 600, "serial": 1404757531, "status": "PENDING", "action": "DELETE", "description": "Updated Description", "masters": [], "type": "PRIMARY", "transferred_at": null, "version": 1, "created_at": "2014-07-07T18:25:31.275934", "updated_at": null, "links": { "self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/list-share-zone-response.json0000664000175000017500000000242700000000000026773 0ustar00zuulzuul00000000000000{ "shared_zones": [{ "id": "4495ffbb-b7d1-43e0-9423-f0a4172e5f9e", "zone_id": "a3365b47-ee93-43ad-9a60-2b2ca96b1898", "project_id": "16ade46c85a1435bb86d9138d37da57e", "target_project_id": "232e37df46af42089710e2ae39111c2f", "created_at": "2022-12-01T23:02:49.000000", "updated_at": null, "links": { "self": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898/shares/4495ffbb-b7d1-43e0-9423-f0a4172e5f9e", "zone": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898" } }, { "id": "1f278d08-2f6a-462a-bb49-21a4f6e6d32b", "zone_id": "a3365b47-ee93-43ad-9a60-2b2ca96b1898", "project_id": "16ade46c85a1435bb86d9138d37da57e", "target_project_id": "86d78e93698e4b06aad4f62e04afb4c1", "created_at": "2022-12-02T01:51:48.000000", "updated_at": null, "links": { "self": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898/shares/1f278d08-2f6a-462a-bb49-21a4f6e6d32b", "zone": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898" } }], "links": { "self": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898/shares" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/list-zone-export-response.json0000664000175000017500000000165000000000000027207 0ustar00zuulzuul00000000000000{ "exports": [ { "status": "COMPLETE", "zone_id": "17a8d6b3-6ace-4857-b113-a707c5f975b1", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/exports/204be410-0a9c-44b8-839e-bc4df3bb0d9a", "export": "http://127.0.0.1:9001/v2/zones/tasks/exports/204be410-0a9c-44b8-839e-bc4df3bb0d9a/export" }, "created_at": "2016-04-04T01:53:29.000000", "updated_at": "2016-04-04T01:53:29.000000", "version": 2, "location": "designate://v2/zones/tasks/exports/204be410-0a9c-44b8-839e-bc4df3bb0d9a/export", "message": null, "project_id": "1de6e2fdc22342d3bef6340c7b70f497", "id": "204be410-0a9c-44b8-839e-bc4df3bb0d9a" } ], "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/exports" }, "metadata": { "total_count": 1 } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/list-zone-import-response.json0000664000175000017500000000272700000000000027206 0ustar00zuulzuul00000000000000{ "imports": [ { "status": "COMPLETE", "zone_id": "047888ee-e9dd-4c08-8b44-ab2e879e01bd", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/imports/0436a86e-ffc1-4d38-82a7-d75170fcd2a9", "href": "http://127.0.0.1:9001/v2/zones/047888ee-e9dd-4c08-8b44-ab2e879e01bd" }, "created_at": "2016-04-05T06:03:06.000000", "updated_at": "2016-04-05T06:03:06.000000", "version": 2, "message": "example.com. imported", "project_id": "1de6e2fdc22342d3bef6340c7b70f497", "id": "0436a86e-ffc1-4d38-82a7-d75170fcd2a9" }, { "status": "COMPLETE", "zone_id": "68a17870-7f81-470a-b5e9-2753460fd6dc", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/imports/f0aa4ac1-f975-46a4-b417-339acd1ea8e3", "href": "http://127.0.0.1:9001/v2/zones/68a17870-7f81-470a-b5e9-2753460fd6dc" }, "created_at": "2016-04-05T06:06:26.000000", "updated_at": "2016-04-05T06:06:26.000000", "version": 2, "message": "temp.org. imported", "project_id": "1de6e2fdc22342d3bef6340c7b70f497", "id": "f0aa4ac1-f975-46a4-b417-339acd1ea8e3" } ], "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/imports" }, "metadata": { "total_count": 2 } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/list-zone-transfer-accept-response.json0000664000175000017500000000271200000000000030747 0ustar00zuulzuul00000000000000{ "metadata": { "total_count": 2 }, "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_accepts" }, "transfer_accepts": [{ "status": "COMPLETE", "zone_id": "8db93d1a-59e3-4143-a393-5821abea0a46", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_accepts/afb4222b-18b3-44b3-9f54-e0dfdba1be44", "zone": "http://127.0.0.1:9001/v2/zones/8db93d1a-59e3-4143-a393-5821abea0a46" }, "created_at": "2016-06-01 05:35:35", "updated_at": "2016-06-01 05:35:35", "key": null, "project_id": "85604ecfb5334b50bd40ca53fc1d710f", "id": "afb4222b-18b3-44b3-9f54-e0dfdba1be44", "zone_transfer_request_id": "d223f7ef-77a6-459e-abd3-b4dbc97338e7" }, { "status": "COMPLETE", "zone_id": "925bfc45-8901-4aca-aa12-18afaf0879e2", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_accepts/ecbc7091-c498-4ec4-9893-68b06297fe50", "zone": "http://127.0.0.1:9001/v2/zones/925bfc45-8901-4aca-aa12-18afaf0879e2" }, "created_at": "2016-06-01 10:06:36", "updated_at": "2016-06-01 10:06:37", "key": null, "project_id": "85604ecfb5334b50bd40ca53fc1d710f", "id": "ecbc7091-c498-4ec4-9893-68b06297fe50", "zone_transfer_request_id": "94cf9bd3-4137-430b-bf75-4e690430258c" } ] } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/list-zone-transfer-request-response.json0000664000175000017500000000231100000000000031173 0ustar00zuulzuul00000000000000{ "transfer_requests": [ { "created_at": "2014-07-17T20:34:40.882579", "description": "This was created by the requesting project", "id": "f2ad17b5-807a-423f-a991-e06236c247be", "key": "9Z2R50Y0", "project_id": "1", "status": "ACTIVE", "target_project_id": "123456", "updated_at": null, "zone_id": "6b78734a-aef1-45cd-9708-8eb3c2d26ff8", "zone_name": "qa.dev.example.com.", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests/f2ad17b5-807a-423f-a991-e06236c247be" } }, { "description": "This is scoped to the requesting project", "id": "efd2d720-b0c4-43d4-99f7-d9b53e08860d", "zone_id": "2c4d5e37-f823-4bee-9859-031cb44f80e7", "zone_name": "subdomain.example.com.", "status": "ACTIVE", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests/efd2d720-b0c4-43d4-99f7-d9b53e08860d" } } ], "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/list-zones-response.json0000664000175000017500000000216700000000000026057 0ustar00zuulzuul00000000000000{ "zones": [ { "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2", "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66", "name": "example.org.", "email": "joe@example.org", "ttl": 7200, "serial": 1404757531, "status": "ACTIVE", "action": "CREATE", "description": "This is an example zone.", "masters": [], "type": "PRIMARY", "transferred_at": null, "version": 1, "created_at": "2014-07-07T18:25:31.275934", "updated_at": null, "attributes": { "tier": "gold", "ha": "true" }, "links": { "self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3" } } ], "links": { "self": "http://127.0.0.1:9001/v2/zones?limit=1", "next": "http://127.0.0.1:9001/v2/zones?limit=1&marker=45fd892d-7a67-4f65-9df0-87273f228d6c" }, "metadata": { "total_count": 2 } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/poolmove-zone-request.json0000664000175000017500000000007200000000000026404 0ustar00zuulzuul00000000000000{ "pool_id": "8e6f1c59-15e7-4a14-8640-8d5e07f95b10" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/share-zone-request.json0000664000175000017500000000010000000000000025636 0ustar00zuulzuul00000000000000{ "target_project_id": "232e37df46af42089710e2ae39111c2f" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/share-zone-response.json0000664000175000017500000000103000000000000026007 0ustar00zuulzuul00000000000000{ "id": "fd40b017-bf97-461c-8d30-d4e922b28edd", "zone_id": "a3365b47-ee93-43ad-9a60-2b2ca96b1898", "project_id": "16ade46c85a1435bb86d9138d37da57e", "target_project_id": "232e37df46af42089710e2ae39111c2f", "created_at": "2022-11-30T22:20:27.000000", "updated_at": null, "links": { "self": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898/shares/fd40b017-bf97-461c-8d30-d4e922b28edd", "zone": "http://127.0.0.1:60053/v2/zones/a3365b47-ee93-43ad-9a60-2b2ca96b1898" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/show-zone-export-content.txt0000664000175000017500000000052200000000000026673 0ustar00zuulzuul00000000000000$ORIGIN example.com. $TTL 42 example.com. IN SOA ns.designate.com. nsadmin.example.com. ( 1394213803 ; serial 3600 ; refresh 600 ; retry 86400 ; expire 3600 ; minimum ) example.com. IN NS ns.designate.com. example.com. IN MX 10 mail.example.com. ns.example.com. IN A 10.0.0.1 mail.example.com. IN A 10.0.0.2 ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/show-zone-export-response.json0000664000175000017500000000117300000000000027214 0ustar00zuulzuul00000000000000{ "status": "COMPLETE", "zone_id": "6625198b-d67d-47dc-8d29-f90bd60f3ac4", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/exports/8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720", "export": "http://127.0.0.1:9001/v2/zones/tasks/exports/8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720/export" }, "created_at": "2015-08-27T20:57:03.000000", "updated_at": "2015-08-27T20:57:03.000000", "version": 2, "location": "designate://v2/zones/tasks/exports/8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720/export", "message": null, "project_id": "noauth-project", "id": "8ec17fe1-d1f9-41b4-aa98-4eeb4c27b720" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/show-zone-import-response.json0000664000175000017500000000102500000000000027201 0ustar00zuulzuul00000000000000{ "status": "COMPLETE", "zone_id": "6625198b-d67d-47dc-8d29-f90bd60f3ac4", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/imports/074e805e-fe87-4cbb-b10b-21a06e215d41", "href": "http://127.0.0.1:9001/v2/zones/6625198b-d67d-47dc-8d29-f90bd60f3ac4" }, "created_at": "2015-05-08T15:43:42.000000", "updated_at": "2015-05-08T15:43:42.000000", "version": 2, "message": "example.com. imported", "project_id": "noauth-project", "id": "074e805e-fe87-4cbb-b10b-21a06e215d41" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/show-zone-nameservers-response.json0000664000175000017500000000017200000000000030223 0ustar00zuulzuul00000000000000{ "nameservers": [ { "hostname": "ns1.example.com.", "priority": 10 } ] } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/show-zone-transfer-request-response.json0000664000175000017500000000056200000000000031206 0ustar00zuulzuul00000000000000{ "description": "This is scoped to the requesting project", "id": "efd2d720-b0c4-43d4-99f7-d9b53e08860d", "zone_id": "2c4d5e37-f823-4bee-9859-031cb44f80e7", "zone_name": "subdomain.example.com.", "status": "ACTIVE", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests/efd2d720-b0c4-43d4-99f7-d9b53e08860d" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/update-zone-request.json0000664000175000017500000000007500000000000026031 0ustar00zuulzuul00000000000000{ "ttl": 600, "description": "Updated Description" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/update-zone-response.json0000664000175000017500000000126200000000000026176 0ustar00zuulzuul00000000000000{ "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2", "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66", "name": "example.org.", "email": "joe@example.org", "ttl": 600, "serial": 1404757531, "status": "PENDING", "action": "UPDATE", "description": "Updated Description", "masters": [], "type": "PRIMARY", "transferred_at": null, "version": 1, "created_at": "2014-07-07T18:25:31.275934", "updated_at": null, "attributes": { "tier": "gold", "ha": "true" }, "links": { "self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/update-zone-transfer-request-request.json0000664000175000017500000000013600000000000031337 0ustar00zuulzuul00000000000000{ "description": "This is scoped to the new project", "target_project_id": "987654" } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/update-zone-transfer-request-response.json0000664000175000017500000000061600000000000031510 0ustar00zuulzuul00000000000000{ "description": "This is scoped to the new project", "target_project_id": "987654", "id": "efd2d720-b0c4-43d4-99f7-d9b53e08860d", "zone_id": "2c4d5e37-f823-4bee-9859-031cb44f80e7", "zone_name": "subdomain.example.com.", "status": "ACTIVE", "links": { "self": "http://127.0.0.1:9001/v2/zones/tasks/transfer_requests/efd2d720-b0c4-43d4-99f7-d9b53e08860d" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/samples/zones/zone-response.json0000664000175000017500000000126700000000000024723 0ustar00zuulzuul00000000000000{ "id": "a86dba58-0043-4cc6-a1bb-69d5e86f3ca3", "pool_id": "572ba08c-d929-4c70-8e42-03824bb24ca2", "project_id": "4335d1f0-f793-11e2-b778-0800200c9a66", "name": "example.org.", "email": "joe@example.org", "ttl": 7200, "serial": 1404757531, "status": "ACTIVE", "action": "CREATE", "description": "This is an example zone.", "masters": [], "type": "PRIMARY", "transferred_at": null, "version": 1, "created_at": "2014-07-07T18:25:31.275934", "updated_at": null, "attributes": { "tier": "gold", "ha": "true" }, "links": { "self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3" } } ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/api-ref/source/status.yaml0000664000175000017500000000303400000000000020620 0ustar00zuulzuul00000000000000 200: default: | Request was successful. 201: default: | Request has been fulfilled and new resource created. 202: default: | Request is accepted, but processing may take some time. 203: default: | Returned information is not full set, but a subset. 204: default: | Request fulfilled but service does not return anything. 300: default: | The resource corresponds to more than one representation. 400: default: | Some content in the request was invalid. 401: default: | User must authenticate before making a request. 403: default: | Policy does not allow current user to do this operation. 404: default: | The requested resource could not be found. 405: default: | Method is not valid for this endpoint and resource. 409: default: | This resource has an action in progress that would conflict with this request. 413: default: | This operation cannot be completed. 415: default: | The entity of the request is in a format not supported by the requested resource for the method. 500: default: | Something went wrong with the service which prevents it from fulfilling the request. 501: default: | The service does not have the functionality required to fulfill this request. 503: default: | The service cannot handle the request right now. ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/bindep.txt0000664000175000017500000000005300000000000015566 0ustar00zuulzuul00000000000000# Docs package dependencies graphviz [doc] ././@PaxHeader0000000000000000000000000000003400000000000011452 xustar000000000000000028 mtime=1712145123.8643544 designate-18.0.0/contrib/0000775000175000017500000000000000000000000015226 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000003400000000000011452 xustar000000000000000028 mtime=1712145123.8643544 designate-18.0.0/contrib/designate-ext-samplehandler/0000775000175000017500000000000000000000000022604 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/designate-ext-samplehandler/.gitignore0000664000175000017500000000032200000000000024571 0ustar00zuulzuul00000000000000*.pyc *.dat TAGS *.egg* build .coverage .tox cover venv .venv *.sublime-workspace *.sqlite var/* etc/*.conf etc/*.ini AUTHORS ChangeLog doc/source/api/* doc/build/* dist designate_ext_samplehandler/versioninfo ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/designate-ext-samplehandler/MANIFEST.in0000664000175000017500000000031700000000000024343 0ustar00zuulzuul00000000000000include AUTHORS include ChangeLog include designate_ext_samplehandler/versioninfo include *.txt *.ini *.cfg *.rst *.md exclude .gitignore exclude .gitreview exclude *.sublime-project global-exclude *.pyc ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/designate-ext-samplehandler/README.rst0000664000175000017500000000024700000000000024276 0ustar00zuulzuul00000000000000Sample Designate Notification Handler Extension =============================================== This repo provides a sample plugin for a custom notification handler. ././@PaxHeader0000000000000000000000000000003400000000000011452 xustar000000000000000028 mtime=1712145123.8643544 designate-18.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/0000775000175000017500000000000000000000000030326 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/__init__.py0000664000175000017500000000000000000000000032425 0ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000021400000000000011452 xustar0000000000000000112 path=designate-18.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handler/ 28 mtime=1712145123.8643544 designate-18.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handle0000775000175000017500000000000000000000000034250 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000022100000000000011450 xustar0000000000000000123 path=designate-18.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handler/__init__.py 22 mtime=1712145095.0 designate-18.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handle0000664000175000017500000000000000000000000034240 0ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000021700000000000011455 xustar0000000000000000121 path=designate-18.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handler/sample.py 22 mtime=1712145095.0 designate-18.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/notification_handle0000664000175000017500000000533000000000000034253 0ustar00zuulzuul00000000000000# Copyright 2013 Hewlett-Packard Development Company, L.P. # # Author: Kiall Mac Innes # # 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 limitations # under the License. from oslo_config import cfg from oslo_log import log as logging from designate.context import DesignateContext from designate.notification_handler.base import NotificationHandler LOG = logging.getLogger(__name__) # Setup a config group cfg.CONF.register_group(cfg.OptGroup( name='handler:sample', title="Configuration for Sample Notification Handler" )) # Setup the config options cfg.CONF.register_opts([ cfg.StrOpt('control-exchange', default='nova'), cfg.ListOpt('notification-topics', default=['designate']), cfg.StrOpt('zone-name', default='example.org.'), cfg.StrOpt('zone-id', default='12345'), ], group='handler:sample') class SampleHandler(NotificationHandler): """Sample Handler""" __plugin_name__ = 'sample' def get_exchange_topics(self): """ Return a tuple of (exchange, [topics]) this handler wants to receive events from. """ exchange = cfg.CONF[self.name].control_exchange topics = [topic for topic in cfg.CONF[self.name].notification_topics] return exchange, topics def get_event_types(self): return [ 'compute.instance.create.end' ] def process_notification(self, context, event_type, payload): # Do something with the notification.. e.g: zone_id = cfg.CONF[self.name].zone_id zone_name = cfg.CONF[self.name].zone_name record_name = '{}.{}'.format(payload['instance_id'], zone_name) context = DesignateContext().elevated() context.all_tenants = True # context.edit_managed_records = True for fixed_ip in payload['fixed_ips']: recordset_values = { 'zone_id': zone_id, 'name': record_name, 'type': 'A' if fixed_ip['version'] == 4 else 'AAAA' } record_values = { 'data': fixed_ip['address'], } self.central_api.create_managed_records( context, zone_id, records_values=[record_values], recordset_values=recordset_values, ) ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/designate-ext-samplehandler/designate_ext_samplehandler/version.py0000664000175000017500000000134300000000000032366 0ustar00zuulzuul00000000000000# Copyright 2013 Hewlett-Packard Development Company, L.P. # # Author: Kiall Mac Innes # # 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 limitations # under the License. import pbr.version version_info = pbr.version.VersionInfo('designate-ext-samplehandler') ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/designate-ext-samplehandler/requirements.txt0000664000175000017500000000010400000000000026063 0ustar00zuulzuul00000000000000pbr -e git+https://github.com/openstack/designate.git#egg=designate ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/designate-ext-samplehandler/setup.cfg0000664000175000017500000000231600000000000024427 0ustar00zuulzuul00000000000000[metadata] name = designate-ext-samplehandler summary = Sample Designate Handler Extension description_file = README.rst author = Kiall Mac Innes author_email = kiall@hp.com classifier = Environment :: OpenStack Intended Audience :: Information Technology Intended Audience :: System Administrators License :: OSI Approved :: Apache Software License Operating System :: POSIX :: Linux [global] setup-hooks = pbr.hooks.setup_hook [files] packages = designate_ext_samplehandler [entry_points] designate.notification.handler = sample = designate_ext_samplehandler.notification_handler.sample:SampleHandler [build_sphinx] all_files = 1 build-dir = doc/build source-dir = doc/source [egg_info] tag_build = tag_date = 0 tag_svn_revision = 0 [compile_catalog] directory = designate-ext-samplehandler/locale domain = designate-ext-samplehandler [update_catalog] domain = designate-ext-samplehandler output_dir = designate-ext-samplehandler/locale input_file = designate-ext-samplehandler/locale/designate-ext-samplehandler.pot [extract_messages] keywords = _ gettext ngettext l_ lazy_gettext mapping_file = babel.cfg output_file = designate-ext-samplehandler/locale/designate-ext-samplehandler.pot ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/designate-ext-samplehandler/setup.py0000775000175000017500000000141600000000000024323 0ustar00zuulzuul00000000000000#!/usr/bin/env python3 # Copyright (c) 2013 Hewlett-Packard Development Company, L.P. # # 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 # limitations under the License. # THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT import setuptools setuptools.setup( setup_requires=['pbr'], pbr=True) ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/designate-ext-samplehandler/test-requirements.txt0000664000175000017500000000002400000000000027041 0ustar00zuulzuul00000000000000hacking>=0.8.0,<0.9 ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/dns_dump_dnspy.py0000775000175000017500000000172300000000000020634 0ustar00zuulzuul00000000000000#!/usr/bin/env python3 # Copyright 2014 Hewlett-Packard Development Company, L.P. # # Author: Kiall Mac Innes # # 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 limitations # under the License. import binascii import dns import dns.message import dns.rdatatype # Prepare a Packet request = dns.message.make_query( qname='example.com.', rdtype=dns.rdatatype.A, ) request.set_opcode(dns.opcode.UPDATE) # Print the hex representation of the Request print(binascii.b2a_hex(request.to_wire())) ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/dns_dump_hex_to_text.py0000664000175000017500000000154000000000000022023 0ustar00zuulzuul00000000000000#!/usr/bin/env python3 # Copyright 2014 Hewlett-Packard Development Company, L.P. # # Author: Kiall Mac Innes # # 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 limitations # under the License. import binascii import sys import dns import dns.message import dns.rdatatype unhexed = binascii.unhexlify(sys.argv[1]) response = dns.message.from_wire(unhexed) print(response.to_text()) ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/dns_dump_raw.py0000775000175000017500000000160600000000000020270 0ustar00zuulzuul00000000000000#!/usr/bin/env python3 # Copyright 2014 Hewlett-Packard Development Company, L.P. # # Author: Kiall Mac Innes # # 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 limitations # under the License. import binascii import sys import dns import dns.message wire = sys.argv[1] # Prepare the Message message = dns.message.from_wire(binascii.a2b_hex(wire)) # Print the test representation of the message print(message.to_text()) ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/dns_dump_server.py0000775000175000017500000000201700000000000021002 0ustar00zuulzuul00000000000000#!/usr/bin/env python3 # Copyright 2014 Hewlett-Packard Development Company, L.P. # # Author: Kiall Mac Innes # # 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 limitations # under the License. import binascii import socket # Bind to UDP 5355 sock_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock_udp.bind(('', 5355)) # Receive a Packet payload, addr = sock_udp.recvfrom(8192) # Print the hex representation of the packet print(binascii.b2a_hex(payload)) # The request just happens to be a kinda-ish valid response sock_udp.sendto(payload, addr) ././@PaxHeader0000000000000000000000000000003400000000000011452 xustar000000000000000028 mtime=1712145123.8643544 designate-18.0.0/contrib/vagrant/0000775000175000017500000000000000000000000016670 5ustar00zuulzuul00000000000000././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/vagrant/README.rst0000664000175000017500000000006500000000000020360 0ustar00zuulzuul00000000000000See devstack/README.rst or use setup_ubuntu_devstack ././@PaxHeader0000000000000000000000000000002600000000000011453 xustar000000000000000022 mtime=1712145095.0 designate-18.0.0/contrib/vagrant/Vagrantfile0000664000175000017500000001234100000000000021056 0ustar00zuulzuul00000000000000VAGRANTFILE_API_VERSION = "2" GITCONFIG = `cat $HOME/.gitconfig` Vagrant.require_version ">= 1.5" VM_RAM_SIZE = "8192" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.ssh.forward_agent = true config.vm.provider "virtualbox" do |vb, override| vb.customize ["modifyvm", :id, "--memory", VM_RAM_SIZE] if not RUBY_PLATFORM.downcase.include?("mswin") vb.customize ["modifyvm", :id, "--cpus", `awk "/^processor/ {++n} END {print n}" /proc/cpuinfo 2> /dev/null || sh -c 'sysctl hw.logicalcpu 2> /dev/null || echo ": 2"' | awk \'{print \$2}\' `.chomp ] end vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"] override.vm.synced_folder "../..", "/opt/stack/designate" if File.directory?("../../../python-designateclient") override.vm.synced_folder "../../../python-designateclient", "/opt/stack/python-designateclient" end if File.directory?("../../../designate-dashboard") override.vm.synced_folder "../../../designate-dashboard", "/opt/stack/designate-dashboard" end if File.directory?("../../../designate-tempest-plugin") override.vm.synced_folder "../../../designate-tempest-plugin", "/opt/stack/designate-tempest-plugin" end if File.directory?("../../../devstack") override.vm.synced_folder "../../../devstack", "/home/vagrant/devstack" end if File.directory?("../../../grenade") override.vm.synced_folder "../../../grenade", "/opt/stack/grenade" end if File.directory?("../../../tempest") override.vm.synced_folder "../../../tempest", "/opt/stack/tempest" end if File.directory?("../../../rally") override.vm.synced_folder "../../../rally", "/opt/stack/rally" end end config.vm.provider :libvirt do |lv, override| lv.graphics_ip = '0.0.0.0' lv.nested = true lv.memory = Integer(VM_RAM_SIZE) if not RUBY_PLATFORM.downcase.include?("mswin") lv.cpus = `awk "/^processor/ {++n} END {print n}" /proc/cpuinfo 2> /dev/null || sh -c 'sysctl hw.logicalcpu 2> /dev/null || echo ": 2"' | awk \'{print \$2}\' `.chomp end override.vm.synced_folder ".", "/vagrant", type: "nfs" override.vm.synced_folder "../..", "/opt/stack/designate", type: "nfs" if File.directory?("../../../python-designateclient") override.vm.synced_folder "../../../python-designateclient", "/opt/stack/python-designateclient", type: "nfs" end if File.directory?("../../../designate-dashboard") override.vm.synced_folder "../../../designate-dashboard", "/opt/stack/designate-dashboard", type: "nfs" end if File.directory?("../../../designate-tempest-plugin") override.vm.synced_folder "../../../designate-tempest-plugin", "/opt/stack/designate-tempest-plugin", type: "nfs" end if File.directory?("../../../grenade") override.vm.synced_folder "../../../grenade", "/opt/stack/grenade", type: "nfs" end if File.directory?("../../../devstack") override.vm.synced_folder "../../../devstack", "/home/vagrant/devstack", type: "nfs" end if File.directory?("../../../tempest") override.vm.synced_folder "../../../tempest", "/opt/stack/tempest", type: "nfs" end if File.directory?("../../../rally") override.vm.synced_folder "../../../rally", "/opt/stack/rally", type: "nfs" end end $script = <