Updating the credentials for a datasource is generally done using these sorts of JSON passed to UpdateDatasourceAsync...
"encryptedConnection": "Encrypted | NotEncrypted", // chose one
"privacyLevel": "None | Private | Organizational | Public", // chose one
* Is this documented anywhere? e.g. what should the format for 'credentials' be for other types of datasources? I feel that we shouldn't have to come to this forum for this sort of information.
* Rather than crafting a JSON string, it would be good if the PowerBI Client SDK supported a strongly-typed class for each datasource type.
* EncryptedConnection/PrivacyLevel/EncryptedAlgorithm: is there any documentation around these at all? When should they be used? What types of datasource do they apply to?
* Datasource Name: The datasource object that is returned by various APIs has a 'DatasourceName' property - this is invariably blank. It would be handy to have this populated in the event that a report had multiple datasources of the same type - it is possible to distinguish between them via the ConnectionDetails property, however that is a bit tricky. I'm assuming that this relies on Power BI Desktop supporting datasource names that it currently doesn't.
After a few research, I haven't found any useful documentation to better understand the format of credentials for Gateways.UpdateDatasourceAsync.
It seems to be that the documentation for Power BI Embedded libraries for .NET isn't helpful enough currently. So I would suggest you leave a comments here(bottom of the page) to give your feedback and improve the documentation.