There was confusion and misuse around cloudinit and cloudconfig.
This change switches things up so cloudinit is only used for the
legacy creation type and cloudconfig is used for all other creation
types.
Changes the textarea that was used for cloudconfig to
input-yaml to make it clear to users that they can enter yaml.
Switches the vmware cloud credential vcenter input to an input-url
so that we automatically strip the scheme from the input.
rancher/rancher#24314
The backend was setting the default to legacy so that the legacy
template would still work when users migrate to the latest
version of the driver. This was causing the default value to
be legacy when creating a new vsphere template. Forcing
the backend to change the default will likely lead to problems
with the migration so we're making the change on the front end.
Ultimately we use the existing set default logic if a vsphere template
is being created (as opposed to edited) instead of just when the
creation type doesn't exist or is invalid.
We also changed the text for the legacy value to be friendlier.
rancher/rancher#24060
When using an older vsphere node template in the latest version it was
possible that a user entered value would not be a valid option. When
the value isn't a valid option the dropdown has nothing selected. To
improve the UX we now notify the user that the current value is no
longer valid and sask them to select a new value.
rancher/rancher#23920
The backend has made a new implementation of creationType which allowed
me to remove the creationMethod concept and just use creationType.
This change allows us to properly populate the creation type form fields
when a user edits a vsphere nodetemplate.
rancher/rancher#23812
The keys for custom attributes needed to be unique. To enforce the
unique constraint I created the FormContextualKeyValue component.
This component behaves similarly to the FormContextualSelectArray
but handles key value pairs.
rancher/rancher#23782
When editing a vsphere node template that used a RancherOS ISO
creation method it crashed the page due to an array not existing.
I also noticed that the tags, custom attributes and networks weren't
loading when editing so I resolved those issues too.
rancher/rancher#23796
creationType was using the wrong values after refactoring to
combine two dropdowns into one. I renamed the existing
config.creationType to creationMethod and now observe
creationMethod to properly set config.creationType.
-We now prepopulate fields as select component instead of just
free-form text fields.
-We added support for cloning from different sources.
-We also added support for custom attributes and tags.
To implement the above features we also added support for promise
based content for new-select and search-select and created a new
component contextual-select-array which provides a method for
filtering content based on previous selections.
rancher/rancher#21580