What is the difference between community.general.terraform and cloud.terraform.terraform module?

Sine the release of cloud.terraform collection, I thought community.general.terraform module will not be maintained.

But it seems the community.general.terraform still be maintained. (latest commit is here)

Is the community.general.terraform not deprecated or deprecated?
And what is the difference between community.general.terraform and cloud.terraform.terraform module?

There was a discussion about this in the community-topics repo (Remove or deprecate community.general.terraform · Issue #192 · ansible-community/community-topics · GitHub).

The cloud.terraform collection took that module from community.general without talking to anyone, which resulted in some parallel development. When that issue was created there also was the problem that cloud.terraform isn’t part of the Ansible community package (they never applied for inclusion), and the inclusion rules (which apply for community.general) disallow moving modules or plugins from collections included in the Ansible community package to collections outside of Ansible. There is a discussion of changing that rule (Should we allow moving content out of community.general and community.network to collections that are not part of Ansible? · Issue #167 · ansible-community/community-topics · GitHub, now moved to Should we allow moving content out of community.general and community.network to collections that are not part of Ansible? in this forum), but it didn’t really go anywhere yet.

So the current state is that both collections have this module, and development happens in both repositories by different people. Which IMO is quite unfortunate.

1 Like

@felixfontein Than you for the detail.

Personally, I would prefer to unify with cloud.terrafrom for reasons of development efficiency.