// Copyright 2017 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 registry.soy.registrar.hostepp}
/**
* Host create request.
*/
{template .create stricthtml="false"}
{@param item: ?}
{@param clTrid: ?}
{$item['host:name']}
{if isNonnull($item['host:addr'])}
{for $addr in $item['host:addr']}
{let $type: strContains($addr['value'], ':') ? 'v6' : 'v4' /}
{$addr['value']}
{/for}
{/if}
{$clTrid}
{/template}
/**
* Host update request.
*/
{template .update stricthtml="false"}
{@param item: ?}
{@param clTrid: ?}
{@param? addAddrs: ?} /** list of addrs to add. */
{@param? remAddrs: ?} /** list of addrs to remove. */
{$item['host:name']}
{call .addRem}
{param isAdd: true /}
{param addrs: $addAddrs /}
{/call}
{call .addRem}
{param isAdd: false /}
{param addrs: $remAddrs /}
{/call}
{if $item['host:name'] != $item['host:chgName']}
{$item['host:chgName']}
{/if}
{$clTrid}
{/template}
/**
* Host info request.
*/
{template .info stricthtml="false"}
{@param clTrid: ?}
{@param id: ?} /** The hostname (named "id" to preserve component API). */
{$id}
{$clTrid}
{/template}
{template .addRem}
{@param isAdd: ?}
{@param? addrs: ?}
{let $tagName: $isAdd ? 'host:add' : 'host:rem' /}
{if length($addrs) > 0}
<{$tagName}>
{for $addr in $addrs}
{let $type: strContains($addr, ':') ? 'v6' : 'v4' /}
{$addr}
{/for}
{$tagName}>
{/if}
{/template}