Kaynağa Gözat

Added docs on using the dns service

Nuwan Goonasekera 5 yıl önce
ebeveyn
işleme
c0ca57a64f

+ 0 - 5
docs/api_docs/cloud/providers.rst

@@ -6,8 +6,3 @@ CloudProvider
 .. autoclass:: cloudbridge.interfaces.provider.CloudProvider
     :members:
     :special-members: __init__
-
-ContainerProvider
------------------
-.. autoclass:: cloudbridge.interfaces.provider.ContainerProvider
-    :members:

+ 11 - 0
docs/api_docs/cloud/resources.rst

@@ -168,3 +168,14 @@ Bucket
 ---------
 .. autoclass:: cloudbridge.interfaces.resources.Bucket
     :members:
+
+DnsZone
+---------
+.. autoclass:: cloudbridge.interfaces.resources.DnsZone
+    :members:
+
+
+DnsRecord
+---------
+.. autoclass:: cloudbridge.interfaces.resources.DnsRecord
+    :members:

+ 15 - 0
docs/api_docs/cloud/services.rst

@@ -97,3 +97,18 @@ RegionService
 -------------
 .. autoclass:: cloudbridge.interfaces.services.RegionService
     :members:
+
+DnsService
+-------------
+.. autoclass:: cloudbridge.interfaces.services.DnsService
+    :members:
+
+DnsZoneService
+-------------
+.. autoclass:: cloudbridge.interfaces.services.DnsZoneService
+    :members:
+
+DnsRecordService
+-------------
+.. autoclass:: cloudbridge.interfaces.services.DnsRecordService
+    :members:

+ 1 - 1
docs/extras/_images/object_relationships_detailed.svg

@@ -1442,7 +1442,7 @@
        x="370.54593"
        stroke-linecap="null"
        stroke-linejoin="null"
-       style="font-size:18.3663px;line-height:0%;font-family:Sans-serif;text-anchor:middle;fill:#000000;stroke-width:0;stroke-dasharray:none">zones</text>
+       style="font-size:18.3663px;line-height:0%;font-family:Sans-serif;text-anchor:middle;fill:#000000;stroke-width:0;stroke-dasharray:none">host_zones</text>
   </a>
   <a
      xlink:href="../api_docs/cloud/resources.html#dnszone"

+ 30 - 0
docs/topics/dns.rst

@@ -0,0 +1,30 @@
+DNS Service
+===========
+The DNS service provides a cloud-independent way to create and edit
+dns zones and records.
+
+1. Creating a DNS zone
+------------------------
+At the top-level, dns records are organized into zones. A zone
+is a portion of the dns namespace that's managed by a particular
+organization or group.
+
+.. code-block:: python
+
+    host_zone = provider.dns.host_zones.create("cloudve.org.", "admin@cloudve.org")
+
+
+2. Create a DNS record
+----------------------
+Once a zone is created, you can create records as required.
+
+.. code-block:: python
+
+    host_zone = provider.dns.host_zones.find(name="cloudve.org.")
+    # create an A record
+    rec1 = host_zone.records.create("mysubdomain.cloudve.org.", DnsRecordType.A, data='10.1.1.1')
+    # create a wildcard record
+    rec2 = host_zone.records.create("*.cloudve.org.", DnsRecordType.A, data='10.1.1.2')
+    # create an MX record
+    MX_DATA = ['10 mx1.hello.com.', '20 mx2.hello.com.']
+    test_rec2 = host_zone.records.create("cloudve.org.", DnsRecordType.MX, data=MX_DATA, ttl=300)

+ 1 - 0
docs/topics/overview.rst

@@ -10,6 +10,7 @@ Introductions to all the key parts of CloudBridge you'll need to know:
     Connection and authentication setup <setup.rst>
     Launching instances <launch.rst>
     Networking <networking.rst>
+    DNS <dns.rst>
     Object states and lifecycles <object_lifecycles.rst>
     Paging and iteration <paging_and_iteration.rst>
     Using block storage <block_storage.rst>