1
The Floating IP DNS Extension
2
=================================================================
5
The Floating IP DNS extension provides an interface for managing DNS records associated with IP addresses
6
allocated by the Floating Ips extension. Requests are dispatched to a DNS driver selected at startup.
8
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.
17
http://docs.openstack.org/ext/floating_ip_dns/api/v1.1
23
Andrew Bogott <abogott@wikimedia.org>
33
Floating IPs Extension, v1.0
42
This extension enables associated DNS entries with floating IPs.
44
Sample Query Responses
45
~~~~~~~~~~~~~~~~~~~~~~
47
As shown below, responses to an EXTENSION query in XML or JSON provide basic information about the extension.
49
Extension Query Response: XML::
53
Extension Query Response: JSON::
56
[{'updated': '2011-12-23T00:00:00+00:00',
57
'name': 'Floating_ip_dns',
59
'namespace': 'http://docs.openstack.org/ext/floating_ip_dns/api/v1.1',
60
'alias': 'os-floating-ip_dns',
61
'description': 'Floating IP DNS support'}]}
63
Document Change History
64
~~~~~~~~~~~~~~~~~~~~~~~
66
============= =====================================
67
Revision Date Summary of Changes
68
2011-12-23 Initial draft
69
2012-03-30 Reformat of content
70
============= =====================================
75
This extension to the Compute API enables management of DNS entries for floating IP addresses.
77
This support is provided by the addition of new resources.
93
Get a list of registered DNS Domains published by the DNS drivers::
95
GET /v1.1/<tenant_id>/os-floating-ip-dns/
99
{'domain': 'domain1.example.org', 'scope': 'public', 'project': 'proj1'}
100
{'domain': 'domain2.example.net', 'scope': 'public', 'project': 'proj2'}
101
{'domain': 'example.net', 'scope': 'public', 'project': ''}
102
{'domain': 'example.internal', 'scope': 'private', 'availability_zone': 'zone1'}]}
105
Create or modify a DNS domain::
107
PUT /v1.1/<tenant_id>/os-floating-ip-dns/<domain>
109
# Sample body, public domain:
112
'project' : 'project1'}}
114
# Sample body, public (projectless) domain:
118
# Sample Response, public domain (success):
120
{'domain': 'domain1.example.org',
122
'project': 'project1'}}
124
# Sample body, private domain:
127
'availability_domain': 'zone1'}}
129
# Sample Response, private domain (success):
131
{'domain': 'domain1.private',
133
'availability_zone': 'zone1'}}
135
Failure Response Code: 403 (Insufficient permissions.)
138
Delete a DNS domain and all associated host entries::
140
DELETE /v1.1/<tenant_id>/os-floating-ip-dns/<domain>
142
Normal Response Code: 200
143
Failure Response Code: 404 (Domain to be deleted not found.)
144
Failure Response Code: 403 (Insufficient permissions to delete.)
147
Create or modify a DNS entry::
149
PUT /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
153
{ 'ip': '192.168.53.11',
156
# Sample Response (success):
159
'name' : 'instance1' }}
162
Find unique DNS entry for a given domain and name::
164
GET /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
168
{ 'ip' : '192.168.53.11',
174
Find DNS entries for a given domain and ip::
176
GET /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries?ip=<ip>
183
'name' : 'example1' }
187
'name' : 'example2' }]}
192
DELETE /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
194
Normal Response Code: 200
195
Failure Response Code: 404 (Entry to be deleted not found)
201
Changes to the Cloud Servers Specification
202
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~