Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

896
Vistas
Cómo utilizar la variable account_id de AWS en Terraform

Quiero acceder a mi ID de cuenta de AWS en terraform. Puedo acceder a él con aws_caller_identity según la documentación . ¿Cómo uso entonces la variable que creé? En el siguiente caso, estoy tratando de usarlo en un nombre de depósito S3:

 data "aws_caller_identity" "current" {} output "account_id" { value = data.aws_caller_identity.current.account_id } resource "aws_s3_bucket" "test-bucket" { bucket = "test-bucket-${account_id}" }

Intentar usar la variable account_id de esta manera me da el error A reference to a resource type must be followed by at least one attribute access, specifying the resource name. Supongo que no lo estoy llamando correctamente.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Cada vez que cree una fuente de datos en terraform, exportará algunos atributos relacionados con esa fuente de datos para que pueda hacer referencia a ella en otro lugar de su configuración e interpolarla de varias maneras.

En su caso, ya está haciendo referencia al valor de su ID de cuenta en el bloque de output

De la misma manera, puede construir la cadena para el nombre del depósito de la siguiente manera.

 resource "aws_s3_bucket" "test-bucket" { bucket = "test-bucket-${data.aws_caller_identity.current.account_id}" }

Recomiendo encarecidamente que revise la sintaxis de terrraform que puede ayudarlo a comprender mejor el recurso, la fuente de datos y las expresiones.

https://www.terraform.io/docs/language/expresiones/referencias.html

over 4 years ago · Santiago Trujillo Denunciar

0

Si tienes un

 data "aws_caller_identity" "current" {}

entonces necesitas definir un local para ese valor:

 locals { account_id = data.aws_caller_identity.current.account_id }

y luego usarlo como

 output "account_id" { value = local.account_id } resource "aws_s3_bucket" "test-bucket" { bucket = "test-bucket-${local.account_id}" }

Terraform resuelve los locals en función de sus dependencias para que pueda crear locals que dependan de otros locals , resources , bloques de data , etc.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda