As long as the `AwsCredentials` type implements `StringCredentials`, the ID is used for the name. But if it extends any of the other credentials types (`StandardUsernamePasswordCredentials` etc), even individually, the fallback text appears instead.
I initially wondered if this could have been a bug in the credentials type definitions themselves so tried spawning some creds in the local disk-backed creds provider. But the names all worked properly, so the credentials type definitions are fine.
One interesting thing is that when AWS credentials are shown in the list view, no matter what credentials interface I tell the `AwsCredentials` class to implement instead of `StringCredentials`, it is always presented as 'secret text' (with the blue key icon). So it seems that the `AwsCredentials` objects are always being treated as `StringCredentials`, even when they do not implement that type. And when they don't fit the `StringCredentials` form I guess the default descriptor message is used to fill in the blanks.