Help with Index & List Logic

@apparentlymart - What is the approach to to reference a resource which is using for_each?

I have tried each.key and each.value with no luck.

resource "random_password" "sql_server_password" {
  for_each = toset(var.db_names)

  length = 32
  special = true
}


resource "azurerm_sql_server" "sqlserver" {
  for_each = toset(var.db_names)

  name                         = "${format("%s%s%s-sqlserver-%s", lower(var.environment_code), lower(var.deployment_code), lower(var.location_code), lower(each.value))}"
  resource_group_name          = "${var.resource_group_name}"
  location                     = "${var.azure_location}"
  version                      = "${var.sql_version}"
  administrator_login          = "${format("%s_%s", each.value, "admin")}"
  administrator_login_password = "${random_password.sql_server_password.*.result[each.value]}"

  provisioner "local-exec" {
    command = "${format("echo fully qualified sql server domain name %s", self.fully_qualified_domain_name)}"
  }
}

Results:

Error: Unsupported attribute

  on ../modules/sql_server_database/main.tf line 18, in resource "azurerm_sql_server" "sqlserver":
  18:   administrator_login_password = "${random_password.sql_server_password.*.result[each.value]}"

This object does not have an attribute named "result".

or

Error: Invalid index

  on ../modules/sql_server_database/main.tf line 18, in resource "azurerm_sql_server" "sqlserver":
  18:   administrator_login_password = "${random_password.sql_server_password.*.result[each.key]}"
    |----------------
    | each.key is "db2"
    | random_password.sql_server_password is object with 2 attributes

The given key does not identify an element in this collection value: a number
is required.```