mirror of https://github.com/rancher/ui.git
974 lines
33 KiB
Handlebars
974 lines
33 KiB
Handlebars
{{#if (eq step 1)}}
|
|
{{#input-text-file
|
|
classNames="box"
|
|
label="clusterNew.googlegke.credential.label"
|
|
value=config.credential
|
|
accept="text/*, .json"
|
|
minHeight=60
|
|
canChangeName=false
|
|
nameRequired=true
|
|
placeholder="clusterNew.googlegke.credential.placeholder"
|
|
fileChosen=(action "clickNext")
|
|
concealValue=true
|
|
as |section|
|
|
}}
|
|
{{#if (eq section "description")}}
|
|
<div class="row help">
|
|
<div class="col span-12 help-block wrap mb-0">
|
|
{{t "clusterNew.googlegke.credential.helpText" htmlSafe=true}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
{{/input-text-file}}
|
|
|
|
{{top-errors errors=errors}}
|
|
{{top-errors errors=otherErrors}}
|
|
{{top-errors errors=clusterErrors}}
|
|
{{save-cancel
|
|
saving=saving
|
|
createLabel="clusterNew.googlegke.checkServiceAccount"
|
|
savingLabel="clusterNew.googlegke.checkingServiceAccount"
|
|
save=(action "checkServiceAccount")
|
|
cancel=close
|
|
}}
|
|
|
|
{{else}}
|
|
{{#accordion-list showExpandAll=false as |al expandFn|}}
|
|
{{#accordion-list-item
|
|
title=(t "clusterNew.kubernetesOptions.title")
|
|
detail=(t "clusterNew.kubernetesOptions.detail")
|
|
everExpanded=true
|
|
expandOnInit=true
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.locationType.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=isNew
|
|
value=locationType
|
|
}}
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button selection=locationType value="zonal"}}
|
|
{{t "clusterNew.googlegke.locationType.zone"}}
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button selection=locationType value="regional"}}
|
|
{{t "clusterNew.googlegke.locationType.region"}}
|
|
</label>
|
|
</div>
|
|
{{/input-or-display}}
|
|
</div>
|
|
{{#if (eq locationType "zonal")}}
|
|
<div class="col span-4">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.zone.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=isNew
|
|
value=config.zone
|
|
}}
|
|
{{new-select
|
|
classNames="form-control select-algin-checkbox"
|
|
optionValuePath="name"
|
|
optionLabelPath="name"
|
|
content=zoneChoices
|
|
value=config.zone
|
|
prompt="clusterNew.googlegke.zone.prompt"
|
|
localizedPrompt=true
|
|
disabled=editing
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
{{#unless hideNewField}}
|
|
<div class="col span-2">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.locations.label"}}
|
|
</label>
|
|
{{#each locationContent as |location|}}
|
|
<div class="checkbox">
|
|
<label class={{if editing "text-muted"}}>
|
|
{{input
|
|
type="checkbox"
|
|
checked=location.checked
|
|
disabled=editing
|
|
}}
|
|
{{location.name}}
|
|
</label>
|
|
</div>
|
|
{{/each}}
|
|
</div>
|
|
{{/unless}}
|
|
{{/if}}
|
|
|
|
{{#if (eq locationType "regional")}}
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.region.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=isNew
|
|
value=config.region
|
|
}}
|
|
{{new-select
|
|
classNames="form-control select-algin-checkbox"
|
|
optionValuePath="name"
|
|
optionLabelPath="name"
|
|
content=regionChoices
|
|
value=config.region
|
|
prompt="clusterNew.googlegke.region.prompt"
|
|
localizedPrompt=true
|
|
disabled=editing
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.masterVersion.label"}}
|
|
</label>
|
|
{{form-versions
|
|
cluster=cluster
|
|
editing=editing
|
|
initialVersion=config.masterVersion
|
|
value=config.masterVersion
|
|
versions=versionChoices
|
|
showNotAllowed=false
|
|
}}
|
|
|
|
{{#if (and editing (not-eq initialMasterVersion config.masterVersion))}}
|
|
{{banner-message
|
|
icon="icon-alert"
|
|
color="bg-warning mb-10"
|
|
message=(t "clusterNew.googlegke.masterVersion.warning")
|
|
}}
|
|
{{/if}}
|
|
</div>
|
|
{{#unless hideNewField}}
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.clusterIpv4Cidr.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=isNew
|
|
value=config.clusterIpv4Cidr
|
|
}}
|
|
{{input
|
|
value=config.clusterIpv4Cidr
|
|
placeholder=(t "clusterNew.googlegke.clusterIpv4Cidr.placeholder")
|
|
disabled=editing
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
{{/unless}}
|
|
</div>
|
|
{{#unless hideNewField}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.alphaFeatures.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.enableAlphaFeature
|
|
value=true
|
|
disabled=editing
|
|
}} {{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enableAlphaFeature
|
|
value=false
|
|
disabled=editing
|
|
}} {{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.legacyAuth.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.enableLegacyAbac
|
|
value=true
|
|
disabled=editing
|
|
}} {{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enableLegacyAbac
|
|
value=false
|
|
disabled=editing
|
|
}} {{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.stackDriverLogging.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.enableStackdriverLogging
|
|
value=true
|
|
disabled=editing
|
|
}} {{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enableStackdriverLogging
|
|
value=false
|
|
disabled=editing
|
|
}} {{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.stackdriverMonitor.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.enableStackdriverMonitoring
|
|
value=true
|
|
disabled=editing
|
|
}} {{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enableStackdriverMonitoring
|
|
value=false
|
|
disabled=editing
|
|
}} {{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.dashboard.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.enableKubernetesDashboard
|
|
value=true
|
|
disabled=editing
|
|
}} {{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enableKubernetesDashboard
|
|
value=false
|
|
disabled=editing
|
|
}} {{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.httpLB.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.enableHttpLoadBalancing
|
|
value=true
|
|
disabled=editing
|
|
}} {{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enableHttpLoadBalancing
|
|
value=false
|
|
disabled=editing
|
|
}} {{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.enableHorizontalPodAutoscaling.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.enableHorizontalPodAutoscaling
|
|
value=true
|
|
disabled=editing
|
|
}} {{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enableHorizontalPodAutoscaling
|
|
value=false
|
|
disabled=editing
|
|
}} {{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.maintenanceWindow.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
{{#input-or-display
|
|
editable=isNew
|
|
value=maintenanceWindowChoice.label
|
|
}}
|
|
{{new-select
|
|
classNames="form-control"
|
|
content=maintenanceWindowTimes
|
|
value=config.maintenanceWindow
|
|
disabled=editing
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.network.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=isNew
|
|
value=config.network
|
|
}}
|
|
{{searchable-select
|
|
content=networkContent
|
|
classNames="form-control"
|
|
value=config.network
|
|
optionValuePath="name"
|
|
optionLabelPath="name"
|
|
readOnly=editing
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
|
|
{{#if (gt subNetworkContent.length 0)}}
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.subNetwork.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=isNew
|
|
value=config.subNetwork
|
|
}}
|
|
{{searchable-select
|
|
content=subNetworkContent
|
|
classNames="form-control"
|
|
value=config.subNetwork
|
|
readOnly=editing
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
{{#advanced-section advanced=clusterAdvanced}}
|
|
<h4 class="mt-20 mb-10">{{t "clusterNew.googlegke.header.iPAllocationPolicy"}}</h4>
|
|
<hr/>
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.useIpAliases.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.useIpAliases
|
|
value=true
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.yes"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.useIpAliases
|
|
value=false
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.no"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
{{#if config.useIpAliases}}
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.ipPolicyCreateSubnetwork.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.ipPolicyCreateSubnetwork
|
|
value=true
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}} class={{concat (if (eq secondaryIpRangeContent.length 0) "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.ipPolicyCreateSubnetwork
|
|
value=false
|
|
disabled=(or editing (eq secondaryIpRangeContent.length 0))
|
|
}}
|
|
{{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
{{#if config.useIpAliases}}
|
|
{{#if (and config.ipPolicyCreateSubnetwork config.useIpAliases)}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.ipPolicyClusterIpv4CidrBlock.label"}}
|
|
</label>
|
|
{{input
|
|
value=config.ipPolicyClusterIpv4CidrBlock
|
|
placeholder=(t "clusterNew.googlegke.ipPolicyClusterIpv4CidrBlock.placeholder")
|
|
disabled=editing
|
|
}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.ipPolicyServicesIpv4CidrBlock.label"}}
|
|
</label>
|
|
{{input
|
|
value=config.ipPolicyServicesIpv4CidrBlock
|
|
placeholder=(t "clusterNew.googlegke.ipPolicyServicesIpv4CidrBlock.placeholder")
|
|
disabled=editing
|
|
}}
|
|
</div>
|
|
</div>
|
|
{{else}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.ipPolicyClusterSecondaryRangeName.label"}}
|
|
</label>
|
|
{{searchable-select
|
|
content=secondaryIpRangeContent
|
|
classNames="form-control"
|
|
value=config.ipPolicyClusterSecondaryRangeName
|
|
disabled=editing
|
|
}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.ipPolicyServicesSecondaryRangeName.label"}}
|
|
</label>
|
|
{{searchable-select
|
|
content=secondaryIpRangeContent
|
|
classNames="form-control"
|
|
value=config.ipPolicyServicesSecondaryRangeName
|
|
disabled=editing
|
|
}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
{{/if}}
|
|
|
|
<h4 class="mt-20 mb-10">
|
|
{{t "clusterNew.googlegke.header.privateCluster"}}
|
|
</h4>
|
|
|
|
<hr/>
|
|
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.enablePrivateNodes.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if (eq config.useIpAliases false) "text-muted") " hand mr-20"}}>
|
|
{{radio-button
|
|
selection=config.enablePrivateNodes
|
|
value=true
|
|
disabled=(or editing (eq config.useIpAliases false))
|
|
}}
|
|
{{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enablePrivateNodes
|
|
value=false
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
{{#if config.enablePrivateNodes}}
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.enablePrivateEndpoint.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.enablePrivateEndpoint
|
|
value=true
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enablePrivateEndpoint
|
|
value=false
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
{{#if config.enablePrivateNodes}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.masterIpv4CidrBlock.label"}}
|
|
</label>
|
|
{{input
|
|
value=config.masterIpv4CidrBlock
|
|
placeholder=(t "clusterNew.googlegke.masterIpv4CidrBlock.placeholder")
|
|
disabled=editing
|
|
}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
<h4 class="mt-20 mb-10">
|
|
{{t "clusterNew.googlegke.header.masterAuthorizedNetwork"}}
|
|
</h4>
|
|
|
|
<hr/>
|
|
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.enableMasterAuthorizedNetwork.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.enableMasterAuthorizedNetwork
|
|
value=true
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enableMasterAuthorizedNetwork
|
|
value=false
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
{{#if config.enableMasterAuthorizedNetwork}}
|
|
<div class="col span-6">
|
|
{{form-value-array
|
|
initialValues=config.masterAuthorizedNetworkCidrBlocks
|
|
editing=(or (eq mode "edit") (eq mode "new"))
|
|
valueLabel="clusterNew.googlegke.masterAuthorizedNetworkCidrBlocks.label"
|
|
valuePlaceholder="clusterNew.googlegke.masterAuthorizedNetworkCidrBlocks.placeholder"
|
|
addActionLabel="clusterNew.googlegke.masterAuthorizedNetworkCidrBlocks.addActionLabel"
|
|
changed=(action "updateNameservers")
|
|
cannotAdd=(gt config.masterAuthorizedNetworkCidrBlocks.length 10)
|
|
}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
{{/advanced-section}}
|
|
|
|
<div class="row mt-20">
|
|
<div class="col span-12 mb-0">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.clusterLabels.label"}}
|
|
</label>
|
|
{{form-key-value
|
|
initialMap=resourceLabels
|
|
changed=(action "setLabels")
|
|
addActionLabel="clusterNew.googlegke.nodeLabels.addAction"
|
|
editing=isNew
|
|
}}
|
|
</div>
|
|
</div>
|
|
{{/unless}}
|
|
{{/accordion-list-item}}
|
|
|
|
{{#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 "clusterNew.googlegke.nodeCount.label"}}
|
|
</label>
|
|
{{input-number min=1 value=config.nodeCount}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.machineType.label"}}
|
|
</label>
|
|
{{#if editing}}
|
|
<div>
|
|
{{editedMachineChoice.displayName}}
|
|
</div>
|
|
{{else}}
|
|
{{new-select
|
|
classNames="form-control"
|
|
optionValuePath="name"
|
|
optionLabelPath="displayName"
|
|
content=machineChoices
|
|
value=config.machineType
|
|
prompt="clusterNew.googlegke.machineType.prompt"
|
|
localizedPrompt=true
|
|
}}
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
|
|
{{#unless hideNewField}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.imageType.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=isNew
|
|
value=config.imageType
|
|
}}
|
|
{{searchable-select
|
|
content=imageTypeContent
|
|
classNames="form-control"
|
|
value=config.imageType
|
|
localizedLabel=true
|
|
readOnly=editing
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.diskType.label"}}
|
|
</label>
|
|
{{#input-or-display
|
|
editable=isNew
|
|
value=config.diskType
|
|
}}
|
|
{{searchable-select
|
|
content=diskTypeContent
|
|
classNames="form-control"
|
|
value=config.diskType
|
|
localizedLabel=true
|
|
readOnly=editing
|
|
}}
|
|
{{/input-or-display}}
|
|
</div>
|
|
</div>
|
|
{{/unless}}
|
|
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.diskSizeGb.label"}}
|
|
</label>
|
|
<div class="input-group">
|
|
{{#if editing}}
|
|
{{config.diskSizeGb}} {{t "generic.gigabyte"}}
|
|
{{else}}
|
|
{{input-number min=1 value=config.diskSizeGb}}
|
|
<span class="input-group-addon bg-default">{{t "generic.gigabyte"}}</span>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
{{#unless hideNewField}}
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.localSsdCount.label"}}
|
|
</label>
|
|
<div class="input-group">
|
|
{{#if editing}}
|
|
{{config.localSsdCount}} {{t "generic.gigabyte"}}
|
|
{{else}}
|
|
{{input-integer
|
|
min=0
|
|
value=config.localSsdCount
|
|
}}
|
|
<span class="input-group-addon bg-default">{{t "generic.gigabyte"}}</span>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
{{/unless}}
|
|
</div>
|
|
|
|
{{#unless hideNewField}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.preemptible.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.preemptible
|
|
value=true
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.preemptible
|
|
value=false
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.enableAutoUpgrade.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.enableAutoUpgrade
|
|
value=true
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enableAutoUpgrade
|
|
value=false
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.enableAutoRepair.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class={{concat (if editing "text-muted") " mr-20 hand"}}>
|
|
{{radio-button
|
|
selection=config.enableAutoRepair
|
|
value=true
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.enabled"}}
|
|
</label>
|
|
<label class={{concat (if editing "text-muted") " hand"}}>
|
|
{{radio-button
|
|
selection=config.enableAutoRepair
|
|
value=false
|
|
disabled=editing
|
|
}}
|
|
{{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{/unless}}
|
|
|
|
<h4 class="mt-20 mb-10">
|
|
{{t "clusterNew.googlegke.header.nodePoolAutoscaling"}}
|
|
</h4>
|
|
|
|
<hr/>
|
|
|
|
<div class="row">
|
|
<div class="col span-4">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.enableNodepoolAutoscaling.label"}}
|
|
</label>
|
|
<div class="form-control-static">
|
|
<label class="mr-20 hand">
|
|
{{radio-button
|
|
selection=config.enableNodepoolAutoscaling
|
|
value=true
|
|
}}
|
|
{{t "generic.enabled"}}
|
|
</label>
|
|
<label class="hand">
|
|
{{radio-button
|
|
selection=config.enableNodepoolAutoscaling
|
|
value=false
|
|
}}
|
|
{{t "generic.disabled"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
{{#if config.enableNodepoolAutoscaling}}
|
|
<div class="col span-4">
|
|
<label
|
|
class="acc-label"
|
|
for="input-min-node-count"
|
|
>
|
|
{{t "clusterNew.googlegke.minNodeCount.label"}}
|
|
</label>
|
|
{{input-number
|
|
id="input-min-node-count"
|
|
min=1
|
|
max=config.maxNodeCount
|
|
value=config.minNodeCount
|
|
}}
|
|
</div>
|
|
<div class="col span-4">
|
|
<label
|
|
class="acc-label"
|
|
for="input-max-node-count"
|
|
>
|
|
{{t "clusterNew.googlegke.maxNodeCount.label"}}
|
|
</label>
|
|
{{input-number
|
|
id="input-max-node-count"
|
|
min=config.minNodeCount
|
|
value=config.maxNodeCount
|
|
}}
|
|
</div>
|
|
{{/if}}
|
|
</div>
|
|
|
|
{{#unless hideNewField}}
|
|
{{form-gke-taints
|
|
taints=taints
|
|
editable=(eq mode "new")
|
|
}}
|
|
|
|
<div class="row mt-20">
|
|
<div class="col span-12 mb-0">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.nodeLabels.label"}}
|
|
</label>
|
|
{{form-key-value
|
|
initialMap=labels
|
|
changed=(action "setNodeLabels")
|
|
addActionLabel="clusterNew.googlegke.nodeLabels.addAction"
|
|
editing=(eq mode "new")
|
|
}}
|
|
</div>
|
|
</div>
|
|
{{/unless}}
|
|
{{/accordion-list-item}}
|
|
|
|
{{#if (eq mode "new")}}
|
|
{{#accordion-list-item
|
|
title=(t "clusterNew.security.title")
|
|
detail=(t "clusterNew.security.detail")
|
|
showExpand=true
|
|
expandOnInit=false
|
|
expandAll=al.expandAll
|
|
expand=(action expandFn)
|
|
}}
|
|
<div class="row">
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.serviceAccount.label"}}
|
|
</label>
|
|
{{searchable-select
|
|
content=serviceAccountContent
|
|
classNames="form-control"
|
|
value=config.serviceAccount
|
|
optionLabelPath="displayName"
|
|
optionValuePath="uniqueId"
|
|
}}
|
|
</div>
|
|
<div class="col span-6">
|
|
<label class="acc-label">
|
|
{{t "clusterNew.googlegke.oauthScopes.label"}}
|
|
</label>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button
|
|
selection=oauthScopesSelection
|
|
value="default"
|
|
disabled=editing
|
|
}}
|
|
{{t "clusterNew.googlegke.oauthScopes.default"}}
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button
|
|
selection=oauthScopesSelection
|
|
value="full"
|
|
disabled=editing
|
|
}}
|
|
{{t "clusterNew.googlegke.oauthScopes.full"}}
|
|
</label>
|
|
</div>
|
|
<div class="radio">
|
|
<label>
|
|
{{radio-button
|
|
selection=oauthScopesSelection
|
|
value="custom"
|
|
disabled=editing
|
|
}}
|
|
{{t "clusterNew.googlegke.oauthScopes.custom"}}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{#if (eq oauthScopesSelection "custom")}}
|
|
{{gke-access-scope
|
|
config=scopeConfig
|
|
}}
|
|
{{/if}}
|
|
{{/accordion-list-item}}
|
|
{{/if}}
|
|
{{/accordion-list}}
|
|
|
|
{{top-errors errors=errors}}
|
|
{{top-errors errors=otherErrors}}
|
|
{{top-errors errors=clusterErrors}}
|
|
{{save-cancel
|
|
editing=(eq mode "edit")
|
|
save=(action "driverSave")
|
|
cancel=close
|
|
saving=saving
|
|
saved=saved
|
|
}}
|
|
{{/if}}
|