this seems essentially liariable.  Can't we make this a parameter of the methods and use partial evaluation to return the action, i.e.

Action<string > returnedAction = (x, y) => cacheRoleConfigurationActions[version](sdkVersion, x, y)