Search code examples
amazon-web-servicesterraformaws-msk

Unable to use IAM Access control method using terraform aws_msk_cluster resource


I am trying to develop a module to create AWS MSK. I would like to enable IAM authentication for MSK resource I am following the below link, but I don't see anything related to IAM authentication. [(https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/msk_cluster#sasl)]

dynamic "client_authentication" {
   for_each = var.client_tls_auth_enabled || var.client_sasl_iam_enabled ? [1] : []
   content {
     dynamic "tls" {
       for_each = var.client_tls_auth_enabled ? [1] : []
       content {
         certificate_authority_arns = var.certificate_authority_arns
       }
     }
     dynamic "sasl" {
       for_each = var.client_sasl_iam_enabled ? [1] : []
       content {
         iam = var.client_sasl_iam_enabled
       }
     }
   }
 }

Error: An argument named "iam" is not expected here.


Solution

  • It's necessary update your aws provider at least v3.43.0: see changelog

    e.g.

    terraform {
      required_version = ">= 0.13"
      required_providers {
        aws    = ">= 3.43.0"
      }
    }
    

    it's really works for me.