mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-18 04:27:02 +02:00
* UI: HDS adoption replace AlertBanner part 1 (#21163) * rename test selector * replace db banner * add class * replace db role edit * db creds * generate creds * simpler class * license banner component * oidc callback plash * raft * aws * secret create or update * change to compact alert for form field * change back to inline * combine alert banners * wrap in conditional * remove references to message class * UI: HDS adoption replace AlertBanner part 2 (#21243) * token expire warning * delete css * edit form * item details distribute mfa step 2 transit verify * back to secondary * distribute * oidc lease error * sign * kv obj and repl dash * more repl * update test selector * show, creds * shamir * pki csr * pki banners * add hds library to ember engines * woops comma * fix k8 test * update message error component for last! * hold off MessageError changes until next pr * revert test selectors * update pki tests * UI: part 3 remove alert banner (#21334) * final component swap * and actual final of MessageError * update MessageError selectors * delete alert-banner and remove references * update next step alerts to highlight color * finishing touches, auth form test and client dashboard inline link * fix more selectors * fix shamir flow test * ui: part 4 final cleanup (#21365) * replace AlertPopup * add test tag * move tag * one more message error tag * delete alert popup * final css cleanup * move preformatted flash into <p> tag * ui: address comments for sidebranch (#21388) * add periods, move link to trailing * more periods and typo fix
89 lines
3.1 KiB
Handlebars
89 lines
3.1 KiB
Handlebars
<PageHeader as |p|>
|
|
<p.top>
|
|
<nav class="breadcrumb" aria-label="breadcrumbs">
|
|
<ul>
|
|
<li>
|
|
<span class="sep">/</span>
|
|
<LinkTo @route="vault.cluster.secrets.backend.overview" @model={{@backendPath}}>
|
|
{{@backendPath}}
|
|
</LinkTo>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</p.top>
|
|
<p.levelLeft>
|
|
<h1 data-test-title class="title is-3">
|
|
{{@roleName}}
|
|
</h1>
|
|
</p.levelLeft>
|
|
</PageHeader>
|
|
|
|
<div class={{if @roleType "box is-fullwidth is-sideless is-marginless"}}>
|
|
{{! If no role type, that means both static and dynamic requests returned an error }}
|
|
{{#unless @roleType}}
|
|
<EmptyState
|
|
@title={{this.errorTitle}}
|
|
@subTitle="Error {{@model.errorHttpStatus}}"
|
|
@icon="alert-circle"
|
|
@bottomBorder={{true}}
|
|
@message={{@model.errorMessage}}
|
|
>
|
|
<nav class="breadcrumb" aria-label="help breadcrumb">
|
|
<ul class="is-grouped-split">
|
|
<li>
|
|
{{! Empty because they can't go "back" anywhere }}
|
|
</li>
|
|
<li>
|
|
<DocLink @path="/vault/docs/secrets/databases" @class="has-text-grey">
|
|
Need help?
|
|
</DocLink>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</EmptyState>
|
|
{{/unless}}
|
|
{{#if (and (not @model.errorMessage) (eq @roleType "dynamic"))}}
|
|
<Hds::Alert @type="inline" @color="warning" class="has-top-bottom-margin" as |A|>
|
|
<A.Title>Warning</A.Title>
|
|
<A.Description>
|
|
You will not be able to access these credentials later, so please copy them now.
|
|
</A.Description>
|
|
</Hds::Alert>
|
|
{{/if}}
|
|
{{! DYNAMIC ROLE }}
|
|
{{#if (and (eq @roleType "dynamic") @model.username)}}
|
|
<InfoTableRow @label="Username" @value={{@model.username}}>
|
|
<MaskedInput @value={{@model.username}} @name="Username" @displayOnly={{true}} @allowCopy={{true}} />
|
|
</InfoTableRow>
|
|
<InfoTableRow @label="Password" @value={{@model.password}}>
|
|
<MaskedInput @value={{@model.password}} @name="Password" @displayOnly={{true}} @allowCopy={{true}} />
|
|
</InfoTableRow>
|
|
<InfoTableRow @label="Lease ID" @value={{@model.leaseId}} />
|
|
<InfoTableRow @label="Lease Duration" @value={{format-duration @model.leaseDuration}} />
|
|
{{/if}}
|
|
{{! STATIC ROLE }}
|
|
{{#if (and (eq @roleType "static") @model.username)}}
|
|
<InfoTableRow
|
|
@label="Last Vault rotation"
|
|
@value={{date-format @model.lastVaultRotation "MMMM d yyyy, h:mm:ss a"}}
|
|
@tooltipText={{@model.lastVaultRotation}}
|
|
@isTooltipCopyable={{true}}
|
|
/>
|
|
<InfoTableRow @label="Password" @value={{@model.password}}>
|
|
<MaskedInput @value={{@model.password}} @name="Password" @displayOnly={{true}} @allowCopy={{true}} />
|
|
</InfoTableRow>
|
|
<InfoTableRow @label="Username" @value={{@model.username}} />
|
|
<InfoTableRow @label="Rotation Period" @value={{format-duration @model.rotationPeriod}} />
|
|
<InfoTableRow @label="Time Remaining" @value={{format-duration @model.ttl}} />
|
|
{{/if}}
|
|
</div>
|
|
<div class="has-top-bottom-margin">
|
|
<button
|
|
type="button"
|
|
onclick={{action "redirectPreviousPage"}}
|
|
class="button is-primary"
|
|
data-test-secret-generate-back="true"
|
|
>
|
|
Back
|
|
</button>
|
|
</div> |