mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-10-29 17:52:32 +00:00
* manual cherry pick to deal with all the merge things * changelog * test fixes * Update 28148.txt * fix tests failures after main merge * fix test failures after main merge * Add Access Type and conditionally render WIF fields (#28149) * initial work. * remove access_type * better no model logic well kind of * rollback attrs * remove defaults * stopping point * wip changing back to sidebranch * hustling shuffling and serializing * some of the component test coverage * disable acces type if editing * test coverage * hide max retries that sneaky bugger * cleanup * cleanup * Update root-config.js * remove flash message check, locally passes great but on ci flaky * clean up * thank you chelsea * test clean up per enterprise vs community * address pr comments * welp a miss add * UI (sidebranch) WIF Issuer field (#28187) * Add type declaration files for aws config models * use updated task syntax for save method on configure-aws * fix types on edit route * fetch issuer on configure edit page if aws + enterprise * track issuer within configure-aws component * add placeholder support on form-field * Add warning if issuer changed from previous value or could not be read * cleanup * preliminary tests * dont use while loop so we can test the modal * tests * cleanup * fix tests * remove extra tracked value and duplicate changed attrs check * modal footer --------- Co-authored-by: Angel Garbarino <argarbarino@gmail.com> * Display issuer on Configuration details (#28209) * display issuer on configuration details * workflow complete, now on to testing * handle issuer things * fix all the broken tests things * add test coveragE: * cleanup * rename model/adapter * Update configure-aws.ts * Update aws-configuration-test.js * 90 percent there for pr comments * last one for tonight * a few more because why not * hasDirtyAttributes fixes * revert back to previous noRead->queryIssuerError --------- Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
136 lines
4.7 KiB
Handlebars
136 lines
4.7 KiB
Handlebars
{{!
|
|
Copyright (c) HashiCorp, Inc.
|
|
SPDX-License-Identifier: BUSL-1.1
|
|
~}}
|
|
|
|
<form {{on "submit" (perform this.submitForm)}} aria-label="save aws creds" data-test-root-form>
|
|
<div class="box is-fullwidth is-shadowless is-marginless">
|
|
<NamespaceReminder @mode="save" @noun="configuration" />
|
|
<MessageError @errorMessage={{this.errorMessageRoot}} />
|
|
<p class="has-text-grey-dark">
|
|
Note: the client uses the official AWS SDK and will use the specified credentials, environment credentials, shared file
|
|
credentials, or IAM role/ECS task credentials in that order.
|
|
</p>
|
|
</div>
|
|
{{! Root configuration details }}
|
|
<h2 class="title is-5 has-bottom-padding-s has-top-margin-l" data-test-access-title>
|
|
Access to AWS
|
|
</h2>
|
|
<div class="box is-fullwidth is-sideless">
|
|
{{! WIF is an enterprise only feature. We default to IAM access type for community users and display only those related form fields. }}
|
|
{{#if this.version.isEnterprise}}
|
|
<fieldset class="field form-fieldset" id="protection" data-test-access-type-section>
|
|
<legend class="is-label">Access Type</legend>
|
|
<p class="sub-text" data-test-access-type-subtext>
|
|
{{#if this.disableAccessType}}
|
|
You cannot edit Access Type if you have already saved access credentials.
|
|
{{else}}
|
|
Choose the way to configure access to AWS. Access can be configured either with IAM access keys, or using Plugin
|
|
Workload Identity Federation (WIF).{{/if}}</p>
|
|
<div>
|
|
<RadioButton
|
|
id="access-type-iam"
|
|
name="iam"
|
|
class="radio"
|
|
data-test-access-type="iam"
|
|
@value="iam"
|
|
@groupValue={{this.accessType}}
|
|
@onChange={{fn this.onChangeAccessType "iam"}}
|
|
@disabled={{this.disableAccessType}}
|
|
/>
|
|
<label for="access-type-iam">IAM Credentials</label>
|
|
|
|
<RadioButton
|
|
id="access-type-wif"
|
|
name="wif"
|
|
class="radio has-left-margin-m"
|
|
data-test-access-type="wif"
|
|
@value="wif"
|
|
@groupValue={{this.accessType}}
|
|
@onChange={{fn this.onChangeAccessType "wif"}}
|
|
@disabled={{this.disableAccessType}}
|
|
/>
|
|
<label for="access-type-wif">Workflow Identity Federation</label>
|
|
</div>
|
|
</fieldset>
|
|
{{/if}}
|
|
{{#if (eq this.accessType "wif")}}
|
|
{{! WIF Fields }}
|
|
{{#each @issuerConfig.attrs as |attr|}}
|
|
<FormField @attr={{attr}} @model={{@issuerConfig}} />
|
|
{{/each}}
|
|
<FormFieldGroups
|
|
@model={{@rootConfig}}
|
|
@mode={{if @rootConfig.isNew "create" "edit"}}
|
|
@modelValidations={{this.modelValidationsRoot}}
|
|
@groupName="fieldGroupsWif"
|
|
/>
|
|
{{else}}
|
|
{{! IAM Fields }}
|
|
<FormFieldGroups
|
|
@model={{@rootConfig}}
|
|
@mode={{if @rootConfig.isNew "create" "edit"}}
|
|
@modelValidations={{this.modelValidationsRoot}}
|
|
@useEnableInput={{true}}
|
|
@groupName="fieldGroupsIam"
|
|
/>
|
|
{{/if}}
|
|
</div>
|
|
|
|
{{! Lease configuration details }}
|
|
<h2 class="title is-5 has-bottom-padding-s has-top-margin-l" data-test-lease-title>
|
|
Leases
|
|
</h2>
|
|
<div class="box is-fullwidth is-sideless is-bottomless">
|
|
{{#each @leaseConfig.attrs as |attr|}}
|
|
<FormField @attr={{attr}} @model={{@leaseConfig}} @modelValidations={{this.modelValidationsLease}} />
|
|
{{/each}}
|
|
</div>
|
|
|
|
<div class="box is-fullwidth is-bottomless">
|
|
<div class="control">
|
|
<Hds::Button
|
|
@text="Save"
|
|
@icon={{if this.save.isRunning "loading"}}
|
|
type="submit"
|
|
disabled={{this.save.isRunning}}
|
|
data-test-save
|
|
/>
|
|
<Hds::Button
|
|
@text="Cancel"
|
|
@color="secondary"
|
|
class="has-left-margin-s"
|
|
disabled={{this.save.isRunning}}
|
|
{{on "click" this.onCancel}}
|
|
data-test-cancel
|
|
/>
|
|
</div>
|
|
{{#if this.invalidFormAlert}}
|
|
<AlertInline
|
|
data-test-invalid-form-alert
|
|
class="has-top-padding-s"
|
|
@type="danger"
|
|
@message={{this.invalidFormAlert}}
|
|
/>
|
|
{{/if}}
|
|
</div>
|
|
</form>
|
|
|
|
{{#if this.saveIssuerWarning}}
|
|
<Hds::Modal @color="warning" @onClose={{action (mut this.saveIssuerWarning) ""}} data-test-issuer-warning as |M|>
|
|
<M.Header @icon="alert-circle">
|
|
Are you sure?
|
|
</M.Header>
|
|
<M.Body>
|
|
<p class="has-bottom-margin-s" data-test-issuer-warning-message>
|
|
{{this.saveIssuerWarning}}
|
|
</p>
|
|
</M.Body>
|
|
<M.Footer as |F|>
|
|
<Hds::ButtonSet>
|
|
<Hds::Button @text="Continue" {{on "click" this.continueSubmitForm}} data-test-issuer-save />
|
|
<Hds::Button @text="Cancel" @color="secondary" {{on "click" F.close}} data-test-issuer-cancel />
|
|
</Hds::ButtonSet>
|
|
</M.Footer>
|
|
</Hds::Modal>
|
|
{{/if}} |