vault/ui/app/models/mount-config.js
Dan Rivera fbb446f974
UI: Custom login settings views (#30592)
* UI: Adding routes for custom login settings  (#30404)

* adding route block

* adding to side nav

* jk its diff

* adding TODO, adding empty files

* UI: Adding List view component for custom login settings (#30459)

* first pass setting up list view

* style fix

* messing with routes

* fix

* undo

* using mock data

* renaming

* [UI] API Service Error Parsing (#30454)

* adds error parsing method to api service

* replaces apiErrorMessage util instances with api service parseError

* removes apiErrorMessage util and tests

* removes ApiError type

* fixes issue in isLocalStorageSupported error handling

* remove cli folder (#30458)

* [DOCS] Add explicit links to older release notes (#30461)

* Add explicit links to older release notes

* remove domain from URLs

* add link to important changes as well

* bump timeout for single flaky test (#30460)

* adds list response parsing to api service (#30455)

* update versions, and replace summary in important changes section (#30471)

* Update CHANGELOG.md (#30456)

* UI: Update Enterprise Client Count Datepicker (#30349)

* date picker changes (mostly) for ent client counts

* Move edit modal button + padding

* only show start time in dropdown and add changelog

* remove unused variable and update toggle width

* remove unnecessary period end dates

* tidy

* update tests

* Update changelog/30349.txt

Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>

* improve date logic

* add export button back in, re-arrange header, update dropdown

* update when date is shown

* add default for retention months

* update tests and remove unnecessary tests

* account for retention months that are not whole periods

* update logic to show end date on export modal

* update exported file name

---------

Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>

* Prevent early-exit of plugin reload (#30329)

* update to use util, update to this.cap

---------

Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
Co-authored-by: Ellie <ellie.sterner@hashicorp.com>
Co-authored-by: Tony Wittinger <anwittin@users.noreply.github.com>
Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: kpcraig <3031348+kpcraig@users.noreply.github.com>

* UI: Create details component for custom login rules (#30530)

* setup

* adding to view

* fixing table keys

* add breadcrumbs

* fixes

* removing default vals

* pr comments

* adding delete button to toolbar

* adding delete functionality

* reorder and fix error handling

* updating api call, adding error template, fixing selectors

* remove param

* UI: Updating visibility attr on auth config to be a toggle with direct login link (#30548)

* updating visibility attr to be a toggle, adding link placeholder

* update test

* test fix pt2

* updating to build link + copy button

* updates

* use the right word

* using hds text

* updating helper text, path

* use encode directly

* updating capabilities check, creating test files, empty state

* UI: Update custom login to use api instead of mirage (#30640)

* updating to use api, removing store

* temp test fix

* fixes on types, remove test funcs

* fix assertion

* adding tests

* updating test

* adding to tests

* stub delete?

* removing stubs, updating tests

* fixes

* moving cmd placement, updating inheritance

* adding changelog

* fix changelog

* pr comments

* update check & update test

* remove empty state block

* remove comment

* Revert "remove empty state block"

This reverts commit ce34d8c76fea3b43bb96c6acd342a5ba0471f441.

* remove the right empty state

---------

Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
Co-authored-by: Ellie <ellie.sterner@hashicorp.com>
Co-authored-by: Tony Wittinger <anwittin@users.noreply.github.com>
Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: kpcraig <3031348+kpcraig@users.noreply.github.com>
2025-05-22 14:17:14 -04:00

120 lines
3.7 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import Model, { attr } from '@ember-data/model';
export default class MountConfigModel extends Model {
@attr({
label: 'Default Lease TTL',
editType: 'ttl',
})
defaultLeaseTtl;
@attr({
label: 'Max Lease TTL',
editType: 'ttl',
})
maxLeaseTtl;
@attr({
label: 'Request keys excluded from HMACing in audit',
editType: 'stringArray',
helpText: "Keys that will not be HMAC'd by audit devices in the request data object.",
})
auditNonHmacRequestKeys;
@attr({
label: 'Response keys excluded from HMACing in audit',
editType: 'stringArray',
helpText: "Keys that will not be HMAC'd by audit devices in the response data object.",
})
auditNonHmacResponseKeys;
@attr('mountVisibility', {
label: 'Use as preferred UI login method',
editType: 'toggleButton',
helperTextEnabled:
'This mount will be included in the unauthenticated UI login endpoint and display as a preferred login method.',
helperTextDisabled:
'Turn on the toggle to use this auth mount as a preferred login method during UI login.',
defaultValue: false,
})
listingVisibility;
@attr({
label: 'Allowed passthrough request headers',
helpText: 'Headers to allow and pass from the request to the backend',
editType: 'stringArray',
})
passthroughRequestHeaders;
@attr({
label: 'Allowed response headers',
helpText: 'Headers to allow, allowing a plugin to include them in the response.',
editType: 'stringArray',
})
allowedResponseHeaders;
@attr('string', {
label: 'Token type',
helpText:
'The type of token that should be generated via this role. For `default-service` and `default-batch` service and batch tokens will be issued respectively, unless the auth method explicitly requests a different type.',
possibleValues: ['default-service', 'default-batch', 'batch', 'service'],
noDefault: true,
})
tokenType;
@attr({
editType: 'stringArray',
})
allowedManagedKeys;
@attr('string', {
label: 'Plugin version',
subText:
'Specifies the semantic version of the plugin to use, e.g. "v1.0.0". If unspecified, the server will select any matching un-versioned plugin that may have been registered, the latest versioned plugin registered, or a built-in plugin in that order of precedence.',
})
pluginVersion;
// identityTokenKey is yielded in a named block on the mount-backend-form component
@attr({
label: 'Identity token key',
subText: `A named key to sign tokens. If not provided, this will default to Vault's OIDC default key.`,
editType: 'yield',
})
identityTokenKey;
// Auth mount userLockoutConfig params, added to user_lockout_config object in saveModel method
@attr('string', {
label: 'Lockout threshold',
subText: 'Specifies the number of failed login attempts after which the user is locked out, e.g. 15.',
})
lockoutThreshold;
@attr({
label: 'Lockout duration',
helperTextEnabled: 'The duration for which a user will be locked out, e.g. "5s" or "30m".',
editType: 'ttl',
helperTextDisabled: 'No lockout duration configured.',
})
lockoutDuration;
@attr({
label: 'Lockout counter reset',
helperTextEnabled:
'The duration after which the lockout counter is reset with no failed login attempts, e.g. "5s" or "30m".',
editType: 'ttl',
helperTextDisabled: 'No reset duration configured.',
})
lockoutCounterReset;
@attr('boolean', {
label: 'Disable lockout for this mount',
subText: 'If checked, disables the user lockout feature for this mount.',
})
lockoutDisable;
// end of user_lockout_config params
}