Merge pull request #948 from hashicorp/feat-typed-host

Feat typed host
This commit is contained in:
Dharini Jeeva authored and GitHub committed 2022-02-14 09:46:21 -08:00
commit a119c97a3b
8 files changed
+285 -103

No files matched your search

+9 -11
View File
@@ -97,13 +97,6 @@ host-catalog:
dynamic:
label: Dynamic
help: Automate discovery of target hosts and services on Azure or AWS
form:
provider:
label: Provider Details
description: This is the provider for this host catalog. The format of the host set filters are specific to each provider.
choose_a_provider:
label: Choose a provider
description: There are several built-in plugins for the most common providers. You can choose from on of the included plugins or use a custom plugin.
host-set:
title: Host Set
title_plural: Host Sets
@@ -156,10 +149,15 @@ host:
create: New Host
delete: Delete Host
types:
static: Static
unknown: Unknown
aws: AWS
azure: Azure
static:
label: Static
help: Provide a list of hosts and host sets with static addresses
unknown:
label: Unknown
aws:
label: AWS
azure:
label: Azure
session:
title: Session
title_plural: Sessions
@@ -54,10 +54,8 @@
/>
<form.fieldset>
<:title>{{t 'resources.host-catalog.form.provider.label'}}</:title>
<:description>{{t
'resources.host-catalog.form.provider.description'
}}</:description>
<:title>{{t 'form.provider.label'}}</:title>
<:description>{{t 'form.provider.description'}}</:description>
<:body>
<form.radioGroup
@@ -54,10 +54,8 @@
/>
<form.fieldset>
<:title>{{t 'resources.host-catalog.form.provider.label'}}</:title>
<:description>{{t
'resources.host-catalog.form.provider.description'
}}</:description>
<:title>{{t 'form.provider.label'}}</:title>
<:description>{{t 'form.provider.description'}}</:description>
<:body>
<form.radioGroup
@@ -0,0 +1,83 @@
<Rose::Form
@onSubmit={{@submit}}
@cancel={{@cancel}}
@disabled={{@model.isSaving}}
@error={{@model.errors.base}}
@showEditToggle={{if @model.isNew false true}}
as |form|
>
<form.input
@value={{@model.type}}
@label={{t 'form.type.label'}}
readonly={{true}}
@disabled={{true}}
/>
<form.input
@name='name'
@type='name'
@value={{@model.name}}
@label={{t 'form.name.label'}}
@error={{@model.errors.name}}
@helperText={{t 'form.name.help'}}
readonly={{false}}
as |field|
>
{{#if @model.errors.name}}
<field.errors as |errors|>
{{#each @model.errors.name as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.input>
<form.textarea
@name='description'
@type='description'
@value={{@model.description}}
@label={{t 'form.description.label'}}
@error={{@model.errors.description}}
@helperText={{t 'form.description.help'}}
disabled={{@model.isSaving}}
readonly={{false}}
as |field|
>
{{#if @model.errors.description}}
<field.errors as |errors|>
{{#each @model.errors.description as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.textarea>
<form.fieldset>
<:title>{{t 'form.provider.label'}}</:title>
<:body>
<form.radioGroup
@name='provider'
@selectedValue={{@model.compositeType}}
@disabled={{true}}
as |radioGroup|
>
<radioGroup.card
@label={{t 'resources.host.types.aws.label'}}
@value={{@model.compositeType}}
@layout='tile'
@icon={{concat 'flight-icons/svg/' @model.compositeType '-color-16'}}
/>
</form.radioGroup>
</:body>
</form.fieldset>
{{#if (can 'save model' @model)}}
<form.actions
@disabled={{if @model.cannotSave @model.cannotSave}}
@enableEditText={{t 'actions.edit-form'}}
@submitText={{t 'actions.save'}}
@cancelText={{t 'actions.cancel'}}
/>
{{/if}}
</Rose::Form>
@@ -0,0 +1,83 @@
<Rose::Form
@onSubmit={{@submit}}
@cancel={{@cancel}}
@disabled={{@model.isSaving}}
@error={{@model.errors.base}}
@showEditToggle={{if @model.isNew false true}}
as |form|
>
<form.input
@value={{@model.type}}
@label={{t 'form.type.label'}}
readonly={{true}}
@disabled={{true}}
/>
<form.input
@name='name'
@type='name'
@value={{@model.name}}
@label={{t 'form.name.label'}}
@error={{@model.errors.name}}
@helperText={{t 'form.name.help'}}
readonly={{false}}
as |field|
>
{{#if @model.errors.name}}
<field.errors as |errors|>
{{#each @model.errors.name as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.input>
<form.textarea
@name='description'
@type='description'
@value={{@model.description}}
@label={{t 'form.description.label'}}
@error={{@model.errors.description}}
@helperText={{t 'form.description.help'}}
disabled={{@model.isSaving}}
readonly={{false}}
as |field|
>
{{#if @model.errors.description}}
<field.errors as |errors|>
{{#each @model.errors.description as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.textarea>
<form.fieldset>
<:title>{{t 'form.provider.label'}}</:title>
<:body>
<form.radioGroup
@name='provider'
@selectedValue={{@model.compositeType}}
@disabled={{true}}
as |radioGroup|
>
<radioGroup.card
@label={{t 'resources.host.types.azure.label'}}
@value={{@model.compositeType}}
@layout='tile'
@icon={{concat 'flight-icons/svg/' @model.compositeType '-color-16'}}
/>
</form.radioGroup>
</:body>
</form.fieldset>
{{#if (can 'save model' @model)}}
<form.actions
@disabled={{if @model.cannotSave @model.cannotSave}}
@enableEditText={{t 'actions.edit-form'}}
@submitText={{t 'actions.save'}}
@cancelText={{t 'actions.cancel'}}
/>
{{/if}}
</Rose::Form>
+18 -82
View File
@@ -1,82 +1,18 @@
<Rose::Form
@onSubmit={{@submit}}
@cancel={{@cancel}}
@disabled={{@model.isSaving}}
@error={{@model.errors.base}}
@showEditToggle={{if @model.isNew false true}}
as |form|
>
<form.input
@value={{@model.type}}
@label={{t 'form.type.label'}}
readonly={{true}}
@disabled={{true}}
/>
<form.input
@name='name'
@type='name'
@value={{@model.name}}
@label={{t 'form.name.label'}}
@error={{@model.errors.name}}
@helperText={{t 'form.name.help'}}
readonly={{false}}
as |field|
>
{{#if @model.errors.name}}
<field.errors as |errors|>
{{#each @model.errors.name as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.input>
<form.textarea
@name='description'
@type='description'
@value={{@model.description}}
@label={{t 'form.description.label'}}
@error={{@model.errors.description}}
@helperText={{t 'form.description.help'}}
disabled={{@model.isSaving}}
readonly={{false}}
as |field|
>
{{#if @model.errors.description}}
<field.errors as |errors|>
{{#each @model.errors.description as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.textarea>
<form.input
@name='address'
@type='text'
@value={{@model.attributes.address}}
@label={{t 'form.address.label'}}
@error={{@model.errors.name}}
@helperText={{t 'form.address.help'}}
readonly={{false}}
as |field|
>
{{#if @model.errors.name}}
<field.errors as |errors|>
{{#each @model.errors.name as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.input>
{{#if (can 'save model' @model)}}
<form.actions
@disabled={{if @model.cannotSave @model.cannotSave}}
@enableEditText={{t 'actions.edit-form'}}
@submitText={{t 'actions.save'}}
@cancelText={{t 'actions.cancel'}}
/>
{{/if}}
</Rose::Form>
{{#if @model.compositeType}}
{{component
(concat 'form/host/' @model.compositeType)
model=@model
submit=@submit
cancel=@cancel
}}
{{else}}
{{! create-and-add-host cancel route doesn't
have a model and this else part is required to prevent
erroring out here. This has been noted in the tech debt doc to further investigate }}
{{component
(concat 'form/host/' 'static')
model=@model
submit=@submit
cancel=@cancel
}}
{{/if}}
@@ -0,0 +1,82 @@
<Rose::Form
@onSubmit={{@submit}}
@cancel={{@cancel}}
@disabled={{@model.isSaving}}
@error={{@model.errors.base}}
@showEditToggle={{if @model.isNew false true}}
as |form|
>
<form.input
@value={{@model.type}}
@label={{t 'form.type.label'}}
readonly={{true}}
@disabled={{true}}
/>
<form.input
@name='name'
@type='name'
@value={{@model.name}}
@label={{t 'form.name.label'}}
@error={{@model.errors.name}}
@helperText={{t 'form.name.help'}}
readonly={{false}}
as |field|
>
{{#if @model.errors.name}}
<field.errors as |errors|>
{{#each @model.errors.name as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.input>
<form.textarea
@name='description'
@type='description'
@value={{@model.description}}
@label={{t 'form.description.label'}}
@error={{@model.errors.description}}
@helperText={{t 'form.description.help'}}
disabled={{@model.isSaving}}
readonly={{false}}
as |field|
>
{{#if @model.errors.description}}
<field.errors as |errors|>
{{#each @model.errors.description as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.textarea>
<form.input
@name='address'
@type='text'
@value={{@model.attributes.address}}
@label={{t 'form.address.label'}}
@error={{@model.errors.name}}
@helperText={{t 'form.address.help'}}
readonly={{false}}
as |field|
>
{{#if @model.errors.name}}
<field.errors as |errors|>
{{#each @model.errors.name as |error|}}
<errors.message>{{error.message}}</errors.message>
{{/each}}
</field.errors>
{{/if}}
</form.input>
{{#if (can 'save model' @model)}}
<form.actions
@disabled={{if @model.cannotSave @model.cannotSave}}
@enableEditText={{t 'actions.edit-form'}}
@submitText={{t 'actions.save'}}
@cancelText={{t 'actions.cancel'}}
/>
{{/if}}
</Rose::Form>
@@ -29,7 +29,9 @@
<row.cell>
{{#if host.isStatic}}
<Rose::Badge>
{{t (concat 'resources.host.types.' host.compositeType)}}
{{t
(concat 'resources.host.types.' host.compositeType '.label')
}}
</Rose::Badge>
{{else}}
<Rose::Badge
@@ -39,7 +41,9 @@
'-color-16'
}}
>
{{t (concat 'resources.host.types.' host.compositeType)}}
{{t
(concat 'resources.host.types.' host.compositeType '.label')
}}
</Rose::Badge>
{{/if}}
</row.cell>