773528d7ca
Change-Id: Idc2340d5710be4686916c709354d8dc7e1725d73
883 lines
17 KiB
YAML
883 lines
17 KiB
YAML
#############################
|
|
# Common Variables #
|
|
#############################
|
|
|
|
# Header Variables
|
|
###################
|
|
|
|
x-auth-token:
|
|
description: |
|
|
Token used to identify the user from keystone
|
|
in: header
|
|
required: false
|
|
type: string
|
|
|
|
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-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: false
|
|
type: string
|
|
|
|
# Path Variables
|
|
#################
|
|
|
|
path_zone_id:
|
|
description: |
|
|
ID for the zone
|
|
in: path
|
|
required: true
|
|
type: uuid
|
|
|
|
path_recordset_id:
|
|
description: |
|
|
ID for the recordset
|
|
in: path
|
|
required: true
|
|
type: uuid
|
|
|
|
# Query Variables
|
|
##################
|
|
|
|
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
|
|
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
|
|
|
|
# Body Variables
|
|
#################
|
|
|
|
|
|
id:
|
|
description: |
|
|
ID for the resource
|
|
in: body
|
|
required: true
|
|
type: uuid
|
|
|
|
|
|
project_id:
|
|
description: |
|
|
ID for the project that owns the resource
|
|
in: body
|
|
required: true
|
|
type: uuid
|
|
|
|
|
|
description:
|
|
description: |
|
|
Description for the resource. Only showen in API / Horizon
|
|
in: body
|
|
required: true
|
|
type: string
|
|
|
|
version:
|
|
description: |
|
|
Version of the resource
|
|
in: body
|
|
required: true
|
|
type: integer
|
|
|
|
|
|
created_at:
|
|
description: |
|
|
Date / Time when resource was created
|
|
in: body
|
|
required: true
|
|
type: datestamp
|
|
|
|
updated_at:
|
|
description: |
|
|
Date / Time when resource last updated
|
|
in: body
|
|
required: false
|
|
type: datestamp
|
|
|
|
status:
|
|
description: |
|
|
status of the resource
|
|
in: body
|
|
required: true
|
|
type: enum
|
|
|
|
action:
|
|
description: |
|
|
current action in progress on the resource
|
|
in: body
|
|
required: true
|
|
type: enum
|
|
|
|
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 retrive all results
|
|
in: body
|
|
required: true
|
|
type: object
|
|
|
|
metadata:
|
|
description: |
|
|
Returns the ``total_count`` of resources matching this filter
|
|
in: body
|
|
required: true
|
|
type: object
|
|
|
|
#############################
|
|
# Zone Variables #
|
|
#############################
|
|
|
|
|
|
# Header Variables
|
|
###################
|
|
|
|
# Path Variables
|
|
#################
|
|
|
|
# Query Variables
|
|
##################
|
|
|
|
# Filters
|
|
# 'name', 'type', 'email', 'status', 'description', 'ttl'
|
|
|
|
zone_name_filter:
|
|
description: |
|
|
Filter results to only show zones that have a name matching the filter
|
|
in: query
|
|
required: false
|
|
type: string
|
|
|
|
zone_type_filter:
|
|
description: |
|
|
Filter results to only show zones that have a type 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_status_filter:
|
|
description: |
|
|
Filter results to only show zones that have a status 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_ttl_filter:
|
|
description: |
|
|
Filter results to only show zones that have a ttl matching the filter
|
|
in: query
|
|
required: false
|
|
type: integer
|
|
|
|
# Body Variables
|
|
#################
|
|
|
|
|
|
zone_name:
|
|
description: |
|
|
DNS Name for the zone
|
|
in: body
|
|
required: true
|
|
type: domainname
|
|
|
|
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_ttl:
|
|
description: |
|
|
TTL (Time to Live) for the zone.
|
|
in: body
|
|
required: false
|
|
type: integer
|
|
|
|
zone_description:
|
|
description: |
|
|
Description for this zone
|
|
in: body
|
|
required: false
|
|
type: string
|
|
|
|
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_serial:
|
|
description: |
|
|
current serial number for the zone
|
|
in: body
|
|
required: true
|
|
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
|
|
|
|
zone_masters:
|
|
description: |
|
|
For secondary zones. The servers to slave from to get DNS information
|
|
in: body
|
|
required: true
|
|
type: enum
|
|
|
|
zone_transfered_at:
|
|
description: |
|
|
For secondary zones. The last time an update was retrived from the master servers
|
|
in: body
|
|
required: true
|
|
type: enum
|
|
|
|
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: hostname
|
|
|
|
|
|
#############################
|
|
# Recordset Variables #
|
|
#############################
|
|
|
|
|
|
# Header Variables
|
|
###################
|
|
|
|
# Path Variables
|
|
#################
|
|
|
|
# Query Variables
|
|
##################
|
|
|
|
# Filters
|
|
# 'name', 'type', 'ttl', 'data', 'status', 'description'
|
|
|
|
recordset_name_filter:
|
|
description: |
|
|
Filter results to only show recordsets that have a name 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
|
|
|
|
recordset_ttl_filter:
|
|
description: |
|
|
Filter results to only show recordsets that have a ttl matching the filter
|
|
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_status_filter:
|
|
description: |
|
|
Filter results to only show recordsets that have a status 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
|
|
|
|
# Body Variables
|
|
#################
|
|
|
|
recordset_name:
|
|
description: |
|
|
DNS Name for the recordset
|
|
in: body
|
|
required: true
|
|
type: hostname
|
|
|
|
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
|
|
|
|
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_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_description:
|
|
description: |
|
|
Description for this recordset
|
|
in: body
|
|
required: false
|
|
type: string
|
|
|
|
#############################
|
|
# Zone Import Variables #
|
|
#############################
|
|
|
|
|
|
# Header Variables
|
|
###################
|
|
|
|
# Path Variables
|
|
#################
|
|
|
|
path_zone_import_id:
|
|
description: |
|
|
ID for this zone import
|
|
in: path
|
|
required: true
|
|
type: uuid
|
|
|
|
# Query Variables
|
|
##################
|
|
|
|
# Filters
|
|
# 'status', 'message', 'zone_id'
|
|
|
|
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_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_message_filter:
|
|
description: |
|
|
Filter results to only show zone_imports that have a ``message`` matching the filter
|
|
in: query
|
|
required: false
|
|
type: string
|
|
|
|
|
|
|
|
# Body Variables
|
|
#################
|
|
|
|
zone_import_id:
|
|
description: |
|
|
ID for this 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_import_status:
|
|
description: |
|
|
Current status of the 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 Export Variables #
|
|
#############################
|
|
|
|
|
|
# Header Variables
|
|
###################
|
|
|
|
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
|
|
#################
|
|
|
|
path_zone_export_id:
|
|
description: |
|
|
ID for this zone export
|
|
in: path
|
|
required: true
|
|
type: uuid
|
|
|
|
# Query Variables
|
|
##################
|
|
|
|
# Filters
|
|
# 'status', 'message', 'zone_id'
|
|
|
|
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_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_message_filter:
|
|
description: |
|
|
Filter results to only show ``zone_exports`` that have a ``message`` matching the filter
|
|
in: query
|
|
required: false
|
|
type: string
|
|
|
|
|
|
|
|
# Body Variables
|
|
#################
|
|
|
|
zone_export_id:
|
|
description: |
|
|
ID for this zone export
|
|
in: body
|
|
required: true
|
|
type: uuid
|
|
|
|
zone_export_zone_id:
|
|
description: |
|
|
ID for the zone that is being exported
|
|
in: body
|
|
required: false
|
|
type: uuid
|
|
|
|
zone_export_status:
|
|
description: |
|
|
Current status of the zone export
|
|
in: body
|
|
required: true
|
|
type: string
|
|
|
|
zone_export_message:
|
|
description: |
|
|
Message about the current status of the export
|
|
in: body
|
|
required: false
|
|
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 Transfer Variables #
|
|
#################################
|
|
|
|
|
|
# Header Variables
|
|
###################
|
|
|
|
# Path Variables
|
|
#################
|
|
|
|
path_zone_transfer_request_id:
|
|
description: |
|
|
ID for this zone transfer request
|
|
in: path
|
|
required: true
|
|
type: uuid
|
|
|
|
path_zone_transfer_accept_id:
|
|
description: |
|
|
ID for this zone transfer accept
|
|
in: path
|
|
required: true
|
|
type: uuid
|
|
|
|
# Query Variables
|
|
##################
|
|
|
|
# Filters
|
|
# 'status'
|
|
|
|
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
|
|
|
|
# Body Variables
|
|
#################
|
|
zone_transfer_request_id:
|
|
description: |
|
|
ID for this zone transfer request
|
|
in: path
|
|
required: true
|
|
type: uuid
|
|
|
|
zone_transfer_accept_id:
|
|
description: |
|
|
ID for this zone transfer accept
|
|
in: path
|
|
required: true
|
|
type: uuid
|
|
|
|
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_status:
|
|
description: |
|
|
Current status of the zone transfer request
|
|
in: body
|
|
required: true
|
|
type: string
|
|
|
|
zone_transfer_accept_status:
|
|
description: |
|
|
Current status of the zone transfer request
|
|
in: body
|
|
required: true
|
|
type: string
|
|
|
|
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_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
|
|
|
|
|
|
#############################
|
|
# Limits Variables #
|
|
#############################
|
|
|
|
|
|
# Header Variables
|
|
###################
|
|
|
|
# Path Variables
|
|
#################
|
|
|
|
# Query Variables
|
|
##################
|
|
|
|
# Body Variables
|
|
#################
|
|
|
|
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
|
|
|
|
min_ttl:
|
|
description: |
|
|
The lowest ttl allowed on this system
|
|
in: body
|
|
required: true
|
|
type: integer
|
|
|
|
|
|
#############################
|
|
# Pool Variables #
|
|
#############################
|
|
|
|
|
|
# Header Variables
|
|
###################
|
|
|
|
# Path Variables
|
|
#################
|
|
|
|
path_pool_id:
|
|
description: |
|
|
ID for this pool
|
|
in: path
|
|
required: true
|
|
type: uuid
|
|
|
|
# Query Variables
|
|
##################
|
|
|
|
# Body Variables
|
|
#################
|
|
pool_id:
|
|
description: |
|
|
ID for this pool
|
|
in: path
|
|
required: true
|
|
type: uuid
|
|
|
|
pool_name:
|
|
description: |
|
|
Name for this pool
|
|
in: path
|
|
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: path
|
|
required: true
|
|
type: string
|
|
|
|
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: path
|
|
required: true
|
|
type: object
|
|
|
|
#############################
|
|
# <ITEM> Variables #
|
|
#############################
|
|
|
|
|
|
# Header Variables
|
|
###################
|
|
|
|
# Path Variables
|
|
#################
|
|
|
|
# Query Variables
|
|
##################
|
|
|
|
# Body Variables
|
|
#################
|