hashicorp / terraform-provider-template

Terraform template provider
https://www.terraform.io/docs/providers/template/
Mozilla Public License 2.0
131 stars 89 forks source link

Remove `filename` from `template_file` #20

Closed tomelliff closed 5 years ago

tomelliff commented 7 years ago

The deprecation of filename from template_file was done nearly 2 years ago.

As far as I know there's no good way in the resource schemas to mandate one parameter over another so the normal practice is to set both as optional, add a ConflictsWith key to both parameter and add a Deprecated key to the old parameter.

Unfortunately this means we can't use validate/plan to check that things are properly set and in this case even applying the config won't error other than to provide an empty rendered output to whatever uses it.

Is there a deprecation policy for how long things should be kept around for? It would be good to see filename ditched in the 1.0 release of the provider and probably a sensible time to make a breaking change.

apparentlymart commented 7 years ago

Hi @tomelliff,

Usually deprecation removals are driven primarily by the maintenance burden of the deprecated codepath. Since the template_file data source is not under regular development (it's essentially "done" from a feature standpoint, at least for now) there hasn't been a great pressure to follow through on the removal here, though indeed I agree it's confusing to have both approaches supported.

Unfortunately 1.0.0 was already released so it's too late to make this change for 1.0.0, but I've tagged this as "breaking-change" to remind us to consider it before the next major release.