Retire Packaging Deb project repos
This commit is part of a series to retire the Packaging Deb project. Step 2 is to remove all content from the project repos, replacing it with a README notification where to find ongoing work, and how to recover the repo if needed at some future point (as in https://docs.openstack.org/infra/manual/drivers.html#retiring-a-project). Change-Id: Ib784ade7594933fc9e09461d2a294521e6224f72
This commit is contained in:
parent
accd70a656
commit
18dba242d1
|
@ -1,7 +0,0 @@
|
|||
[run]
|
||||
branch = True
|
||||
source = designate
|
||||
omit = designate/tests/*
|
||||
|
||||
[report]
|
||||
ignore_errors = True
|
|
@ -1,56 +0,0 @@
|
|||
|
||||
# Python related files
|
||||
|
||||
*.dat
|
||||
*.egg
|
||||
*.egg-info
|
||||
*.pyc
|
||||
.eggs
|
||||
TAGS
|
||||
build
|
||||
|
||||
# Test related files
|
||||
|
||||
*.log
|
||||
.coverage
|
||||
.coverage.*
|
||||
.testrepository/*
|
||||
.tox
|
||||
.venv
|
||||
cover
|
||||
flake8_results.html
|
||||
functionaltests/.testrepository/
|
||||
functionaltests/tempest.log
|
||||
htmlcov/
|
||||
venv
|
||||
|
||||
# Files created by releasenotes build
|
||||
releasenotes/build
|
||||
|
||||
# Editors
|
||||
|
||||
*.sublime-workspace
|
||||
*.swp
|
||||
|
||||
# Misc
|
||||
|
||||
*.DS_Store
|
||||
*.idea
|
||||
*.ipynb
|
||||
*.orig
|
||||
*.sqlite
|
||||
*.sqlite3
|
||||
/.ipynb_checkpoints/*
|
||||
/bind9
|
||||
/dnsmasq
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
contrib/vagrant/.vagrant/
|
||||
designate/versioninfo
|
||||
dist
|
||||
doc/build/*
|
||||
doc/source/api/*
|
||||
api-ref/build/*
|
||||
etc/designate/*.conf
|
||||
etc/designate/*.yaml
|
||||
var/*
|
|
@ -1,4 +0,0 @@
|
|||
[gerrit]
|
||||
host=review.openstack.org
|
||||
port=29418
|
||||
project=openstack/designate.git
|
10
.testr.conf
10
.testr.conf
|
@ -1,10 +0,0 @@
|
|||
[DEFAULT]
|
||||
test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
|
||||
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
|
||||
OS_LOG_CAPTURE=${OS_LOG_CAPTURE:-1} \
|
||||
OS_DEBUG=${OS_DEBUG:-1} \
|
||||
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
|
||||
${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./designate/tests} $LISTOPT $IDOPTION
|
||||
|
||||
test_id_option=--load-list $IDFILE
|
||||
test_list_option=--list
|
176
LICENSE
176
LICENSE
|
@ -1,176 +0,0 @@
|
|||
|
||||
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.
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
This project is no longer maintained.
|
||||
|
||||
The contents of this repository are still available in the Git
|
||||
source code management system. To see the contents of this
|
||||
repository before it reached its end of life, please check out the
|
||||
previous commit with "git checkout HEAD^1".
|
||||
|
||||
For ongoing work on maintaining OpenStack packages in the Debian
|
||||
distribution, please see the Debian OpenStack packaging team at
|
||||
https://wiki.debian.org/OpenStack/.
|
||||
|
||||
For any further questions, please email
|
||||
openstack-dev@lists.openstack.org or join #openstack-dev on
|
||||
Freenode.
|
96
README.rst
96
README.rst
|
@ -1,96 +0,0 @@
|
|||
========================
|
||||
Team and repository tags
|
||||
========================
|
||||
|
||||
.. image:: https://governance.openstack.org/badges/designate.svg
|
||||
:target: https://governance.openstack.org/reference/tags/index.html
|
||||
|
||||
.. Change things from this point on
|
||||
|
||||
===================
|
||||
OpenStack Designate
|
||||
===================
|
||||
|
||||
Designate is an OpenStack project, providing DNSaaS.
|
||||
|
||||
IRC: #openstack-dns
|
||||
|
||||
Installation: https://docs.openstack.org/designate/latest/
|
||||
|
||||
|
||||
Development
|
||||
===========
|
||||
|
||||
Designate follows the `OpenStack Gerrit Workflow`_
|
||||
|
||||
Setup
|
||||
-----
|
||||
|
||||
Setup a working environment:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
git clone https://github.com/openstack/designate.git
|
||||
cd designate
|
||||
virtualenv .venv
|
||||
. .venv/bin/activate
|
||||
pip install -r requirements.txt -r test-requirements.txt
|
||||
python setup.py develop
|
||||
|
||||
Building Docs
|
||||
-------------
|
||||
|
||||
To build the documentation from the restructured text source, do the following:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
cd doc
|
||||
pip install -r requirements.txt
|
||||
sphinx-build source/ build/html/
|
||||
|
||||
now point your browser at html/index.html
|
||||
(the official documentation is published to `docs.openstack.org`_ by the
|
||||
maintainers.
|
||||
|
||||
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
|
||||
|
||||
Testing
|
||||
-------
|
||||
|
||||
Execute a single test using py27 (test is CentralServiceTest.test_count_domains)
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
tox -e py27 -- designate.tests.test_central.test_service.CentralServiceTest.test_count_zones_policy_check
|
||||
|
||||
|
||||
|
||||
* Free software: Apache license
|
||||
* Documentation: https://docs.openstack.org/designate/latest/
|
||||
* Source: https://git.openstack.org/cgit/openstack/designate
|
||||
* Bugs: https://bugs.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/
|
|
@ -1,232 +0,0 @@
|
|||
# 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 subprocess
|
||||
import sys
|
||||
|
||||
from designate.version import version_info
|
||||
|
||||
import openstackdocstheme
|
||||
|
||||
html_theme = 'openstackdocs'
|
||||
html_theme_path = [openstackdocstheme.get_html_theme_path()]
|
||||
html_theme_options = {
|
||||
"sidebar_mode": "toc",
|
||||
"sidebar_dropdown": "api_ref",
|
||||
}
|
||||
|
||||
extensions = [
|
||||
'os_api_ref',
|
||||
]
|
||||
|
||||
# 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 = u'Designate API Reference'
|
||||
copyright = u'OpenStack Foundation'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = version_info.release_string()
|
||||
# The short X.Y version.
|
||||
version = version_info.version_string()
|
||||
|
||||
# Config logABug feature
|
||||
giturl = (
|
||||
u'https://git.openstack.org/cgit/openstack/designate/tree/api-ref/source')
|
||||
# source tree
|
||||
# html_context allows us to pass arbitrary values into the html template
|
||||
html_context = {'bug_tag': 'api-ref',
|
||||
'giturl': giturl,
|
||||
'bug_project': 'designate'}
|
||||
|
||||
# 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 = 'sphinx'
|
||||
|
||||
# -- Options for man page output ----------------------------------------------
|
||||
|
||||
# Grouping the document tree for man pages.
|
||||
# List of tuples 'sourcefile', 'target', u'title', u'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
|
||||
# "<project> v<release> 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 not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||
# using the given strftime format.
|
||||
# html_last_updated_fmt = '%b %d, %Y'
|
||||
git_cmd = ["git", "log", "--pretty=format:'%ad, commit %h'", "--date=local",
|
||||
"-n1"]
|
||||
html_last_updated_fmt = subprocess.check_output(git_cmd).decode('utf-8')
|
||||
|
||||
# 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 <link> 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', u'OpenStack DNS API Documentation',
|
||||
u'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
|
|
@ -1,241 +0,0 @@
|
|||
==========
|
||||
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
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 409, 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
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
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_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
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
|
@ -1,54 +0,0 @@
|
|||
======
|
||||
Limits
|
||||
======
|
||||
|
||||
Show the limits for the current project
|
||||
|
||||
|
||||
Get Project Limits
|
||||
==================
|
||||
|
||||
.. rest_method:: GET /v2/limits
|
||||
|
||||
List project limits
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
|
@ -1,104 +0,0 @@
|
|||
=====
|
||||
Pools
|
||||
=====
|
||||
|
||||
Get information about the pools in a designate install
|
||||
|
||||
|
||||
List all Pools
|
||||
==============
|
||||
|
||||
.. rest_method:: GET /v2/pools
|
||||
|
||||
Get the list of Pools.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
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
|
|
@ -1,196 +0,0 @@
|
|||
======
|
||||
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.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 409,405,404,403,401,400,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.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 409,405,404,403,401,400,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.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 409,405,404,403,401,400,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.
|
||||
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 409,405,404,403,401,400,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
|
||||
|
|
@ -1,627 +0,0 @@
|
|||
==========
|
||||
Recordsets
|
||||
==========
|
||||
|
||||
Recordsets operations.
|
||||
|
||||
|
||||
Create Recordset
|
||||
================
|
||||
|
||||
.. rest_method:: POST /v2/zones/{zone_id}/recordsets
|
||||
|
||||
Create a recordset in a zone
|
||||
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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 MX recordset in a zone
|
||||
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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 MX recordset in a zone
|
||||
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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 MX recordset in a zone
|
||||
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
|
@ -1,192 +0,0 @@
|
|||
===========
|
||||
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.
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
|
@ -1,54 +0,0 @@
|
|||
================
|
||||
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_status
|
||||
|
||||
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
|
||||
- id: id
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/service_status/service_status_list.json
|
||||
:language: javascript
|
|
@ -1,240 +0,0 @@
|
|||
===
|
||||
Tld
|
||||
===
|
||||
|
||||
Tld operations.
|
||||
|
||||
|
||||
Create Tld
|
||||
==========
|
||||
|
||||
.. rest_method:: POST /v2/tlds
|
||||
|
||||
Create a tld
|
||||
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 409,405,404,403,401,400,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
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,403,401,400,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
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
|
@ -1,261 +0,0 @@
|
|||
=======
|
||||
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
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 409, 405,404,403,401,400,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
|
||||
|
||||
|
||||
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
|
||||
- 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
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
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
|
||||
- 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
|
||||
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
|
@ -1,37 +0,0 @@
|
|||
============
|
||||
API Versions
|
||||
============
|
||||
|
||||
Show all enabled API versions
|
||||
|
||||
List all API versions
|
||||
=====================
|
||||
|
||||
.. rest_method:: GET /
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,503
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
No parameters needed
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- x-openstack-request-id: x-openstack-request-id
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/versions/get-versions-response.json
|
||||
:language: javascript
|
||||
|
||||
|
|
@ -1,227 +0,0 @@
|
|||
============
|
||||
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
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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}
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
|
@ -1,178 +0,0 @@
|
|||
===========
|
||||
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
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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}
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
|
@ -1,156 +0,0 @@
|
|||
==================================
|
||||
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
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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}
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
|
@ -1,254 +0,0 @@
|
|||
===================================
|
||||
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.
|
||||
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 405,404,403,401,400,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.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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}
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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}
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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}
|
||||
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
==========
|
||||
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
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 405,404,403,401,400,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.
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
|
@ -1,364 +0,0 @@
|
|||
====
|
||||
Zone
|
||||
====
|
||||
|
||||
Zone operations.
|
||||
|
||||
|
||||
Create Zone
|
||||
===========
|
||||
|
||||
.. rest_method:: POST /v2/zones
|
||||
|
||||
Create a zone
|
||||
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
|
||||
|
||||
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
|
||||
- links: links
|
||||
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/zones/zone-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
|
||||
List Zones
|
||||
==========
|
||||
|
||||
.. rest_method:: GET /v2/zones
|
||||
|
||||
List all zones
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
- 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
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
- 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
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 405,404,403,401,400,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.
|
||||
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
- 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
|
||||
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
Error response codes: 405,404,403,401,400,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
|
||||
- links: links
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/zones/delete-zone-response.json
|
||||
:language: javascript
|
|
@ -1,24 +0,0 @@
|
|||
:tocdepth: 2
|
||||
|
||||
========
|
||||
DNS API
|
||||
========
|
||||
|
||||
.. rest_expand_all::
|
||||
|
||||
.. include:: dns-api-v2-version.inc
|
||||
.. 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-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
|
|
@ -1,897 +0,0 @@
|
|||
####################
|
||||
# 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-edit-managed-records:
|
||||
description: |
|
||||
If enabled this will all users to edit records flagged as managed
|
||||
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_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_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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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 <region>:<floatingip_id>
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
status:
|
||||
description: |
|
||||
status of the resource
|
||||
in: body
|
||||
required: true
|
||||
type: enum
|
||||
|
||||
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: false
|
||||
type: datestamp
|
||||
|
||||
version:
|
||||
description: |
|
||||
Version of the resource
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
|
||||
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://<url>``.
|
||||
|
||||
As more drivers are added, this will expand to include swift - this will be
|
||||
indicated by location being set to ``swift://<region>/<container>/<file>``
|
||||
|
||||
This is also allowed be a webserver if the operator implements a different
|
||||
data store, and will be indicted by ``http://<url>``
|
||||
|
||||
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_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
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"pattern" : "^([A-Za-z0-9_\\-]+\\.)*example\\.com\\.$",
|
||||
"description" : "This is a blacklisted domain."
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"pattern" : "^examples\\.com\\.$",
|
||||
"description" : "Updated the description"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"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
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
{
|
||||
"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
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"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
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"api_export_size": 1000,
|
||||
"recordset_records": 20,
|
||||
"zone_records": 500,
|
||||
"zone_recordsets": 500,
|
||||
"zones": 100
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"zones": 500
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"api_export_size": 1000,
|
||||
"recordset_records": 20,
|
||||
"zone_records": 500,
|
||||
"zone_recordsets": 500,
|
||||
"zones": 500
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"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."
|
||||
]
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"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."
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"name" : "example.org.",
|
||||
"description" : "This is an example record set.",
|
||||
"type" : "A",
|
||||
"ttl" : 3600,
|
||||
"records" : [
|
||||
"10.1.0.2"
|
||||
]
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"name" : "foospf.example.org.",
|
||||
"description" : "An SPF recordset.",
|
||||
"type" : "SPF",
|
||||
"ttl" : 3600,
|
||||
"records" : [
|
||||
"v=spf1 +all"
|
||||
]
|
||||
}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"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."
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"name" : "_http._tcp.example.org.",
|
||||
"description" : "An SRV recordset.",
|
||||
"type" : "SRV",
|
||||
"ttl" : 3600,
|
||||
"records" : [
|
||||
"10 0 5060 www.example.org."
|
||||
]
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"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."
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"name" : "foo.example.org.",
|
||||
"description" : "An SSHFP recordset.",
|
||||
"type" : "SSHFP",
|
||||
"ttl" : 3600,
|
||||
"records" : [
|
||||
"1 2 6467a09c59607b01fef22ef6918c44a2eaaa14a5e055cfe91bf614b5796d2df0"
|
||||
]
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"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."
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"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
|
||||
}
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"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
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"description" : "Updated description",
|
||||
"ttl" : null,
|
||||
"records" : [
|
||||
"10.1.0.2",
|
||||
"10.1.0.3"
|
||||
]
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"ptrdname" : "smtp.example.com.",
|
||||
"description" : "This is a floating ip for 10.0.0.8",
|
||||
"ttl": 600
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"ptrdname": null
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"service_statuses": [
|
||||
{
|
||||
"links": {
|
||||
"self": "http://127.0.0.1:9001/v2/service_status/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_status"
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"name" : "com",
|
||||
"description" : "tld description"
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"name" : "org",
|
||||
"description" : "Updated the name from com to org"
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"name": "Example key",
|
||||
"algorithm": "hmac-sha256",
|
||||
"secret": "SomeSecretKey",
|
||||
"scope": "POOL",
|
||||
"resource_id": "d96851d0-765c-4ee9-bbdf-153345270bd3"
|
||||
}
|
|
@ -1,45 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"name": "example_tsigkey",
|
||||
"scope": "ZONE"
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
"versions": {
|
||||
"values": [
|
||||
{
|
||||
"id": "v1",
|
||||
"links": [
|
||||
{
|
||||
"href": "http://127.0.0.1:9001/v1",
|
||||
"rel": "self"
|
||||
}
|
||||
],
|
||||
"status": "DEPRECATED"
|
||||
},
|
||||
{
|
||||
"id": "v2",
|
||||
"links": [
|
||||
{
|
||||
"href": "http://127.0.0.1:9001/v2",
|
||||
"rel": "self"
|
||||
}
|
||||
],
|
||||
"status": "CURRENT"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"name": "example.org.",
|
||||
"email": "joe@example.org",
|
||||
"type": "PRIMARY",
|
||||
"ttl": 7200,
|
||||
"description": "This is an example zone."
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"key":"FUGXMZ5N",
|
||||
"zone_transfer_request_id":"794fdf58-6e1d-41da-8b2d-16b6d10c8827"
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"project_id": "1"
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
|
@ -1,26 +0,0 @@
|
|||
{
|
||||
|
||||
"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
|
||||
}
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
{
|
||||
"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
|
||||
}
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"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,
|
||||
"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
|
||||
}
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
$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
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"nameservers": [
|
||||
{
|
||||
"hostname": "ns1.example.com.",
|
||||
"priority": 10
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"ttl": 600,
|
||||
"description": "Updated Description"
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"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,
|
||||
"links": {
|
||||
"self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3"
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"description": "This is scoped to the new project",
|
||||
"target_project_id": "987654"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"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"
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"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,
|
||||
"links": {
|
||||
"self": "https://127.0.0.1:9001/v2/zones/a86dba58-0043-4cc6-a1bb-69d5e86f3ca3"
|
||||
}
|
||||
}
|
|
@ -1,56 +0,0 @@
|
|||
200:
|
||||
default: |
|
||||
Request was successful.
|
||||
image-data-200: |
|
||||
The service lists the image data in the response body.
|
||||
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.
|
|
@ -1,432 +0,0 @@
|
|||
# Copyright 2014 Red Hat, Inc.
|
||||
#
|
||||
# Author: Rich Megginson <rmeggins@redhat.com>
|
||||
#
|
||||
# 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 pprint
|
||||
import time
|
||||
|
||||
import requests
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log as logging
|
||||
from oslo_serialization import jsonutils as json
|
||||
from oslo_utils import importutils
|
||||
|
||||
from designate import exceptions
|
||||
from designate.backend import base
|
||||
from designate.i18n import _LE
|
||||
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
IPA_DEFAULT_PORT = 443
|
||||
|
||||
|
||||
class IPABaseError(exceptions.Backend):
|
||||
error_code = 500
|
||||
error_type = 'unknown_ipa_error'
|
||||
|
||||
|
||||
class IPAAuthError(IPABaseError):
|
||||
error_type = 'authentication_error'
|
||||
|
||||
|
||||
# map of designate domain parameters to the corresponding
|
||||
# ipa parameter
|
||||
# NOTE: ipa manages serial, and does not honor
|
||||
# increment_serial=False - this means the designate serial
|
||||
# and the ipa serial will diverge if updates are made
|
||||
# using increment_serial=False
|
||||
domain2ipa = {'ttl': 'dnsttl', 'email': 'idnssoarname',
|
||||
'serial': 'idnssoaserial', 'expire': 'idnssoaexpire',
|
||||
'minimum': 'idnssoaminimum', 'refresh': 'idnssoarefresh',
|
||||
'retry': 'idnssoaretry'}
|
||||
|
||||
# map of designate record types to ipa
|
||||
rectype2iparectype = {'A': ('arecord', '%(data)s'),
|
||||
'AAAA': ('aaaarecord', '%(data)s'),
|
||||
'MX': ('mxrecord', '%(data)s'),
|
||||
'CNAME': ('cnamerecord', '%(data)s'),
|
||||
'TXT': ('txtrecord', '%(data)s'),
|
||||
'SRV': ('srvrecord', '%(data)s'),
|
||||
'NS': ('nsrecord', '%(data)s'),
|
||||
'PTR': ('ptrrecord', '%(data)s'),
|
||||
'SPF': ('spfrecord', '%(data)s'),
|
||||
'SSHFP': ('sshfprecord', '%(data)s')}
|
||||
|
||||
IPA_INVALID_DATA = 3009
|
||||
IPA_NOT_FOUND = 4001
|
||||
IPA_DUPLICATE = 4002
|
||||
IPA_NO_CHANGES = 4202
|
||||
|
||||
|
||||
class IPAUnknownError(IPABaseError):
|
||||
pass
|
||||
|
||||
|
||||
class IPACommunicationFailure(IPABaseError):
|
||||
error_type = 'communication_failure'
|
||||
pass
|
||||
|
||||
|
||||
class IPAInvalidData(IPABaseError):
|
||||
error_type = 'invalid_data'
|
||||
pass
|
||||
|
||||
|
||||
class IPADomainNotFound(IPABaseError):
|
||||
error_type = 'domain_not_found'
|
||||
pass
|
||||
|
||||
|
||||
class IPARecordNotFound(IPABaseError):
|
||||
error_type = 'record_not_found'
|
||||
pass
|
||||
|
||||
|
||||
class IPADuplicateDomain(IPABaseError):
|
||||
error_type = 'duplicate_domain'
|
||||
pass
|
||||
|
||||
|
||||
class IPADuplicateRecord(IPABaseError):
|
||||
error_type = 'duplicate_record'
|
||||
pass
|
||||
|
||||
|
||||
ipaerror2exception = {
|
||||
IPA_INVALID_DATA: {
|
||||
'dnszone': IPAInvalidData,
|
||||
'dnsrecord': IPAInvalidData
|
||||
},
|
||||
IPA_NOT_FOUND: {
|
||||
'dnszone': IPADomainNotFound,
|
||||
'dnsrecord': IPARecordNotFound
|
||||
},
|
||||
IPA_DUPLICATE: {
|
||||
'dnszone': IPADuplicateDomain,
|
||||
'dnsrecord': IPADuplicateRecord
|
||||
},
|
||||
# NOTE: Designate will send updates with all fields
|
||||
# even if they have not changed value. If none of
|
||||
# the given values has changed, IPA will return
|
||||
# this error code - this can be ignored
|
||||
IPA_NO_CHANGES: {
|
||||
'dnszone': None,
|
||||
'dnsrecord': None
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def abs2rel_name(domain, rsetname):
|
||||
"""convert rsetname from absolute form foo.bar.tld. to the name
|
||||
relative to the domain. For IPA, if domain is rsetname, then use
|
||||
"@" as the relative name. If rsetname does not end with a subset
|
||||
of the domain, the just return the raw rsetname
|
||||
"""
|
||||
if rsetname.endswith(domain):
|
||||
idx = rsetname.rfind(domain)
|
||||
if idx == 0:
|
||||
rsetname = "@"
|
||||
elif idx > 0:
|
||||
rsetname = rsetname[:idx].rstrip(".")
|
||||
return rsetname
|
||||
|
||||
|
||||
class IPABackend(base.Backend):
|
||||
__plugin_name__ = 'ipa'
|
||||
|
||||
@classmethod
|
||||
def get_cfg_opts(cls):
|
||||
group = cfg.OptGroup(
|
||||
name='backend:ipa', title="Configuration for IPA Backend"
|
||||
)
|
||||
|
||||
opts = [
|
||||
cfg.StrOpt('ipa-host', default='localhost.localdomain',
|
||||
help='IPA RPC listener host - must be FQDN'),
|
||||
cfg.IntOpt('ipa-port', default=IPA_DEFAULT_PORT,
|
||||
help='IPA RPC listener port'),
|
||||
cfg.StrOpt('ipa-client-keytab',
|
||||
help='Kerberos client keytab file'),
|
||||
cfg.StrOpt('ipa-auth-driver-class',
|
||||
default='designate.backend.impl_ipa.auth.IPAAuth',
|
||||
help='Class that implements the authentication '
|
||||
'driver for IPA'),
|
||||
cfg.StrOpt('ipa-ca-cert',
|
||||
help='CA certificate for use with https to IPA'),
|
||||
cfg.StrOpt('ipa-base-url', default='/ipa',
|
||||
help='Base URL for IPA RPC, relative to host[:port]'),
|
||||
cfg.StrOpt('ipa-json-url',
|
||||
default='/json',
|
||||
help='URL for IPA JSON RPC, relative to IPA base URL'),
|
||||
cfg.IntOpt('ipa-connect-retries', default=1,
|
||||
help='How many times Designate will attempt to retry '
|
||||
'the connection to IPA before giving up'),
|
||||
cfg.BoolOpt('ipa-force-ns-use', default=False,
|
||||
help='IPA requires that a specified '
|
||||
'name server or SOA MNAME is resolvable - if this '
|
||||
'option is set, Designate will force IPA to use a '
|
||||
'given name server even if it is not resolvable'),
|
||||
cfg.StrOpt('ipa-version', default='2.65',
|
||||
help='IPA RPC JSON version')
|
||||
]
|
||||
|
||||
return [(group, opts)]
|
||||
|
||||
def start(self):
|
||||
LOG.debug('IPABackend start')
|
||||
self.request = requests.Session()
|
||||
authclassname = cfg.CONF[self.name].ipa_auth_driver_class
|
||||
authclass = importutils.import_class(authclassname)
|
||||
self.request.auth = \
|
||||
authclass(cfg.CONF[self.name].ipa_client_keytab,
|
||||
cfg.CONF[self.name].ipa_host)
|
||||
ipa_base_url = cfg.CONF[self.name].ipa_base_url
|
||||
if ipa_base_url.startswith("http"): # full URL
|
||||
self.baseurl = ipa_base_url
|
||||
else: # assume relative to https://host[:port]
|
||||
self.baseurl = "https://" + cfg.CONF[self.name].ipa_host
|
||||
ipa_port = cfg.CONF[self.name].ipa_port
|
||||
if ipa_port != IPA_DEFAULT_PORT:
|
||||
self.baseurl += ":" + str(ipa_port)
|
||||
self.baseurl += ipa_base_url
|
||||
ipa_json_url = cfg.CONF[self.name].ipa_json_url
|
||||
if ipa_json_url.startswith("http"): # full URL
|
||||
self.jsonurl = ipa_json_url
|
||||
else: # assume relative to https://host[:port]
|
||||
self.jsonurl = self.baseurl + ipa_json_url
|
||||
xtra_hdrs = {'Content-Type': 'application/json',
|
||||
'Referer': self.baseurl}
|
||||
self.request.headers.update(xtra_hdrs)
|
||||
self.request.verify = cfg.CONF[self.name].ipa_ca_cert
|
||||
self.ntries = cfg.CONF[self.name].ipa_connect_retries
|
||||
self.force = cfg.CONF[self.name].ipa_force_ns_use
|
||||
|
||||
def create_zone(self, context, zone):
|
||||
LOG.debug('Create Zone %r' % zone)
|
||||
ipareq = {'method': 'dnszone_add', 'id': 0}
|
||||
params = [zone['name']]
|
||||
servers = self.central_service.get_zone_ns_records(self.admin_context)
|
||||
# just use the first one for zone creation - add the others
|
||||
# later, below - use force because designate assumes the NS
|
||||
# already exists somewhere, is resolvable, and already has
|
||||
# an A/AAAA record
|
||||
args = {'idnssoamname': servers[0]['name']}
|
||||
if self.force:
|
||||
args['force'] = True
|
||||
for dkey, ipakey in list(domain2ipa.items()):
|
||||
if dkey in zone:
|
||||
args[ipakey] = zone[dkey]
|
||||
ipareq['params'] = [params, args]
|
||||
self._call_and_handle_error(ipareq)
|
||||
# add NS records for all of the other servers
|
||||
if len(servers) > 1:
|
||||
ipareq = {'method': 'dnsrecord_add', 'id': 0}
|
||||
params = [zone['name'], "@"]
|
||||
args = {'nsrecord': servers[1:]}
|
||||
if self.force:
|
||||
args['force'] = True
|
||||
ipareq['params'] = [params, args]
|
||||
self._call_and_handle_error(ipareq)
|
||||
|
||||
def update_zone(self, context, zone):
|
||||
LOG.debug('Update Zone %r' % zone)
|
||||
ipareq = {'method': 'dnszone_mod', 'id': 0}
|
||||
params = [zone['name']]
|
||||
args = {}
|
||||
for dkey, ipakey in list(domain2ipa.items()):
|
||||
if dkey in zone:
|
||||
args[ipakey] = zone[dkey]
|
||||
ipareq['params'] = [params, args]
|
||||
self._call_and_handle_error(ipareq)
|
||||
|
||||
def delete_zone(self, context, zone):
|
||||
LOG.debug('Delete Zone %r' % zone)
|
||||
ipareq = {'method': 'dnszone_del', 'id': 0}
|
||||
params = [zone['name']]
|
||||
args = {}
|
||||
ipareq['params'] = [params, args]
|
||||
self._call_and_handle_error(ipareq)
|
||||
|
||||
def create_recordset(self, context, domain, recordset):
|
||||
LOG.debug('Discarding create_recordset call, not-applicable')
|
||||
|
||||
def update_recordset(self, context, domain, recordset):
|
||||
LOG.debug('Update RecordSet %r / %r' % (domain, recordset))
|
||||
# designate allows to update a recordset if there are no
|
||||
# records in it - we should ignore this case
|
||||
if not self._recset_has_records(context, recordset):
|
||||
LOG.debug('No records in %r / %r - skipping' % (domain, recordset))
|
||||
return
|
||||
# The only thing IPA allows is to change the ttl, since that is
|
||||
# stored "per recordset"
|
||||
if 'ttl' not in recordset:
|
||||
return
|
||||
ipareq = {'method': 'dnsrecord_mod', 'id': 0}
|
||||
dname = domain['name']
|
||||
rsetname = abs2rel_name(dname, recordset['name'])
|
||||
params = [domain['name'], rsetname]
|
||||
args = {'dnsttl': recordset['ttl']}
|
||||
ipareq['params'] = [params, args]
|
||||
self._call_and_handle_error(ipareq)
|
||||
|
||||
def delete_recordset(self, context, domain, recordset):
|
||||
LOG.debug('Delete RecordSet %r / %r' % (domain, recordset))
|
||||
# designate allows to delete a recordset if there are no
|
||||
# records in it - we should ignore this case
|
||||
if not self._recset_has_records(context, recordset):
|
||||
LOG.debug('No records in %r / %r - skipping' % (domain, recordset))
|
||||
return
|
||||
ipareq = {'method': 'dnsrecord_mod', 'id': 0}
|
||||
dname = domain['name']
|
||||
rsetname = abs2rel_name(dname, recordset['name'])
|
||||
params = [domain['name'], rsetname]
|
||||
rsettype = rectype2iparectype[recordset['type']][0]
|
||||
args = {rsettype: None}
|
||||
ipareq['params'] = [params, args]
|
||||
self._call_and_handle_error(ipareq)
|
||||
|
||||
def create_record(self, context, domain, recordset, record):
|
||||
LOG.debug('Create Record %r / %r / %r' % (domain, recordset, record))
|
||||
ipareq = {'method': 'dnsrecord_add', 'id': 0}
|
||||
params, args = self._rec_to_ipa_rec(domain, recordset, [record])
|
||||
ipareq['params'] = [params, args]
|
||||
self._call_and_handle_error(ipareq)
|
||||
|
||||
def update_record(self, context, domain, recordset, record):
|
||||
LOG.debug('Update Record %r / %r / %r' % (domain, recordset, record))
|
||||
# for modify operations - IPA does not support a way to change
|
||||
# a particular field in a given record - e.g. for an MX record
|
||||
# with several values, IPA stores them like this:
|
||||
# name: "server1.local."
|
||||
# data: ["10 mx1.server1.local.", "20 mx2.server1.local."]
|
||||
# we could do a search of IPA, compare the values in the
|
||||
# returned array - but that adds an additional round trip
|
||||
# and is error prone
|
||||
# instead, we just get all of the current values and send
|
||||
# them in one big modify
|
||||
criteria = {'recordset_id': record['recordset_id']}
|
||||
reclist = self.central_service.find_records(self.admin_context,
|
||||
criteria)
|
||||
ipareq = {'method': 'dnsrecord_mod', 'id': 0}
|
||||
params, args = self._rec_to_ipa_rec(domain, recordset, reclist)
|
||||
ipareq['params'] = [params, args]
|
||||
self._call_and_handle_error(ipareq)
|
||||
|
||||
def delete_record(self, context, domain, recordset, record):
|
||||
LOG.debug('Delete Record %r / %r / %r' % (domain, recordset, record))
|
||||
ipareq = {'method': 'dnsrecord_del', 'id': 0}
|
||||
params, args = self._rec_to_ipa_rec(domain, recordset, [record])
|
||||
args['del_all'] = 0
|
||||
ipareq['params'] = [params, args]
|
||||
self._call_and_handle_error(ipareq)
|
||||
|
||||
def ping(self, context):
|
||||
LOG.debug('Ping')
|
||||
# NOTE: This call will cause ipa to issue an error, but
|
||||
# 1) it should not throw an exception
|
||||
# 2) the response will indicate ipa is running
|
||||
# 3) the bandwidth usage is minimal
|
||||
ipareq = {'method': 'dnszone_show', 'id': 0}
|
||||
params = ['@']
|
||||
args = {}
|
||||
ipareq['params'] = [params, args]
|
||||
retval = {'result': True}
|
||||
try:
|
||||
self._call_and_handle_error(ipareq)
|
||||
except Exception as e:
|
||||
retval = {'result': False, 'reason': str(e)}
|
||||
return retval
|
||||
|
||||
def _rec_to_ipa_rec(self, domain, recordset, reclist):
|
||||
dname = domain['name']
|
||||
rsetname = abs2rel_name(dname, recordset['name'])
|
||||
params = [dname, rsetname]
|
||||
rectype = recordset['type']
|
||||
vals = []
|
||||
for record in reclist:
|
||||
vals.append(rectype2iparectype[rectype][1] % record)
|
||||
args = {rectype2iparectype[rectype][0]: vals}
|
||||
ttl = recordset.get('ttl') or domain.get('ttl')
|
||||
if ttl is not None:
|
||||
args['dnsttl'] = ttl
|
||||
return params, args
|
||||
|
||||
def _ipa_error_to_exception(self, resp, ipareq):
|
||||
exc = None
|
||||
if resp['error'] is None:
|
||||
return exc
|
||||
errcode = resp['error']['code']
|
||||
method = ipareq['method']
|
||||
methtype = method.split('_')[0]
|
||||
exclass = ipaerror2exception.get(errcode, {}).get(methtype,
|
||||
IPAUnknownError)
|
||||
if exclass:
|
||||
LOG.debug("Error: ipa command [%s] returned error [%s]" %
|
||||
(pprint.pformat(ipareq), pprint.pformat(resp)))
|
||||
elif errcode: # not mapped
|
||||
LOG.debug("Ignoring IPA error code %d: %s" %
|
||||
(errcode, pprint.pformat(resp)))
|
||||
return exclass
|
||||
|
||||
def _call_and_handle_error(self, ipareq):
|
||||
if 'version' not in ipareq['params'][1]:
|
||||
ipareq['params'][1]['version'] = cfg.CONF[self.name].ipa_version
|
||||
need_reauth = False
|
||||
while True:
|
||||
status_code = 200
|
||||
try:
|
||||
if need_reauth:
|
||||
self.request.auth.refresh_auth()
|
||||
rawresp = self.request.post(self.jsonurl,
|
||||
data=json.dumps(ipareq))
|
||||
status_code = rawresp.status_code
|
||||
except IPAAuthError:
|
||||
status_code = 401
|
||||
if status_code == 401:
|
||||
if self.ntries == 0:
|
||||
# persistent inability to auth
|
||||
LOG.error(_LE("Error: could not authenticate to IPA - "
|
||||
"please check for correct keytab file"))
|
||||
# reset for next time
|
||||
self.ntries = cfg.CONF[self.name].ipa_connect_retries
|
||||
raise IPACommunicationFailure()
|
||||
else:
|
||||
LOG.debug("Refresh authentication")
|
||||
need_reauth = True
|
||||
self.ntries -= 1
|
||||
time.sleep(1)
|
||||
else:
|
||||
# successful - reset
|
||||
self.ntries = cfg.CONF[self.name].ipa_connect_retries
|
||||
break
|
||||
try:
|
||||
resp = json.loads(rawresp.text)
|
||||
except ValueError:
|
||||
# response was not json - some sort of error response
|
||||
LOG.debug("Error: unknown error from IPA [%s]" % rawresp.text)
|
||||
raise IPAUnknownError("unable to process response from IPA")
|
||||
# raise the appropriate exception, if error
|
||||
exclass = self._ipa_error_to_exception(resp, ipareq)
|
||||
if exclass:
|
||||
# could add additional info/message to exception here
|
||||
raise exclass()
|
||||
return resp
|
||||
|
||||
def _recset_has_records(self, context, recordset):
|
||||
"""Return True if the recordset has records, False otherwise"""
|
||||
criteria = {'recordset_id': recordset['id']}
|
||||
num = self.central_service.count_records(self.admin_context,
|
||||
criteria)
|
||||
return num > 0
|
|
@ -1,62 +0,0 @@
|
|||
# Copyright 2014 Red Hat, Inc.
|
||||
#
|
||||
# Author: Rich Megginson <rmeggins@redhat.com>
|
||||
#
|
||||
# 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 os
|
||||
import logging
|
||||
|
||||
from requests import auth
|
||||
import kerberos
|
||||
|
||||
from designate.utils import generate_uuid
|
||||
from designate.backend.impl_ipa import IPAAuthError
|
||||
from designate.i18n import _LW
|
||||
from designate.i18n import _LE
|
||||
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class IPAAuth(auth.AuthBase):
|
||||
def __init__(self, keytab, hostname):
|
||||
# store the kerberos credentials in memory rather than on disk
|
||||
os.environ['KRB5CCNAME'] = "MEMORY:" + generate_uuid()
|
||||
self.token = None
|
||||
self.keytab = keytab
|
||||
self.hostname = hostname
|
||||
if self.keytab:
|
||||
os.environ['KRB5_CLIENT_KTNAME'] = self.keytab
|
||||
else:
|
||||
LOG.warning(_LW('No IPA client kerberos keytab file given'))
|
||||
|
||||
def __call__(self, request):
|
||||
if not self.token:
|
||||
self.refresh_auth()
|
||||
request.headers['Authorization'] = 'negotiate ' + self.token
|
||||
return request
|
||||
|
||||
def refresh_auth(self):
|
||||
service = "HTTP@" + self.hostname
|
||||
flags = kerberos.GSS_C_MUTUAL_FLAG | kerberos.GSS_C_SEQUENCE_FLAG
|
||||
try:
|
||||
(_, vc) = kerberos.authGSSClientInit(service, flags)
|
||||
except kerberos.GSSError as e:
|
||||
LOG.error(_LE("caught kerberos exception %r") % e)
|
||||
raise IPAAuthError(str(e))
|
||||
try:
|
||||
kerberos.authGSSClientStep(vc, "")
|
||||
except kerberos.GSSError as e:
|
||||
LOG.error(_LE("caught kerberos exception %r") % e)
|
||||
raise IPAAuthError(str(e))
|
||||
self.token = kerberos.authGSSClientResponse(vc)
|
|
@ -1,153 +0,0 @@
|
|||
# Copyright (C) 2013 eNovance SAS <licensing@enovance.com>
|
||||
#
|
||||
# Author: Artom Lifshitz <artom.lifshitz@enovance.com>
|
||||
#
|
||||
# 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 logging
|
||||
|
||||
from oslo_config import cfg
|
||||
from oslo_utils import excutils
|
||||
|
||||
from designate import backend
|
||||
from designate.backend import base
|
||||
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
CFG_GROUP = 'backend:multi'
|
||||
|
||||
|
||||
class MultiBackend(base.Backend):
|
||||
"""
|
||||
Multi-backend backend
|
||||
|
||||
This backend dispatches calls to a master backend and a slave backend.
|
||||
It enforces master/slave ordering semantics as follows:
|
||||
|
||||
Creates for tsigkeys, servers and domains are done on the master first,
|
||||
then on the slave.
|
||||
|
||||
Updates for tsigkeys, servers and domains and all operations on records
|
||||
are done on the master only. It's assumed masters and slaves use an
|
||||
external mechanism to sync existing domains, most likely XFR.
|
||||
|
||||
Deletes are done on the slave first, then on the master.
|
||||
|
||||
If the create on the slave fails, the domain/tsigkey/server is deleted from
|
||||
the master. If delete on the master fails, the domain/tdigkey/server is
|
||||
recreated on the slave.
|
||||
"""
|
||||
__plugin_name__ = 'multi'
|
||||
|
||||
@classmethod
|
||||
def get_cfg_opts(cls):
|
||||
group = cfg.OptGroup(
|
||||
name=CFG_GROUP, title="Configuration for multi-backend Backend"
|
||||
)
|
||||
|
||||
opts = [
|
||||
cfg.StrOpt('master', default='fake', help='Master backend'),
|
||||
cfg.StrOpt('slave', default='fake', help='Slave backend'),
|
||||
]
|
||||
|
||||
return [(group, opts)]
|
||||
|
||||
def __init__(self, central_service):
|
||||
super(MultiBackend, self).__init__(central_service)
|
||||
self.central = central_service
|
||||
self.master = backend.get_backend(cfg.CONF[CFG_GROUP].master,
|
||||
central_service)
|
||||
self.slave = backend.get_backend(cfg.CONF[CFG_GROUP].slave,
|
||||
central_service)
|
||||
|
||||
def start(self):
|
||||
self.master.start()
|
||||
self.slave.start()
|
||||
|
||||
def stop(self):
|
||||
self.slave.stop()
|
||||
self.master.stop()
|
||||
|
||||
def create_tsigkey(self, context, tsigkey):
|
||||
self.master.create_tsigkey(context, tsigkey)
|
||||
try:
|
||||
self.slave.create_tsigkey(context, tsigkey)
|
||||
except Exception:
|
||||
with excutils.save_and_reraise_exception():
|
||||
self.master.delete_tsigkey(context, tsigkey)
|
||||
|
||||
def update_tsigkey(self, context, tsigkey):
|
||||
self.master.update_tsigkey(context, tsigkey)
|
||||
|
||||
def delete_tsigkey(self, context, tsigkey):
|
||||
self.slave.delete_tsigkey(context, tsigkey)
|
||||
try:
|
||||
self.master.delete_tsigkey(context, tsigkey)
|
||||
except Exception:
|
||||
with excutils.save_and_reraise_exception():
|
||||
self.slave.create_tsigkey(context, tsigkey)
|
||||
|
||||
def create_zone(self, context, zone):
|
||||
self.master.create_zone(context, zone)
|
||||
try:
|
||||
self.slave.create_zone(context, zone)
|
||||
except Exception:
|
||||
with excutils.save_and_reraise_exception():
|
||||
self.master.delete_zone(context, zone)
|
||||
|
||||
def update_zone(self, context, zone):
|
||||
self.master.update_zone(context, zone)
|
||||
|
||||
def delete_zone(self, context, zone):
|
||||
# Fetch the full zone from Central first, as we may
|
||||
# have to recreate it on slave if delete on master fails
|
||||
deleted_context = context.deepcopy()
|
||||
deleted_context.show_deleted = True
|
||||
|
||||
full_domain = self.central.find_zone(
|
||||
deleted_context, {'id': zone['id']})
|
||||
|
||||
self.slave.delete_zone(context, zone)
|
||||
try:
|
||||
self.master.delete_zone(context, zone)
|
||||
except Exception:
|
||||
with excutils.save_and_reraise_exception():
|
||||
self.slave.create_zone(context, zone)
|
||||
|
||||
[self.slave.create_record(context, zone, record)
|
||||
for record in self.central.find_records(
|
||||
context, {'domain_id': full_domain['id']})]
|
||||
|
||||
def create_recordset(self, context, zone, recordset):
|
||||
self.master.create_recordset(context, zone, recordset)
|
||||
|
||||
def update_recordset(self, context, zone, recordset):
|
||||
self.master.update_recordset(context, zone, recordset)
|
||||
|
||||
def delete_recordset(self, context, zone, recordset):
|
||||
self.master.delete_recordset(context, zone, recordset)
|
||||
|
||||
def create_record(self, context, zone, recordset, record):
|
||||
self.master.create_record(context, zone, recordset, record)
|
||||
|
||||
def update_record(self, context, zone, recordset, record):
|
||||
self.master.update_record(context, zone, recordset, record)
|
||||
|
||||
def delete_record(self, context, zone, recordset, record):
|
||||
self.master.delete_record(context, zone, recordset, record)
|
||||
|
||||
def ping(self, context):
|
||||
return {
|
||||
'master': self.master.ping(context),
|
||||
'slave': self.slave.ping(context)
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
# Copyright 2016 Rackspace, Inc.
|
||||
#
|
||||
# Author: Tim Simmons <tim.simmons@rackspace.com>
|
||||
#
|
||||
# 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 dumb script allows you to see what's being dumped onto
|
||||
the notifications.info queue
|
||||
|
||||
nabbed from:
|
||||
https://pika.readthedocs.io/en/latest/examples/blocking_consume.html
|
||||
"""
|
||||
import pika
|
||||
|
||||
|
||||
def on_message(channel, method_frame, header_frame, body):
|
||||
print(method_frame.delivery_tag)
|
||||
print(body)
|
||||
channel.basic_ack(delivery_tag=method_frame.delivery_tag)
|
||||
|
||||
|
||||
connection = pika.BlockingConnection()
|
||||
channel = connection.channel()
|
||||
channel.basic_consume(on_message, 'notifications.info')
|
||||
try:
|
||||
channel.start_consuming()
|
||||
except KeyboardInterrupt:
|
||||
channel.stop_consuming()
|
||||
connection.close()
|
|
@ -1,22 +0,0 @@
|
|||
*.pyc
|
||||
*.dat
|
||||
TAGS
|
||||
*.egg
|
||||
*.egg-info
|
||||
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
|
|
@ -1,11 +0,0 @@
|
|||
include AUTHORS
|
||||
include ChangeLog
|
||||
include designate_ext_samplehandler/versioninfo
|
||||
include *.txt *.ini *.cfg *.rst *.md
|
||||
|
||||
exclude .gitignore
|
||||
exclude .gitreview
|
||||
exclude *.sublime-project
|
||||
|
||||
global-exclude *.pyc
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue