blob: 143d1554c2e13bdca99e45700140f8f3216558d5 [file] [log] [blame]
<!--
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
-->
<div class="col-xs-24 plr0px">
<div class="col-xs-10 plr0px">
<div class="col-xs-24">
<label class="light">Cluster<mandatory-field></mandatory-field></label>
</div>
<div class="col-xs-24">
<select ng-model="cluster.name" name="clusterName"
class="form-control padding0" ng-required="required"
ng-change="findClusterExists(cluster.name, cluster.type, storageInfo.feedClusters)"
validation-message="{{validations.messages.cluster}}">
<option value="" disabled style='display:none;'>-Select {{cluster.type}} cluster-</option>
<option ng-repeat="clusterItem in storageInfo.clustersList"
value="{{clusterItem.name}}" ng-selected="cluster.name === clusterItem.name">
{{clusterItem.name}}
</option>
</select>
</div>
<div class="col-xs-24 custom-danger" ng-show="checkDuplicateClusterOnTarget()">
Target cannot be the same as the Source
</div>
<div class="col-xs-24 custom-danger" ng-show="clusterExists">
Cluster is already added
</div>
<div class="col-xs-24">
<label class="light">Data Path<mandatory-field></mandatory-field></label>
</div>
<div ng-repeat="location in cluster.storage.fileSystem.locations">
<div class="col-xs-24" ng-if="location.type==='data'">
<input type="text" name="dataPath"
placeholder="Enter Data Path"
ng-required="cluster.name"
validation-optional-message="{{validations.messages.path}}"
class="form-control"
ng-model="location.path" />
</div>
</div>
<div class="col-xs-24">
<a href="" ng-click="toggleAdvancedOptions()">MORE OPTIONS ></a>
</div>
</div>
<div class="col-xs-12 plr0px">
<div class="datasourceBox" ng-show="showingAdvancedOptions">
<div class="col-xs-24">
<label class="light">Statistics Path</label>
</div>
<div ng-repeat="location in cluster.storage.fileSystem.locations">
<div class="col-xs-24" ng-if="location.type==='stats'">
<input type="text" class="form-control" ng-model="location.path"/>
</div>
</div>
<div class="col-xs-24 validityBox plr0px">
<div class="col-xs-24 plr0px">
<div class="col-xs-12 startDateBox">
<label class="light">Start<mandatory-field></mandatory-field></label>
<input type="text"
name="startDateInput"
class="form-control dateInput"
placeholder="{{dateFormat | lowercase}}"
ng-model="cluster.validity.start.date"
simple-date-picker />
</div>
<div class="col-xs-12 startTimeBox">
<label class="light">Time<mandatory-field></mandatory-field></label>
<timepicker ng-change="constructDate()"
ng-model="cluster.validity.start.time"
hour-step="1"
minute-step="1"
show-meridian="true">
</timepicker>
</div>
</div>
<label class="col-xs-24 custom-danger validationMessageGral" ng-if="!cluster.validity.start.date">
{{validations.messages.date.empty}}
</label>
<div class="col-xs-24 plr0px">
<div class="col-xs-12 endDateBox">
<label class="light">End<mandatory-field></mandatory-field></label>
<input type="text"
name="startDateInput"
class="form-control dateInput"
placeholder="{{dateFormat | lowercase}}"
ng-model="cluster.validity.end.date"
simple-date-picker />
</div>
<div class="col-xs-12 endTimeBox">
<label class="light">Time<mandatory-field></mandatory-field></label>
<timepicker ng-change="constructDate()"
ng-model="cluster.validity.end.time"
hour-step="1"
minute-step="1"
show-meridian="true">
</timepicker>
</div>
</div>
<label class="col-xs-24 custom-danger validationMessageGral" ng-if="!cluster.validity.end.date">
{{validations.messages.date.empty}}
</label>
</div>
<label class="light col-xs-24">Retention<mandatory-field></mandatory-field></label>
<div class="col-xs-24 inlineInputsGroup">
<input type="text" class="form-control" ng-model="cluster.retention.quantity"
ng-keydown="validations.acceptOnlyNumber($event)" ng-pattern="validations.patterns.twoDigits" />
<select ng-model="cluster.retention.unit">
<option selected value="minutes">minutes</option>
<option value="hours">hours</option>
<option value="days">days</option>
<option value="months">months</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-xs-24 mt10">
<a ng-click="reset()" ng-if="!storageInfo.readOnly">Reset</a>
<button class="btn datasourceBtn" ng-if="!storageInfo.readOnly"
ng-disabled="cluster.name==='' || !cluster.storage.fileSystem.locations[0].path || cluster.storage.fileSystem.locations[0].path ==='' || clusterExists"
ng-click="addCluster({type : storageInfo.type, dataTransferType : 'hdfs'})">Add {{buttonText}}</button>
<button class="btn datasourceBtn" ng-click="deleteCluster()"
ng-if="(storageInfo.feedClusters | filter:{type: cluster.type}).length > 1">Delete</button>
</div>