Using latest RH-SSO 7.2.5 :
1) create an identity provider from admin console (for example a SAMLv2.0 identity provider) and populate its settings
2) query the IDP settings via kcadm:
./kcadm.sh get identity-provider/instances/adfs_sbb_prod -r master
3) Save the outputs in a .json file
4) Edit the .json file and make changes on some attributes while also removing the line with "internalId" attribute:
"internalId" : "cda5b8cd-bdf1-4a42-a484-f74ee895f44c",
5) Run the kcadm update command to apply the changes as made in the .json file updated from 4)
./kcadm.sh update identity-provider/instances/adfs_sbb_prod -r master -f adfs_sbb_prod.json
6) Notice that the 'kcadm.sh update ...' completed fine without any errors returned on the terminal console. However the changes are not applied/saved in the identity-provider instance settings.
This can be verified from either Admin Console, or querying with the kcadm cli:
./kcadm.sh get identity-provider/instances/adfs_sbb_prod -r master
7) I tried to run the 'kcadm.sh update ...' with the "--merge" option, but this leads to error as 'HTTP error - 415 Unsupported Media Type':
./kcadm.sh update identity-provider/instances/adfs_sbb_prod -r master -f adfs_sbb_prod.json --merge
HTTP error - 415 Unsupported Media Type
8) NOTE: It is actually possible to change any specific attribute(s) of the identity-provider instance using the below command and that while NOT specifying any "internalId" of the same identity-provider instance
$ ./kcadm.sh update identity-provider/instances/adfs_sbb_prod -r master -s displayName="ADFS SBB Produktion ISSA-IVO"
$
So, why isn't it possible to make bulk changes in an identity-provider instance from .json file using kcadm cli, without specifying the "internalId" of the identity-provider in the json file ?
Also, why does the merge option returns error as 'HTTP error - 415 Unsupported Media Type' ?