mirror of
https://github.com/google/nomulus.git
synced 2025-05-01 12:37:52 +02:00
89 lines
3.3 KiB
Text
89 lines
3.3 KiB
Text
// Copyright 2016 The Nomulus Authors. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
{namespace domain.registry.tools autoescape="strict"}
|
|
|
|
/**
|
|
* Domain allocate request.
|
|
*/
|
|
{template .create}
|
|
{@param name: string}
|
|
{@param period: int}
|
|
{@param registrant: string}
|
|
{@param contacts: map<string, string>}
|
|
{@param authInfo: string}
|
|
{@param applicationRoid: string}
|
|
{@param applicationTime: string}
|
|
{@param? clTrid: string}
|
|
{@param? nameservers: list<string>}
|
|
{@param? smdId: string}
|
|
{@param? launchNotice: map<string, string>}
|
|
{@param? dsRecords: list<map<string, any>>}
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
|
<command>
|
|
<create>
|
|
<domain:create xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
|
<domain:name>{$name}</domain:name>
|
|
<domain:period unit="y">{$period}</domain:period>
|
|
{if isNonnull($nameservers) and length($nameservers) > 0}
|
|
<domain:ns>
|
|
{foreach $nameserver in $nameservers}
|
|
<domain:hostObj>{$nameserver}</domain:hostObj>
|
|
{/foreach}
|
|
</domain:ns>
|
|
{/if}
|
|
<domain:registrant>{$registrant}</domain:registrant>
|
|
{foreach $type in keys($contacts)}
|
|
<domain:contact type="{$type}">{$contacts[$type]}</domain:contact>
|
|
{/foreach}
|
|
<domain:authInfo>
|
|
<domain:pw>{$authInfo}</domain:pw>
|
|
</domain:authInfo>
|
|
</domain:create>
|
|
</create>
|
|
<extension>
|
|
<allocate:create xmlns:allocate="urn:google:params:xml:ns:allocate-1.0">
|
|
<allocate:applicationRoid>{$applicationRoid}</allocate:applicationRoid>
|
|
<allocate:applicationTime>{$applicationTime}</allocate:applicationTime>
|
|
{if isNonnull($smdId)}
|
|
<allocate:smdId>{$smdId}</allocate:smdId>
|
|
{/if}
|
|
{if isNonnull($launchNotice)}
|
|
<allocate:notice xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
|
|
<launch:noticeID>{$launchNotice['noticeId']}</launch:noticeID>
|
|
<launch:notAfter>{$launchNotice['expirationTime']}</launch:notAfter>
|
|
<launch:acceptedDate>{$launchNotice['acceptedTime']}</launch:acceptedDate>
|
|
</allocate:notice>
|
|
{/if}
|
|
</allocate:create>
|
|
{if isNonnull($dsRecords) and length($dsRecords) > 0}
|
|
<secDNS:create xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
|
|
{foreach $dsRecord in $dsRecords}
|
|
<secDNS:dsData>
|
|
<secDNS:keyTag>{$dsRecord['keyTag']}</secDNS:keyTag>
|
|
<secDNS:alg>{$dsRecord['algorithm']}</secDNS:alg>
|
|
<secDNS:digestType>{$dsRecord['digestType']}</secDNS:digestType>
|
|
<secDNS:digest>{$dsRecord['digest']}</secDNS:digest>
|
|
</secDNS:dsData>
|
|
{/foreach}
|
|
</secDNS:create>
|
|
{/if}
|
|
</extension>
|
|
{if isNonnull($clTrid)}
|
|
<clTRID>{$clTrid}</clTRID>
|
|
{/if}
|
|
</command>
|
|
</epp>
|
|
{/template}
|