mirror of https://github.com/rancher/ui.git
544 lines
18 KiB
Handlebars
544 lines
18 KiB
Handlebars
{{#accordion-list showExpandAll=false as | al expandFn |}}
|
|
{{#accordion-list-item
|
|
title=(t "clusterNew.amazoneks.access.title")
|
|
detail=(t "clusterNew.amazoneks.access.detail")
|
|
expandAll=expandAll
|
|
expand=(action expandFn)
|
|
expandOnInit=true
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-3">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.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-3">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.accessKey.label"}}
|
|
</label>
|
|
{{#if (eq step 1)}}
|
|
{{input
|
|
type="text"
|
|
name="username"
|
|
classNames="form-control"
|
|
placeholder=(t "nodeDriver.amazoneks.accessKey.placeholder")
|
|
value=config.accessKey
|
|
}}
|
|
{{else}}
|
|
<div>{{config.accessKey}}</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="col span-3">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.secretKey.label"}}
|
|
</label>
|
|
{{#if (eq step 1)}}
|
|
{{input
|
|
type="password"
|
|
name="password"
|
|
classNames="form-control"
|
|
placeholder=(t "nodeDriver.amazoneks.secretKey.placeholder")
|
|
value=config.secretKey
|
|
}}
|
|
{{else}}
|
|
<div class="text-muted text-italic">{{t "nodeDriver.amazoneks.secretKey.provided"}}</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="col span-3">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.sessionToken.label" htmlSafe=true}}
|
|
</label>
|
|
{{#if (eq step 1)}}
|
|
{{input
|
|
type="password"
|
|
name="session-token"
|
|
classNames="form-control"
|
|
placeholder=(t "nodeDriver.amazoneks.sessionToken.placeholder")
|
|
value=config.sessionToken
|
|
}}
|
|
{{else}}
|
|
<div class="text-muted text-italic">{{t "nodeDriver.amazoneks.sessionToken.provided"}}</div>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
|
|
{{#if (eq step 1)}}
|
|
<div class="row">
|
|
<div class="span-9 offset-3">
|
|
<p class="text-info text-small m-0">{{t "nodeDriver.amazoneks.access.help"}}</p>
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
{{/accordion-list-item}}
|
|
|
|
{{#if (eq step 1)}}
|
|
{{save-cancel
|
|
editing=(eq mode "edit")
|
|
save=(action "awsLogin")
|
|
cancel=close
|
|
createLabel="nodeDriver.amazoneks.access.next"
|
|
savingLabel="nodeDriver.amazoneks.access.loading"
|
|
}}
|
|
{{/if}}
|
|
|
|
{{#if (gte step 2)}}
|
|
{{#accordion-list-item
|
|
title=(t "nodeDriver.amazoneks.clusterOption.title")
|
|
detail=(t "nodeDriver.amazoneks.clusterOption.detail")
|
|
showExpand=false
|
|
expandOnInit=true
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.kubernetesVersion.label"}}
|
|
</label>
|
|
{{new-select
|
|
classNames="form-control"
|
|
content=versionChoices
|
|
value=config.kubernetesVersion
|
|
}}
|
|
{{#if editing}}
|
|
<p class="help-block">{{t "formVersions.eks.helpBlock"}}</p>
|
|
{{/if}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.role.label"}}
|
|
</label>
|
|
{{#if (eq step 2)}}
|
|
<div class="radio pt-0 radio-list">
|
|
<label>
|
|
{{radio-button
|
|
selection=serviceRoleMode
|
|
value="default"
|
|
disabled=editing
|
|
}}
|
|
{{t "nodeDriver.amazoneks.role.radio.default"}}
|
|
</label>
|
|
<label>
|
|
{{radio-button
|
|
selection=serviceRoleMode
|
|
value="custom"
|
|
disabled=editing
|
|
}}
|
|
{{t "nodeDriver.amazoneks.role.radio.custom"}}
|
|
</label>
|
|
</div>
|
|
{{#unless (eq serviceRoleMode "default")}}
|
|
<NewSelect
|
|
class="form-control"
|
|
@value={{ selectedServiceRole }}
|
|
@content={{ serviceRoles }}
|
|
@optionValuePath="RoleName"
|
|
@optionLabelPath="RoleName"
|
|
/>
|
|
{{/unless}}
|
|
{{else}}
|
|
<div>
|
|
{{#if config.serviceRole}}
|
|
{{readableServiceRole}}
|
|
{{else}}
|
|
{{t "nodeDriver.amazoneks.role.noneSelected"}}
|
|
{{/if}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
{{/accordion-list-item}}
|
|
|
|
{{#if (eq step 2)}}
|
|
{{save-cancel
|
|
editing=(eq mode "edit")
|
|
save=(action "loadVPS")
|
|
cancel=close
|
|
createLabel="nodeDriver.amazoneks.role.next"
|
|
savingLabel="nodeDriver.amazoneks.role.loading"
|
|
}}
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
{{#if (gte step 3)}}
|
|
{{#accordion-list-item
|
|
title=(t "nodeDriver.amazoneks.vpc.title")
|
|
detail=(t "nodeDriver.amazoneks.vpc.detail")
|
|
showExpand=false
|
|
expandOnInit=true
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.associateWorkerNodePublicIp.title"}}
|
|
</label>
|
|
{{#if (or (eq step 3) (eq step 4))}}
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button
|
|
selection=config.associateWorkerNodePublicIp
|
|
value=true
|
|
disabled=editing
|
|
}}
|
|
{{t "nodeDriver.amazoneks.associateWorkerNodePublicIp.radio.default"}}
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button
|
|
selection=config.associateWorkerNodePublicIp
|
|
value=false
|
|
disabled=editing
|
|
}}
|
|
{{t "nodeDriver.amazoneks.associateWorkerNodePublicIp.radio.off"}}
|
|
</label>
|
|
</div>
|
|
{{else}}
|
|
{{#if (eq config.associateWorkerNodePublicIp true)}}
|
|
<div>
|
|
{{t "nodeDriver.amazoneks.associateWorkerNodePublicIp.radio.default"}}
|
|
</div>
|
|
{{else}}
|
|
<div>
|
|
{{t "nodeDriver.amazoneks.associateWorkerNodePublicIp.radio.off"}}
|
|
</div>
|
|
{{/if}}
|
|
{{/if}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.vpc.title"}}
|
|
</label>
|
|
{{#if (or (eq step 3) (eq step 4))}}
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button
|
|
selection=vpcSubnetMode
|
|
value="default"
|
|
disabled=(or editing (eq config.associateWorkerNodePublicIp false))
|
|
}}
|
|
{{t "nodeDriver.amazoneks.vpc.radio.default"}}
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button
|
|
selection=vpcSubnetMode
|
|
value="custom"
|
|
disabled=(or editing (eq config.associateWorkerNodePublicIp false))
|
|
}}
|
|
{{t "nodeDriver.amazoneks.vpc.radio.custom"}}
|
|
</label>
|
|
</div>
|
|
{{#unless (eq vpcSubnetMode "default")}}
|
|
<NewSelect
|
|
class="form-control"
|
|
@value={{config.virtualNetwork}}
|
|
@content={{filteredVpcs}}
|
|
@optionValuePath="id"
|
|
@optionLabelPath="label"
|
|
/>
|
|
{{/unless}}
|
|
{{else}}
|
|
{{#if (eq vpcSubnetMode "default")}}
|
|
<div>
|
|
{{t "nodeDriver.amazoneks.vpc.noneSelected"}}
|
|
</div>
|
|
{{else}}
|
|
<div>
|
|
{{config.virtualNetwork}}
|
|
</div>
|
|
{{/if}}
|
|
{{/if}}
|
|
</div>
|
|
|
|
{{#if (and (eq step 4) (eq vpcSubnetMode "custom"))}}
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.subnet.title"}}
|
|
</label>
|
|
<select class="form-control existing-subnet-groups" multiple="true" onchange={{action "multiSubnetGroupSelect" ""}}>
|
|
{{#each filteredSubnets as |choice|}}
|
|
<option value={{choice.subnetId}} selected={{array-includes config.subnets choice.subnetId}}>
|
|
{{choice.subnetName}} ({{choice.subnetId}})
|
|
</option>
|
|
{{/each}}
|
|
</select>
|
|
{{#if (eq config.associateWorkerNodePublicIp false)}}
|
|
<p class="help-block">{{t "nodeDriver.amazoneks.subnet.help"}}</p>
|
|
{{/if}}
|
|
</div>
|
|
{{else}}
|
|
{{#if (and (eq vpcSubnetMode "custom") (gte step 4)) }}
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.subnet.title"}}
|
|
</label>
|
|
{{#each config.subnets as |sub|}}
|
|
<div>{{sub}}</div>
|
|
{{/each}}
|
|
</div>
|
|
{{/if}}
|
|
{{/if}}
|
|
</div>
|
|
|
|
{{/accordion-list-item}}
|
|
|
|
{{#if (eq step 3)}}
|
|
{{#if (eq vpcSubnetMode "default")}}
|
|
{{save-cancel
|
|
editing=(eq mode "edit")
|
|
saveDisabled=canSaveVPC
|
|
save=(action "setVPCS")
|
|
cancel=close
|
|
createLabel="nodeDriver.amazoneks.vpc.nextRancherDefault"
|
|
savingLabel="nodeDriver.amazoneks.vpc.loadingRancherDefault"
|
|
}}
|
|
{{else}}
|
|
{{save-cancel
|
|
editing=(eq mode "edit")
|
|
saveDisabled=canSaveVPC
|
|
save=(action "setVPCS")
|
|
cancel=close
|
|
createLabel="nodeDriver.amazoneks.vpc.next"
|
|
savingLabel="nodeDriver.amazoneks.vpc.loading"
|
|
}}
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
{{#if (eq step 4)}}
|
|
{{save-cancel
|
|
editing=(eq mode "edit")
|
|
saveDisabled=(lte config.subnets.length 0)
|
|
save=(action "setSubnets")
|
|
cancel=close
|
|
createLabel="nodeDriver.amazoneks.subnet.next"
|
|
savingLabel="nodeDriver.amazoneks.subnet.loading"
|
|
}}
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
{{#if (and (gte step 5) (eq vpcSubnetMode "custom") )}}
|
|
{{#accordion-list-item
|
|
title=(t "nodeDriver.amazoneks.securityGroup.title")
|
|
detail=(t "nodeDriver.amazoneks.securityGroup.detail")
|
|
showExpand=false
|
|
expandOnInit=true
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
{{#if (eq step 5)}}
|
|
<select class="form-control existing-security-groups" multiple="true" onchange={{action "multiSecurityGroupSelect" ""}}>
|
|
{{#each filteredSecurityGroups as |choice|}}
|
|
<option value={{choice.GroupId}} selected={{array-includes config.securityGroups choice.GroupId}}>
|
|
{{choice.GroupName}} ({{choice.GroupId}})
|
|
</option>
|
|
{{/each}}
|
|
</select>
|
|
{{else}}
|
|
{{#if config.securityGroups}}
|
|
{{#each config.securityGroups as |sg|}}
|
|
<div>{{sg}}</div>
|
|
{{/each}}
|
|
{{/if}}
|
|
{{/if}}
|
|
</div>
|
|
{{/accordion-list-item}}
|
|
|
|
{{#if (eq step 5)}}
|
|
{{save-cancel
|
|
editing=(eq mode "edit")
|
|
saveDisabled=canSaveSG
|
|
save=(action (mut step) 6)
|
|
cancel=close
|
|
createLabel="nodeDriver.amazonec2.securityGroup.next"
|
|
savingLabel="nodeDriver.amazonec2.securityGroup.loading"
|
|
}}
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
{{#if (eq step 6)}}
|
|
{{#accordion-list-item
|
|
title=(t "clusterNew.nodes.title")
|
|
detail=(t "clusterNew.nodes.detail")
|
|
showExpand=false
|
|
expandOnInit=true
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazonec2.instanceType.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=(eq mode "new")
|
|
value=config.instanceType
|
|
}}
|
|
{{new-select
|
|
classNames="form-control"
|
|
value=config.instanceType
|
|
content=instanceTypes
|
|
optionValuePath="name"
|
|
optionLabelPath="name"
|
|
optionGroupPath="group"
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.ami.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=(eq mode "new")
|
|
value=config.ami
|
|
}}
|
|
{{input type="text" value=config.ami}}
|
|
{{/input-or-display}}
|
|
<p class="help-block">
|
|
{{t "nodeDriver.amazoneks.ami.help"}}
|
|
</p>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.desired.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=(eq mode "new")
|
|
value=config.desiredNodes
|
|
}}
|
|
{{input-number value=config.desiredNodes min=1}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "nodeDriver.amazoneks.nodeVolumeSize.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=(eq mode "new")
|
|
value=config.nodeVolumeSize
|
|
}}
|
|
<div class="input-group">
|
|
{{input-integer
|
|
min=0
|
|
value=config.nodeVolumeSize
|
|
classNames="form-control"
|
|
placeholder=(t "nodeDriver.amazoneks.nodeVolumeSize.placeholder")
|
|
}}
|
|
<span class="input-group-addon bg-default">
|
|
{{t "generic.gigabyte"}}
|
|
</span>
|
|
</div>
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="row-same-height row-full-height">
|
|
<div class="col span-6 col span-height col full-height col-top mb-20">
|
|
<div class="no-padding-margin full-height">
|
|
<label class="acc-label" for="aws-eks-key-piar">
|
|
{{t "nodeDriver.amazoneks.keyPairs.label"}}
|
|
<span class="inline-block">
|
|
{{#tooltip-element
|
|
type="tooltip-basic"
|
|
model=(t "nodeDriver.amazoneks.keyPairs.tooltip" htmlSafe=true)
|
|
tooltipTemplate="tooltip-static"
|
|
aria-describedby="tooltip-base"
|
|
tooltipFor="tooltipPoolCreateAfter"
|
|
placement="top"
|
|
tagName="div"
|
|
}}
|
|
<i class="icon icon-help icon-blue"></i>
|
|
{{/tooltip-element}}
|
|
</span>
|
|
</label>
|
|
{{#input-or-display
|
|
editable=(eq mode "new")
|
|
value=config.keyPairName
|
|
}}
|
|
{{searchable-select
|
|
id="aws-eks-key-piar"
|
|
classNames="form-control"
|
|
value=config.keyPairName
|
|
content=filteredKeyPairs
|
|
optionValuePath="KeyName"
|
|
optionLabelPath="KeyName"
|
|
prompt=(t "nodeDriver.amazoneks.keyPairs.prompt")
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
<div class="col span-6 col span-height col full-height col-top mb-20">
|
|
<div class="no-padding-margin full-height">
|
|
<label class="acc-label" for="ebs-encryption">
|
|
{{t "nodeDriver.amazoneks.encryptEbs.label"}}
|
|
</label>
|
|
<div>
|
|
{{#input-or-display
|
|
editable=(eq mode "new")
|
|
value=config.ebsEncryption
|
|
}}
|
|
{{input
|
|
id="ebs-encryption"
|
|
type="checkbox"
|
|
checked=config.ebsEncryption
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<p class="help-block">
|
|
{{t "nodeDriver.amazoneks.encryptEbs.detail"}}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-12">
|
|
<label class="acc-label pb-5">
|
|
{{t "nodeDriver.amazoneks.userData.label"}}
|
|
</label>
|
|
{{input-text-file
|
|
accept="text/plain"
|
|
canChangeName=false
|
|
classNames="box"
|
|
minHeight=200
|
|
placeholder="nodeDriver.amazoneks.userData.placeholder"
|
|
value=config.userData
|
|
disabled=(not-eq mode "new")
|
|
}}
|
|
<p class="help-block">
|
|
{{t "nodeDriver.amazoneks.userData.help"}}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
{{/accordion-list-item}}
|
|
|
|
{{save-cancel
|
|
editing=(eq mode "edit")
|
|
save=(action "driverSave")
|
|
cancel=close
|
|
}}
|
|
{{/if}}
|
|
|
|
{{top-errors errors=errors}}
|
|
{{top-errors errors=otherErrors}}
|
|
{{top-errors errors=clusterErrors}}
|
|
{{/accordion-list}} |