Group LDAP Link Alignment

We have an open bug report about that it was documented that the gitlab_group_ldap_link resource supports import, but it doesn't (see #448 (closed)). I've aligned the doc with the implementation for now in #868.

However, I don't see any reason why the provider couldn't support importing.

Looking at the current implementation it seems that it's flawed anyways. The resource id is composed of the ldap_provider and cn at the moment:

https://github.com/gitlabhq/terraform-provider-gitlab/blob/2dea817440a8811138b791f3aac5df847546fd00/internal/provider/resource_gitlab_group_ldap_link.go#L108

... without respecting the group and while I'm not too familiar with the LDAP links I'd argue that this could clash, right?

Fixing this by e.g. using <group>:<ldap_provider>:<cn> would work, but introduce a backwards incompatibility. State Migrations don't work for ids, right? Is there a way to change that in a backwards-compatible way?

In addition, the API docs states that there is another field filter, which must be set if cn isn't and vice-versa. We don't support it yet. To properly support it and to properly support import and avoid clashing we'd need the id to be something like: <group>:<ldap_provider>:<cn>:<filter> - even if <cn> or <filter> is empty.

Would love to hear your insights @armsnyder :)

Edited by Timo Furrer