mirror of https://github.com/rancher/ui.git
320 lines
12 KiB
Handlebars
320 lines
12 KiB
Handlebars
{{#accordion-list showExpandAll=false as | al expandFn |}}
|
|
<div class="over-hr"><span>{{driverOptionsTitle}}</span></div>
|
|
|
|
{{#accordion-list-item
|
|
title=(t 'nodeDriver.amazonec2.access.title')
|
|
detail=(t 'nodeDriver.amazonec2.access.detail')
|
|
expandAll=expandAll
|
|
expand=(action expandFn)
|
|
expandOnInit=true
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-4">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.region.label'}}</label>
|
|
{{#if (eq step 1)}}
|
|
<select class="form-control" onchange={{action (mut config.region) value="target.value"}}>
|
|
{{#each regionChoices as |choice|}}
|
|
<option value={{choice}} selected={{eq config.region choice}}>{{choice}}</option>
|
|
{{/each}}
|
|
</select>
|
|
{{else}}
|
|
<div>{{config.region}}</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="col span-4">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.accessKey.label'}}</label>
|
|
{{#if (eq step 1)}}
|
|
{{input type="text" name="username" classNames="form-control" placeholder=(t 'nodeDriver.amazonec2.accessKey.placeholder') value=config.accessKey}}
|
|
{{else}}
|
|
<div>{{config.accessKey}}</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="col span-4">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.secretKey.label'}}</label>
|
|
{{#if (eq step 1)}}
|
|
{{input type="password" name="password" classNames="form-control" placeholder=(t 'nodeDriver.amazonec2.secretKey.placeholder') value=config.secretKey}}
|
|
{{else}}
|
|
<div class="text-muted text-italic">{{t 'nodeDriver.amazonec2.secretKey.provided'}}</div>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
|
|
{{#if (eq step 1)}}
|
|
<div class="row">
|
|
<div class="span-8 offset-4">
|
|
<p class="text-info text-small m-0">{{t 'nodeDriver.amazonec2.access.help'}}</p>
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
{{/accordion-list-item}}
|
|
|
|
{{#if (eq step 1)}}
|
|
{{top-errors errors=errors}}
|
|
{{save-cancel
|
|
save="awsLogin"
|
|
cancel="cancel"
|
|
createLabel="nodeDriver.amazonec2.access.next"
|
|
savingLabel="nodeDriver.amazonec2.access.loading"
|
|
}}
|
|
{{/if}}
|
|
|
|
<div class="{{unless (gte step 2) 'hide'}}">
|
|
{{#accordion-list-item
|
|
title=(t 'nodeDriver.amazonec2.zone.title')
|
|
detail=(t 'nodeDriver.amazonec2.zone.detail')
|
|
expandAll=expandAll
|
|
expand=(action expandFn)
|
|
expandOnInit=true
|
|
}}
|
|
{{#if (eq step 2)}}
|
|
<div class="row">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.availabilityZone'}}</label>
|
|
<select class="form-control" onchange={{action (mut selectedZone) value="target.value"}}>
|
|
{{#each zoneChoices as |choice|}}
|
|
<option value={{choice}} selected={{eq selectedZone choice}}>{{choice}}</option>
|
|
{{/each}}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<label class="acc-label pt-20">{{t 'nodeDriver.amazonec2.subnet'}}</label>
|
|
{{#if subnetChoices.length}}
|
|
{{#each subnetChoices as |choice|}}
|
|
{{#if choice.isVpc}}
|
|
<hr class="mt-20 mb-20" />
|
|
<div class="radio">
|
|
<label class="acc-label pb-0">{{radio-button selection=selectedSubnet value=choice.value}} {{choice.label}}
|
|
{{#each choice.tags as |tag|}}
|
|
<span class="tag-xs bg-info mr-5">
|
|
<i class="icon icon-tag"></i>
|
|
{{tag}}
|
|
</span>
|
|
{{/each}}
|
|
</label>
|
|
</div>
|
|
{{else}}
|
|
<div class="radio">
|
|
<label class="ml-20">
|
|
{{radio-button selection=selectedSubnet value=choice.value}} <i class="icon icon-level-down text-muted" style="transform: scaleX(-1) rotate(90deg);"></i> {{choice.label}}
|
|
{{#each choice.tags as |tag|}}
|
|
<span class="tag-xs bg-info mr-5">
|
|
<i class="icon icon-tag"></i>
|
|
{{tag}}
|
|
</span>
|
|
{{/each}}
|
|
</label>
|
|
</div>
|
|
{{/if}}
|
|
{{/each}}
|
|
{{else}}
|
|
There are no subnets to choose from.
|
|
{{/if}}
|
|
</div>
|
|
{{else}}
|
|
<div class="row">
|
|
<div class="span-6">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.availabilityZone'}}</label>
|
|
{{config.region}}{{config.zone}}
|
|
</div>
|
|
<div class="span-6">
|
|
<label class="acc-label pt-20">{{t 'nodeDriver.amazonec2.subnet'}}</label>
|
|
{{#if config.subnetId}}
|
|
{{config.subnetId}}
|
|
{{else}}
|
|
{{config.vpcId}}
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
{{/accordion-list-item}}
|
|
|
|
{{#if (eq step 2)}}
|
|
{{top-errors errors=errors}}
|
|
{{save-cancel
|
|
save="selectSubnet"
|
|
cancel="cancel"
|
|
createLabel="nodeDriver.amazonec2.zone.next"
|
|
savingLabel="nodeDriver.amazonec2.zone.loading"
|
|
}}
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="{{unless (gte step 3) 'hide'}}">
|
|
{{#accordion-list-item
|
|
title=(t 'nodeDriver.amazonec2.securityGroup.title')
|
|
detail=(t 'nodeDriver.amazonec2.securityGroup.detail')
|
|
expandAll=expandAll
|
|
expand=(action expandFn)
|
|
expandOnInit=true
|
|
}}
|
|
<div class="row">
|
|
{{#if (eq step 3)}}
|
|
<div class="radio pt-10">
|
|
<label>
|
|
{{radio-button selection=whichSecurityGroup value="default"}}
|
|
{{t 'nodeDriver.amazonec2.securityGroup.defaultCreate' groupName=defaultSecurityGroupName htmlSafe=true}}
|
|
</label>
|
|
</div>
|
|
|
|
{{#if (and settings.isRancher (not isCustomSecurityGroup))}}
|
|
<p class="text-info ml-20"><a href="{{settings.docsBase}}/installation/references/" target="_blank">{{t 'nodeDriver.amazonec2.portHelp.link'}}</a> {{t 'nodeDriver.amazonec2.portHelp.text'}}</p>
|
|
{{/if}}
|
|
|
|
<div class="radio pt-10">
|
|
<label>
|
|
{{radio-button selection=whichSecurityGroup value="custom"}}
|
|
{{t 'nodeDriver.amazonec2.securityGroup.choose'}}
|
|
</label>
|
|
</div>
|
|
|
|
{{#if isCustomSecurityGroup}}
|
|
<select class="form-control existing-security-groups" multiple="true" onchange={{action 'multiSecurityGroupSelect' ''}}>
|
|
{{#each allSecurityGroups as |choice|}}
|
|
<option value={{choice.name}} selected={{array-includes selectedSecurityGroup choice.name}}>{{choice.name}} ({{choice.id}})</option>
|
|
{{/each}}
|
|
</select>
|
|
{{/if}}
|
|
{{else}}
|
|
<div>
|
|
{{#if (is-array config.securityGroup)}}
|
|
<div class="comma-seperated-list">
|
|
{{#each config.securityGroup as |group|}}
|
|
<span>{{group}}</span>
|
|
{{/each}}
|
|
</div>
|
|
{{else}}
|
|
{{defaultSecurityGroupName}}
|
|
{{/if}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
{{/accordion-list-item}}
|
|
|
|
{{#if (eq step 3)}}
|
|
{{top-errors errors=errors}}
|
|
{{save-cancel
|
|
save="selectSecurityGroup"
|
|
cancel="cancel"
|
|
createLabel="nodeDriver.amazonec2.securityGroup.next"
|
|
savingLabel="nodeDriver.amazonec2.securityGroup.loading"
|
|
}}
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="{{unless (gte step 4) 'hide'}}">
|
|
{{#accordion-list-item
|
|
title=(t 'nodeDriver.amazonec2.instance.title')
|
|
detail=(t 'nodeDriver.amazonec2.instance.detail')
|
|
expandAll=expandAll
|
|
expand=(action expandFn)
|
|
expandOnInit=true
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.instanceType.label'}}</label>
|
|
{{new-select
|
|
classNames="form-control"
|
|
value=config.instanceType
|
|
content=instanceTypes
|
|
optionValuePath="name"
|
|
optionLabelPath="name"
|
|
optionGroupPath="group"
|
|
}}
|
|
</div>
|
|
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.rootSize.label'}}</label>
|
|
<div class="input-group">
|
|
{{input type="text" classNames="form-control" placeholder="" value=config.rootSize}}
|
|
<span class="input-group-addon bg-default">{{t 'nodeDriver.amazonec2.rootSize.unit'}}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.ami.label'}}</label>
|
|
{{input type="text" classNames="form-control" placeholder=(t 'nodeDriver.amazonec2.ami.placeholder') value=config.ami}}
|
|
{{#if settings.isRancher}}
|
|
<p class="help-block">
|
|
<a href="https://github.com/rancher/os/blob/master/README.md/#user-content-amazon" target="_blank">{{t 'nodeDriver.amazonec2.ami.rancherList'}}</a>
|
|
</p>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.sshUser.label'}}</label>
|
|
{{input type="text" classNames="form-control" placeholder=(t 'nodeDriver.amazonec2.sshUser.placeholder') value=config.sshUser}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.iam.label'}}</label>
|
|
{{input type="text" classNames="form-control" value=config.iamInstanceProfile placeholder=(t 'nodeDriver.amazonec2.iam.placeholder')}}
|
|
</div>
|
|
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.privateIp.label'}}</label>
|
|
<div class="checkbox">
|
|
<label class="acc-label">{{input type="checkbox" checked=config.privateAddressOnly}} {{t 'nodeDriver.amazonec2.onlyPrivate.label'}}</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.requestSpotInstance.label'}}</label>
|
|
<div class="checkbox">
|
|
<label class="acc-label">{{input type="checkbox" checked=config.requestSpotInstance}} {{t 'nodeDriver.amazonec2.requestSpotInstance.enable'}}</label>
|
|
</div>
|
|
</div>
|
|
|
|
{{#if config.requestSpotInstance}}
|
|
<div class="col span-6">
|
|
<label class="acc-label">{{t 'nodeDriver.amazonec2.spotPrice.label'}}</label>
|
|
<div class="input-group">
|
|
{{input type="text" classNames="form-control" placeholder="" value=config.spotPrice}}
|
|
<span class="input-group-addon bg-default">{{t 'nodeDriver.amazonec2.spotPrice.unit'}}</span>
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col span-12">
|
|
{{form-key-value
|
|
addActionLabel="nodeDriver.amazonec2.tags.addActionLabel"
|
|
initialMap=tags
|
|
changed=(action (mut tags))
|
|
}}
|
|
</div>
|
|
</div>
|
|
{{/accordion-list-item}}
|
|
|
|
<div class="over-hr"><span>{{templateOptionsTitle}}</span></div>
|
|
|
|
{{form-name-description
|
|
model=model
|
|
nameRequired=true
|
|
}}
|
|
|
|
{{form-user-labels
|
|
initialLabels=labelResource.labels
|
|
setLabels=(action 'setLabels')
|
|
expandAll=expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
|
|
{{form-engine-opts
|
|
machine=model
|
|
showEngineUrl=showEngineUrl
|
|
}}
|
|
|
|
{{top-errors errors=errors}}
|
|
{{save-cancel save="save" cancel="cancel" editing=editing}}
|
|
</div>
|
|
{{/accordion-list}}
|