4a9669a1bc
* Add type param to secret show, handle CG in database role show * If roleType is passed to credential, only make one creds API call * Clean up db role adapter and serializer * url param roleType passed to credentials call * Role list capabilities check for static and dynamic separately * Add changelog * Consistent adapter response for single or double call * Prioritize dynamic response if control group on role/creds
84 lines
3.1 KiB
Handlebars
84 lines
3.1 KiB
Handlebars
{{#linked-block
|
|
"vault.cluster.secrets.backend.show"
|
|
(if this.keyTypeValue (concat 'role/' @item.id) @item.id)
|
|
class="list-item-row"
|
|
data-test-secret-link=@item.id
|
|
encode=true
|
|
queryParams=(secret-query-params @backendType @item.type)
|
|
}}
|
|
<div class="columns is-mobile">
|
|
<div class="column is-10">
|
|
<LinkTo
|
|
@route={{concat "vault.cluster.secrets.backend.show" }}
|
|
@model={{if this.keyTypeValue (concat 'role/' @item.id) @item.id}}
|
|
@query={{secret-query-params @backendType @item.type}}
|
|
class="has-text-black has-text-weight-semibold"
|
|
>
|
|
<Icon
|
|
@glyph="user-square-outline"
|
|
class="has-text-grey-light is-pulled-left"
|
|
/>
|
|
<div class="role-item-details">
|
|
<span class="is-underline">{{if (eq @item.id ' ') '(self)' (or @item.keyWithoutParent @item.id)}}</span>
|
|
<span class="tag has-text-grey-dark">{{this.keyTypeValue}}</span>
|
|
</div>
|
|
</LinkTo>
|
|
</div>
|
|
<div class="column has-text-right">
|
|
<PopupMenu name="secret-menu">
|
|
<nav class="menu">
|
|
<ul class="menu-list">
|
|
{{#if @item.canEdit}}
|
|
<li class="action">
|
|
<SecretLink
|
|
@mode="show"
|
|
@secret={{@item.id}}
|
|
@class="has-text-black has-text-weight-semibold">
|
|
Edit connection
|
|
</SecretLink>
|
|
</li>
|
|
{{/if}}
|
|
{{#if @item.canEditRole}}
|
|
<li class="action">
|
|
<SecretLink
|
|
@mode="edit"
|
|
@secret={{concat 'role/' @item.id}}
|
|
@class="has-text-black has-text-weight-semibold">
|
|
Edit Role
|
|
</SecretLink>
|
|
</li>
|
|
{{/if}}
|
|
{{#if @item.canReset}}
|
|
<li class="action">
|
|
<button type="button" class="link" {{on "click" (fn this.resetConnection @item.id)}}>
|
|
Reset connection
|
|
</button>
|
|
</li>
|
|
{{/if}}
|
|
{{#if (and (eq @item.type "dynamic") @item.canGenerateCredentials)}}
|
|
<li class="action">
|
|
<LinkTo @route="vault.cluster.secrets.backend.credentials" @model={{@item.id}} @query={{hash roleType=this.keyTypeValue}}>
|
|
Generate credentials
|
|
</LinkTo>
|
|
</li>
|
|
{{else if (and (eq @item.type "static") @item.canGetCredentials)}}
|
|
<li class="action">
|
|
<LinkTo @route="vault.cluster.secrets.backend.credentials" @model={{@item.id}} @query={{hash roleType=this.keyTypeValue}}>
|
|
Get credentials
|
|
</LinkTo>
|
|
</li>
|
|
{{/if}}
|
|
{{#if @item.canRotateRoot}}
|
|
<li class="action">
|
|
<button type="button" class="link" {{on "click" (fn this.rotateRootCred @item.id)}}>
|
|
Rotate root credentials
|
|
</button>
|
|
</li>
|
|
{{/if}}
|
|
</ul>
|
|
</nav>
|
|
</PopupMenu>
|
|
</div>
|
|
</div>
|
|
{{/linked-block}}
|