ui/lib/istio/addon/components/virtual-service-http-route-row/template.hbs

426 lines
13 KiB
Handlebars

<div class="box mb-10">
{{#if (and editing)}}
<div class="row">
<div class="pull-right">
<button
class="btn bg-transparent text-small vertical-middle" type="button" {{action "removeRoute" route}}
>
{{t "cruVirtualService.http.routes.removeRouteLabel"}}
</button>
</div>
{{#unless isFirst}}
<div class="pull-right">
<button
class="btn bg-transparent text-small vertical-middle" type="button" {{action "moveUpRoute" route}}
>
{{t "cruVirtualService.http.routes.moveUp"}}
</button>
</div>
{{/unless}}
{{#unless isLast}}
<div class="pull-right">
<button
class="btn bg-transparent text-small vertical-middle" type="button" {{action "moveDownRoute" route}}
>
{{t "cruVirtualService.http.routes.moveDown"}}
</button>
</div>
{{/unless}}
</div>
{{/if}}
<div class="checkbox pt-10">
{{#if editing}}
<label class="no-select">
{{input type="checkbox" checked=showMatch}}
{{t "cruVirtualService.http.routes.matches.showMatch"}}
</label>
{{/if}}
{{#if (and editing showMatch)}}
<div class="inline-block">
<button
class="pt-0 pb-0 btn bg-transparent text-small vertical-middle" type="button" {{action "addMatch"}}
>
{{t "cruVirtualService.http.routes.matches.addLabel"}}
</button>
</div>
{{/if}}
</div>
{{#if showMatch}}
{{#each route.match as |match|}}
{{http-route-match
model=match
editing=editing
removeMatch=(action "removeMatch")
}}
{{else}}
<div class="row text-center mt-20 mb-20 pt-10">
<span class="text-muted">
{{t "cruVirtualService.http.routes.matches.noData"}}
</span>
</div>
{{/each}}
{{/if}}
{{http-route-destination
namespace=namespace
httpRouteDestinations=httpRouteDestinations
hosts=hosts
route=route
isNew=isNew
editing=editing
}}
{{#advanced-section advanced=advanced}}
<hr class="mt-20"/>
<label class="acc-label pb-5">
<span class="text-black">
{{t "cruVirtualService.http.routes.redirect.label"}}
</span>
</label>
<div class="row">
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-redirect-uri"}}"
>
{{t "cruVirtualService.http.routes.redirect.uri.label"}}
</label>
{{#input-or-display
editable=editing
value=route.redirect.uri
}}
{{input
type="text"
id=(concat elementId "-input-redirect-uri")
value=route.redirect.uri
classNames="form-control"
placeholder=(t "cruVirtualService.http.routes.redirect.uri.placeholder")
}}
{{/input-or-display}}
</div>
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-redirect-authority"}}"
>
{{t "cruVirtualService.http.routes.redirect.authority.label"}}
</label>
{{#input-or-display
editable=editing
value=route.redirect.authority
}}
{{input
type="text"
id=(concat elementId "-input-redirect-authority")
value=route.redirect.authority
classNames="form-control"
placeholder=(t "cruVirtualService.http.routes.redirect.authority.placeholder")
}}
{{/input-or-display}}
</div>
</div>
<hr class="mt-20"/>
<label class="acc-label pb-5">
<span class="text-black">
{{t "cruVirtualService.http.routes.rewrite.label"}}
</span>
</label>
<div class="row">
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-rewrite-uri"}}"
>
{{t "cruVirtualService.http.routes.rewrite.uri.label"}}
</label>
{{#input-or-display
editable=editing
value=route.rewrite.uri
}}
{{input
type="text"
id=(concat elementId "-input-rewrite-uri")
value=route.rewrite.uri
classNames="form-control"
placeholder=(t "cruVirtualService.http.routes.rewrite.uri.placeholder")
}}
{{/input-or-display}}
</div>
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-rewrite-authority"}}"
>
{{t "cruVirtualService.http.routes.rewrite.authority.label"}}
</label>
{{#input-or-display
editable=editing
value=route.rewrite.authority
}}
{{input
type="text"
id=(concat elementId "-input-rewrite-authority")
value=route.rewrite.authority
classNames="form-control"
placeholder=(t "cruVirtualService.http.routes.rewrite.authority.placeholder")
}}
{{/input-or-display}}
</div>
</div>
<hr class="mt-20"/>
<label class="acc-label pb-5">
<span class="text-black">
{{t "cruVirtualService.http.routes.timeout.label"}}
</span>
</label>
<div class="row">
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-timeout"}}"
>
{{t "cruVirtualService.http.routes.timeout.label"}}
</label>
{{#input-or-display
editable=editing
value=route.timeout
}}
{{input
type="text"
id=(concat elementId "-input-timeout")
value=route.timeout
classNames="form-control"
placeholder=(t "cruVirtualService.http.routes.timeout.placeholder")
}}
{{/input-or-display}}
</div>
</div>
<hr class="mt-20"/>
<label class="acc-label pb-5">
<span class="text-black">
{{t "cruVirtualService.http.routes.retries.label"}}
</span>
</label>
<div class="row">
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-retries-attempts"}}"
>
{{t "cruVirtualService.http.routes.retries.attempts.label"}}
</label>
{{#input-or-display
editable=editing
value=route.retries.attempts
}}
{{input-integer
min=0
id=(concat elementId "-input-retries-attempts")
value=route.retries.attempts
classNames="form-control"
placeholder=(t "cruVirtualService.http.routes.retries.attempts.placeholder")
}}
{{/input-or-display}}
</div>
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-retries-perTryTimeout"}}"
>
{{t "cruVirtualService.http.routes.retries.perTryTimeout.label"}}
</label>
{{#input-or-display
editable=editing
value=route.retries.perTryTimeout
}}
{{input
type="text"
id=(concat elementId "-input-retries-perTryTimeout")
value=route.retries.perTryTimeout
classNames="form-control"
placeholder=(t "cruVirtualService.http.routes.retries.perTryTimeout.placeholder")
}}
{{/input-or-display}}
</div>
</div>
<hr class="mt-20"/>
<label class="acc-label pb-5">
<span class="text-black">
{{t "cruVirtualService.http.routes.faultInjection.abort.label"}}
</span>
</label>
<div class="row">
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-faultInjection-abort-httpStatus"}}"
>
{{t "cruVirtualService.http.routes.faultInjection.abort.httpStatus.label"}}
</label>
{{#input-or-display
editable=editing
value=route.fault.abort.httpStatus
}}
{{input-integer
id=(concat elementId "-input-faultInjection-abort-httpStatus")
value=route.fault.abort.httpStatus
classNames="form-control"
placeholder=(t "cruVirtualService.http.routes.faultInjection.abort.httpStatus.placeholder")
}}
{{/input-or-display}}
</div>
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-faultInjection-abort-percent"}}"
>
{{t "cruVirtualService.http.routes.faultInjection.abort.percent.label"}}
</label>
{{#input-or-display
editable=editing
value=route.fault.abort.percent
}}
<div class="input-group">
{{input-integer
classNames="form-control"
min="0"
max="100"
id=(concat elementId "-input-faultInjection-abort-percent")
value=route.fault.abort.percent
placeholder=(t "cruVirtualService.http.routes.faultInjection.abort.percent.placeholder")
}}
<div class="input-group-addon bg-default">
%
</div>
</div>
{{/input-or-display}}
</div>
</div>
<hr class="mt-20"/>
<label class="acc-label pb-5">
<span class="text-black">
{{t "cruVirtualService.http.routes.faultInjection.delay.label"}}
</span>
</label>
<div class="row">
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-faultInjection-delay-fixedDelay"}}"
>
{{t "cruVirtualService.http.routes.faultInjection.delay.fixedDelay.label"}}
</label>
{{#input-or-display
editable=editing
value=route.fault.delay.fixedDelay
}}
{{input
type="text"
id=(concat elementId "-input-faultInjection-delay-fixedDelay")
value=route.fault.delay.fixedDelay
classNames="form-control"
placeholder=(t "cruVirtualService.http.routes.faultInjection.delay.fixedDelay.placeholder")
}}
{{/input-or-display}}
</div>
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-faultInjection-delay-percent"}}"
>
{{t "cruVirtualService.http.routes.faultInjection.delay.percent.label"}}
</label>
{{#input-or-display
editable=editing
value=route.fault.delay.percent
}}
<div class="input-group">
{{input-integer
classNames="form-control"
min="0"
max="100"
id=(concat elementId "-input-faultInjection-delay-percent")
value=route.fault.delay.percent
placeholder=(t "cruVirtualService.http.routes.faultInjection.delay.percent.placeholder")
}}
<div class="input-group-addon bg-default">
%
</div>
</div>
{{/input-or-display}}
</div>
</div>
<hr class="mt-20"/>
<label class="acc-label pb-5">
<span class="text-black">
{{t "cruVirtualService.http.routes.mirror.label"}}
</span>
</label>
<div class="row">
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-mirror-host"}}"
>
{{t "cruVirtualService.http.routes.mirror.host.label"}}
</label>
{{#input-or-display
editable=editing
value=route.mirror.host
}}
{{istio-host-select
namespaceId=namespace.id
value=route.mirror.host
showLabel=false
}}
{{/input-or-display}}
</div>
<div class="col span-6">
<label
class="acc-label"
for="{{concat elementId "-input-mirror-subset"}}"
>
{{t "cruVirtualService.http.routes.mirror.subset.label"}}
</label>
{{#input-or-display
editable=editing
value=route.mirror.subset
}}
{{input
type="text"
id=(concat elementId "-input-mirror-subset")
value=route.mirror.subset
classNames="form-control"
placeholder=(t "cruVirtualService.http.routes.mirror.subset.placeholder")
}}
{{/input-or-display}}
</div>
</div>
<div class="row">
<div class="col span-6">
{{port-selector
editing=editing
model=route.mirror
}}
</div>
</div>
{{/advanced-section}}
</div>