We don't have to split our code base just because the Terraform
framework can't figure out how to only require one implementation to be
used in two ways. We combine this stuff into a single file because
conceptually a Data Source is just a Resource that cannot be created,
updated, or deleted. Conversly, a Resource is a Data Source that can
also be created, updated, and deleted. Either way, we don't need extra
files for the sake of extra files.
We don't have to split our code base just because the Terraform framework can't figure out how to only require one implementation to be used in two ways. We combine this stuff into a single file because conceptually a Data Source is just a Resource that cannot be created, updated, or deleted. Conversly, a Resource is a Data Source that can also be created, updated, and deleted. Either way, we don't need extra files for the sake of extra files.