vault/ui/app/components/tools/random.hbs
Vault Automation 9932623861
UI: Feature Descriptions (#12737) (#13055)
* add and update feature descriptions

* add description doc links, improve spacing,  remove dividers

* update tests

* Update ui/app/components/recovery/page/snapshots/load.hbs



* update seal action and tests

* use description argument for simple descriptions

* clean up

* update with finalized descriptions

* updated policy descriptions

* update client count description

* fix typo and update tests

* update tests

* more test updates

* Apply suggestions from code review



---------

Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
2026-03-18 11:03:29 -05:00

67 lines
2.3 KiB
Handlebars

{{!
Copyright IBM Corp. 2016, 2025
SPDX-License-Identifier: BUSL-1.1
}}
<Page::Header
@title="Random bytes"
@description="Use Vault as a cryptographically secure entropy source to generate high-quality random bytes for external applications."
>
<:breadcrumbs>
<Page::Breadcrumbs @breadcrumbs={{this.breadcrumbs}} />
</:breadcrumbs>
</Page::Header>
{{#if this.randomBytes}}
<div class="box is-fullwidth is-marginless">
<label for="rand" class="is-label">Random bytes</label>
<Hds::Copy::Snippet
@textToCopy={{this.randomBytes}}
@color="secondary"
data-test-tools-input="random-bytes"
@onError={{fn (set-flash-message "Clipboard copy failed. The Clipboard API requires a secure context." "danger")}}
/>
</div>
<div class="field is-grouped box is-fullwidth is-bottomless">
<Hds::Button @text="Done" @color="secondary" {{on "click" this.reset}} data-test-button="Done" />
</div>
{{else}}
<form {{on "submit" this.handleSubmit}}>
<div class="box is-fullwidth is-marginless">
<MessageError @errorMessage={{this.errorMessage}} />
<div class="field is-horizontal">
<div class="field-body">
<div class="field">
<label for="bytes" class="is-label">
Number of bytes
</label>
<div class="control">
<Input id="bytes" class="input" @value={{this.bytes}} @type="number" data-test-tools-input="bytes" />
</div>
</div>
<div class="field">
<label for="format" class="is-label">
Output format
</label>
<div class="control is-expanded">
<div class="select is-fullwidth">
<select name="format" id="format" {{on "input" this.handleSelect}}>
{{#each (array "base64" "hex") as |formatOption|}}
<option selected={{eq this.format formatOption}} value={{formatOption}}>
{{formatOption}}
</option>
{{/each}}
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="field is-grouped box is-fullwidth is-bottomless">
<div class="control">
<Hds::Button @text="Generate" type="submit" data-test-submit />
</div>
</div>
</form>
{{/if}}