Add premium support to nomulus create_domain command

Premium prices are automatically detected and set, with an informational
message displayed to the user prior to executing the command.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199223541
This commit is contained in:
mcilwain 2018-06-04 17:43:17 -07:00 committed by Ben McIlwain
parent 61f6e666b1
commit 7c0b8cab0b
8 changed files with 165 additions and 18 deletions

View file

@ -18,12 +18,14 @@
*/
{template .domaincreate stricthtml="false"}
{@param domain: string}
{@param? period: string}
{@param period: int}
{@param nameservers: list<string>}
{@param registrant: string}
{@param admins: list<string>}
{@param techs: list<string>}
{@param password: string}
{@param? currency: string}
{@param? price: string}
{@param dsRecords: list<[keyTag:int, alg:int, digestType:int, digest:string]>}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
@ -32,9 +34,7 @@
<create>
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>{$domain}</domain:name>
{if $period}
<domain:period unit="y">{$period}</domain:period>
{/if}
<domain:period unit="y">{$period}</domain:period>
{if length($nameservers) > 0}
<domain:ns>
{for $s in $nameservers}
@ -54,18 +54,26 @@
</domain:authInfo>
</domain:create>
</create>
{if length($dsRecords) > 0}
{if length($dsRecords) > 0 or $price != null}
<extension>
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
{for $dsRecord in $dsRecords}
<secDNS:dsData>
<secDNS:keyTag>{$dsRecord.keyTag}</secDNS:keyTag>
<secDNS:alg>{$dsRecord.alg}</secDNS:alg>
<secDNS:digestType>{$dsRecord.digestType}</secDNS:digestType>
<secDNS:digest>{$dsRecord.digest}</secDNS:digest>
</secDNS:dsData>
{/for}
</secDNS:create>
{if $price != null}
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.12">
<fee:currency>{$currency}</fee:currency>
<fee:fee>{$price}</fee:fee>
</fee:create>
{/if}
{if length($dsRecords) > 0}
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
{for $dsRecord in $dsRecords}
<secDNS:dsData>
<secDNS:keyTag>{$dsRecord.keyTag}</secDNS:keyTag>
<secDNS:alg>{$dsRecord.alg}</secDNS:alg>
<secDNS:digestType>{$dsRecord.digestType}</secDNS:digestType>
<secDNS:digest>{$dsRecord.digest}</secDNS:digest>
</secDNS:dsData>
{/for}
</secDNS:create>
{/if}
</extension>
{/if}
<clTRID>RegistryTool</clTRID>