In order to activate the Reverse lookup zone package in HCP, we need to take the following steps:
1. Add the ServiceDescription for CsDnsZoneReverse and CsDomainReverseZone in the provisioningdescription.xml (..\Atomia\AutomationServer\Common\ProvisioningDescriptions)
<complexService name="CsDnsZoneReverse" description="Wrapper for standard DNS zone">
<complexServicePropertyList>
<complexServiceProperty name="Zonename" description="DNS zone name" />
</complexServicePropertyList>
<partList>
<partService name="DnsZone" min="1" max="1">
<propertyTransformation>
<simpleTransformer>
<serviceProperty name="Zonename">
<expression>$CsDnsZoneReverse::Zonename</expression>
</serviceProperty>
<serviceProperty name="IsReverse">
<expression>true</expression>
</serviceProperty>
</simpleTransformer>
</propertyTransformation>
</partService>
</partList>
<init>
<add partName="DnsZone">
</add>
</init>
</complexService><complexService name="CsDomainReverseZone" description="Complex service no website and reverse DNS zone">
<complexServicePropertyList>
<complexServiceProperty name="Domain" description="Domain to enable parking for" key="true" />
<complexServiceProperty name="DnsZone" description="Hostname DNS Zone" />
<complexServiceProperty name="DnsZoneIsSlave" description="Is the DNS zone a slave zone" /><span class="fr-marker" data-id="0" data-type="false" style="display: none; line-height: 0;"></span><span class="fr-marker" data-id="0" data-type="true" style="display: none; line-height: 0;"></span>
<complexServiceProperty name="DnsSlaveZoneMasterIP" description="Master IP for slave zones, otherwise ignored." defaultValue="" />
<complexServiceProperty name="DomainPrefix" description="Hostname domain prefix" />
</complexServicePropertyList>
<partList>
<partService name="CsDnsZoneReverse" max="1">
<propertyTransformation>
<simpleTransformer>
<serviceProperty name="Zonename">
<expression>$CsDomainReverseZone::DnsZone</expression>
</serviceProperty>
</simpleTransformer>
</propertyTransformation>
<partList>
<partService name="DnsZone">
<partList>
<partService name="DnsZoneRecord">
</partService>
</partList>
</partService>
</partList>
</partService>
<partService name="DnsSlaveZone" max="1">
</partService>
</partList>
<init>
<add partName="CsDnsZoneReverse" condition="$CsDomainReverseZone::DnsZoneIsSlave eq null">
</add>
<add partName="DnsSlaveZone" condition="$CsDomainReverseZone::DnsZoneIsSlave neq null">
<initPropertyList>
<propertyTransformation>
<simpleTransformer>
<serviceProperty name="Zonename">
<expression>$CsDomainReverseZone::DnsZone</expression>
</serviceProperty>
<serviceProperty name="MasterIP">
<expression>$CsDomainReverseZone::DnsSlaveZoneMasterIP</expression>
</serviceProperty>
</simpleTransformer>
</propertyTransformation>
</initPropertyList>
</add>
</init>
<actionHooks>
<onBeforeAddService type="Atomia.Provisioning.ActionHooks.BeforeAddService.UniquenessCheck, Atomia.Provisioning.ActionHooks.BeforeAddService"
argument="" />
<onSwitchService type="Atomia.Provisioning.ActionHooks.SwitchService.DomainWebsiteSwitch, Atomia.Provisioning.ActionHooks.SwitchService"
argument="CsDnsZoneStandard" />
</actionHooks>
</complexService>2. Change the CsDomainReverseZone's partService DnsSlaveZone to be greater than 0, or delete it completely.
<partService name="DnsSlaveZone" max="1">
</partService>
3. Add the CsDomainReverseZone service to the ServiceList of the packages you want it included in.
4. Deploy the following transformation in HCP (the transformation file can be found in: ..\Atomia\HostingControlPanel\App_Data\Transformation Files)
<?xml version="1.0" encoding="UTF-8"?>
<appConfig xmlns="Atomia.Web.Base.Configs" xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xmlns:is="http://schemas.atomia.com/2009/06/configuration/identity" xmlns:hy="urn:nhibernate-configuration-2.2">
<menusList>
<menuItem id="menu007_7" name="ReverseZone" resourceKey="ReverseDns" action="Index" controller="ReverseDns" controllerAssembly="Atomia.Web.Plugin.Domains" controllerNamespace="Atomia.Web.Plugin.Domains.Controllers" xdt:Transform="InsertAfter(//*[local-name()='menuItem'][@id='menu007_1'])">
<additionalRouteValuesList>
<additionalRouteValues id="arv025" name="accountID" value="{accountID}" />
</additionalRouteValuesList>
<additionalItemPropertiesList>
<additionalItemProperties id="aip039" name="packageLimitationSubItemService" value="ReverseZone" />
</additionalItemPropertiesList>
</menuItem>
</menusList>
<globalSettingsList>
<globalSetting name="DnsReverseZonesEnabled" value="true" xdt:Locator="Match(name)" xdt:Transform="SetAttributes(value)"/>
</globalSettingsList>
</appConfig>Make sure to follow the guidelines for creating transformation files found in Atomia configuration files and transformations