designate/api-ref/source/parameters.yaml

842 lines
17 KiB
YAML

####################
# 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
path_pool_id:
description: |
ID for this pool
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
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
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 retrive 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: |
For secondary zones. The servers to slave from to get DNS information
in: body
required: true
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