
This code was getting confusing because of the ambiguity between dns zones and openstack availability zones. 'Domain' seems a bit clearer than 'zone' in this context. For blueprint public-and-private-dns. Change-Id: I1d420be2e6f2054ee4392ce762775ece20a823b3
4.8 KiB
About The Floating IP DNS Extension ================================ The Floating IP DNS extension provides an interface for managing DNS records associated with IP addresses allocated by the Floating Ips extension. Requests are dispatched to a DNS driver selected at startup.
To obtain current information the extensions available to you, issue an EXTENSION query on the OpenStack system where it is installed, such as http://mycloud.com/v1.1/tenant/extension.
Floating IPs Extension Overview
- Name
-
Floating IP DNS
- Namespace
- Alias
-
OPS-DNS
- Contact
-
Andrew Bogott <abogott@wikimedia.org>
- Status
-
Alpha
- Extension Version
-
v1.0 (2011-12-22)
- Dependencies
-
Compute API v1.1 Floating IPs Extension, v1.0
- Doc Link (PDF)
- Doc Link (WADL)
- Short Description
-
This extension enables associated DNS entries with floating IPs.
Sample Query Responses
As shown below, responses to an EXTENSION query in XML or JSON provide basic information about the extension.
Extension Query Response: XML:
None
Extension Query Response: JSON:
{'extensions':
[{'updated': '2011-12-23T00:00:00+00:00',
'name': 'Floating_ip_dns',
'links': [],
'namespace': 'http://docs.openstack.org/ext/floating_ip_dns/api/v1.1',
'alias': 'os-floating-ip_dns',
'description': 'Floating IP DNS support'}]}
Document Change History
Revision Date | Summary of Changes |
2011-12-23 | Initial draft |
Summary of Changes
This extension to the Compute API enables management of DNS entries for floating IP addresses.
New Action
None
New Faults
None
New Headers
None
New Resources
Get a list of registered DNS Domains published by the DNS drivers:
GET /v1.1/<tenant_id>/os-floating-ip-dns/
# Sample Response: {'domain_entries' : [ {'domain': 'domain1.example.org', 'scope': 'public', 'project': 'proj1'} {'domain': 'domain2.example.net', 'scope': 'public', 'project': 'proj2'} {'domain': 'example.net', 'scope': 'public', 'project': ''} {'domain': 'example.internal', 'scope': 'private', 'availability_zone': 'zone1'}]}
Create or modify a DNS domain:
PUT /v1.1/<tenant_id>/os-floating-ip-dns/<domain>
# Sample body, public domain: {'domain_entry' : {'scope': 'public', 'project' : 'project1'}}
# Sample body, public (projectless) domain: {'domain_entry' : {'scope': 'public'}}
# Sample Response, public domain (success): {'domain_entry' : {'domain': 'domain1.example.org', 'scope': 'public', 'project': 'project1'}}
# Sample body, private domain: {'domain_entry' : {'scope': 'private', 'availability_domain': 'zone1'}}
# Sample Response, private domain (success): {'domain_entry' : {'domain': 'domain1.private', 'scope': 'private', 'availability_zone': 'zone1'}}
Failure Response Code: 403 (Insufficient permissions.)
Delete a DNS domain and all associated host entries:
DELETE /v1.1/<tenant_id>/os-floating-ip-dns/<domain>
Normal Response Code: 200 Failure Response Code: 404 (Domain to be deleted not found.) Failure Response Code: 403 (Insufficient permissions to delete.)
Create or modify a DNS entry:
PUT /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
# Sample body: { 'dns_entry' : { 'ip': '192.168.53.11', 'dns_type': 'A' }}
# Sample Response (success): { 'dns_entry' : { 'type' : 'A', 'name' : 'instance1' }}
Find unique DNS entry for a given domain and name:
GET /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
# Sample Response: { 'dns_entry' : { 'ip' : '192.168.53.11', 'type' : 'A', 'domain' : <domain>, 'name' : <name> }}
Find DNS entries for a given domain and ip:
GET /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries?ip=<ip>
# Sample Response: { 'dns_entries' : [ { 'ip' : <ip>, 'type' : 'A', 'domain' : <domain>, 'name' : 'example1' } { 'ip' : <ip>, 'type' : 'A', 'domain' : <domain>, 'name' : 'example2' }]}
Delete a DNS entry:
DELETE /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
Normal Response Code: 200 Failure Response Code: 404 (Entry to be deleted not found)
New States
None
Changes to the Cloud Servers Specification
None