This portal is to open public enhancement requests against IBM Cloud and its products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).
We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:
Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,
Post an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.
IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.
IBM Cloud Support Center (https://cloud.ibm.com/unifiedsupport/cases/form) – Use this site for any IBM Cloud defect or support need.
Stack Overflow (https://stackoverflow.com/questions/tagged/ibm-cloud) – Use this site for IBM Cloud technical Q&A using the tag "ibm-cloud".
firstname.lastname@example.org - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.
Thank you so much for providing all of this detail, it is super helpful. I will send this on to the CLI product team to review and they will get back to you with an answer.
For the most part, calling the API directly is the solution. However there are limitations. For example, APIs are defined called by an API key. Our use case need came about because our org is using IBM Enterprise. We are creating IBM Sub-accounts.
In our automation, the big problem was that we used one API key to call the enterprise api to create sub-account but then we needed the sub-accounts api to call schematics api to stand up environments from TF file.
The problem was there exists no API to achieve this, you need an API call on an account to interact with it programmatically.
After consulting IBM Architects and Federation team, we were advised, the only way to create new api-keys for new sub-accounts is through the CLI.
In order to generate a new api key on a sub-account during automated account creation, we created a docker image that logs onto the cli, into the default account and then switches to the target account using ibmcloud target -c subaccountid
Then we have the ibmcloud cli generate a new apikey and we retrieve its value and send it back to our provisioning system through a Flask endpoint.
ibmcloud iam api-key-create NAME --output JSON
Our biggest need was to use ibm cloud shell in any way to simply execute this. It was not possible when I evaluated it.
If we would have this feature, we hope it works something like this
Enterprise user creates sub-account using the apikey
Enterprise user uses same apikey to interact with cloud shell api to then pass in commands, like ibmcloud target -c subaccountidhere and get subaccount apikey or other values.
ibmcloud cli is also useful for info that current apis don't provide like IMS id, no api we know gets this info, we got it again using ibmcloud account show
ibmcloud account show --output JSON
Our docker solution was very helpful but many instances we wished to run even bash scripts and we looked at code platforms and had to bring our own docker image solution through code engine and using os library on functions, but this can all be avoided if we could just use the cloud shell and pass in linux terminal commands to either store and load a bash script and execute it and gets output through cloudshell api and retrieve it using api. That would be wonderful as cloud shell is already integrated onto the ibmcloud account.
We didn't fully understand the use case here - are you asking to have an API for the CLI to call the API ? wouldn't it be easier to call the API directly ?