designate/api-ref/source/parameters.yaml
Graham Hayes 773528d7ca Add Pools to API-Ref Docs
Change-Id: Idc2340d5710be4686916c709354d8dc7e1725d73
2016-05-16 18:41:19 +01:00

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
#################