How to change only part of the map key=value pairs

I have this map which is working fine

parameter_write = [
  {
    name      = "/production/test/master/users"
    value     = "John,Todd"
    type      = "StringList"
    overwrite = "true"
  },
  {
    name      = "/production/test/master/password"
    value     = "somepassword"
    type      = "SecureString"
    overwrite = "true"
  },
  {
    name        = "/production/test/master/company"
    value       = "Amazon"
    type        = "String"
    overwrite   = "true"
    description = "Company name"
  }
]

However, I want to change partially each of the value = “something” in each part of the map
when I do something like this terraform plan -var 'parameter_write={value = "test"}' it changes every occurrence when I want to have more control over it and change only specific occurrences like by the index or something, Do I have a possibility to change the occurrences by the will or somehow pass a shell variable inside a tfvars like

parameter_write = [
  {
    name      = "/production/test/master/users"
    value     = ${SOME_VALUE_VARIABLE}
    type      = "StringList"
    overwrite = "true"
  },

Hope for your help as I’ve stuck with it.

I’m pretty sure this is impossible, as Input Variables - Configuration Language | Terraform by HashiCorp implies only literal data is acceptable in ways of specifying input variables.

You could consider separating out each individual part of the large data structure you want to override on the command line to separate Terraform variables.

If you do that, then environment variables named TF_VAR_<name> will set Terraform variables named <name>.

Alternatively if your data input needs have exceeded Terraform’s capabilities you could write a wrapper script in the language of your choice, which assembles the complete values, and saves them as JSON to a <something>.auto.tfvars.json file for Terraform to read in.