How to enable DNS zones suspension feature and how it works.
Overview
You can configure Atomia Provisioning to automatically suspend all DNS zones within a hosting package when that package is suspended. Typically, hosting packages are suspended by the billing system due to unpaid invoices or manually via the admin panel. If the system unsuspends a hosting package, the DNS zones will also be unsuspended.
When a DNS zone is suspended, the zone’s DNS records are disabled. While these records still exist in the database, they are not active.
Configuring Automation Server
Add a transformation file ProvisioningDescription.EnableSuspendDnsZone.xml in C:\Program Files (x86)\Atomia\AutomationServer\Common\ProvisioningDescriptions\Transformation Files with the following content:
<?xml version="1.0" encoding="utf-8"?> <provisioningDescription xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <packageDescription> <packageList> <package name="BasePackage" xdt:Locator="Match(name)"> <disable> <scriptList> <script name="Disable"> <serviceList></div> <service path="*/DnsZone" action="modify" xdt:Transform="Insert"> <propertyList> <property name="ZoneStatus" newValue="suspended" /> </propertyList> </service> </serviceList> </script> </scriptList> </disable> </package> </packageList> </packageDescription> </provisioningDescription>
This transformation file allows the suspension of DNS zones when the BasePackage is suspended, provided the transformation files have been recreated. The file adds a script to the package, which changes the DNS zone status to ‘suspended’. This script is triggered when the package subscription is suspended. You can edit this transformation file to suit your preferences before applying it, thereby enabling the suspension feature for other packages.
In addition to applying the transformation file, ensure that the ‘ZoneStatus’ property is listed in the ‘propertyList’ section of the ProvisioningDescription for the DnsZone simple service.
<simpleService name="DnsZone" description="DNS Zone" providingModule="Atomia.Provisioning.Modules.Dns.Dns"> <propertyList> ... <property name="ZoneStatus" friendlyName="Zone Status" defaultValue="active" /> </propertyList> ... </simpleService>