Feature request: Add dedicated command to switch between existing profiles (avoid accidental creation)
Hi! I’ve been using CloudMonkey with multiple profiles and noticed a usability issue with the current set profile command.
Right now, set profile
- When creating a profile, you run:
set profile <new_profile_name> set url <api_url> set apikey <api_key> set secretkey <secret_key> [optional: set username / set domain]
- When switching between profiles, you also run:
set profile <existing_profile_name>
The problem is that if you mistype the profile name when trying to switch, CloudMonkey silently creates a new empty profile instead of switching, which can be confusing and lead to misconfiguration.
Proposal:
Add a dedicated command for switching between existing profiles — one that does not create new profiles if the name doesn’t match. For example:
switch profile <profile_name>
or
use profile <profile_name>
This would:
- Prevent accidental creation of unwanted profiles.
- Make the intent clearer by separating profile creation from profile switching.
- Improve usability when working with multiple CloudStack connections.
The current set profile could remain for profile creation/configuration to preserve backward compatibility.
@luganofer , there is tab-completion for set profile, listing all existing profiles. This would also prevent you from mis-typing. Would that be enough?
And say we add switch profile , would we still allow switching using set profile <name>, or would you expect that to error out if the name exists?
If we want to avoid all misunderstandings we should deprecate set profile <name> and create both switch and create commands.
I’ve been using cmk for very long and must admit I bumped into to this once, over the years. That does not give me a big feel of urgency to fix it. (not completely against it but just wonder if it has enough value to change it)
@luganofer , there is tab-completion for set profile, listing all existing profiles. This would also prevent you from mis-typing. Would that be enough?
And say we add
switch profile, would we still allow switching usingset profile <name>, or would you expect that to error out if the name exists?If we want to avoid all misunderstandings we should deprecate
set profile <name>and create bothswitchandcreatecommands.I’ve been using cmk for very long and must admit I bumped into to this once, over the years. That does not give me a big feel of urgency to fix it. (not completely against it but just wonder if it has enough value to change it)
Hi @DaanHoogland ,
I completely agree with you. It's not urgent, it's just an idea for improvement. The tab autocomplete works well and is very useful. But I think it's much better to have two different commands for creating and switching between profiles to avoid errors and confusions.
@DaanHoogland @luganofer what do you expect create profile to do? Just create a new profile and not switch to it?
My opinion is to keep it simple and just add a switch command.
@DaanHoogland @luganofer what do you expect
create profileto do? Just create a new profile and not switch to it? My opinion is to keep it simple and just add aswitchcommand.
so switch is set but do not create, right? sounds good enough to me.
@luganofer can you please check #192? You can get the binary with changes in the PR