vault/ui/app/templates/components/generate-credentials-database.hbs
claire bontempo 76e742ba32
ui: HDS adoption replace <AlertBanner> component (#21375)
* 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
2023-06-21 11:37:11 -07:00

89 lines
3.1 KiB
Handlebars

<PageHeader as |p|>
<p.top>
<nav class="breadcrumb" aria-label="breadcrumbs">
<ul>
<li>
<span class="sep">&#x0002f;</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>