outputs.tf ולהגדיר output עם value ו-descriptionterraform applyterraform output לשליפת ערך מחוץ ל-Terraform-json ו--raw ומתי רוצים כל אחדsensitive ו-type מציינים ב-terraform output -jsonגם אחרי terraform apply, שם ה-bucket מופיע ב-CLI, אין דרך לשלוף אותו בצורה תכנותית מחוץ ל-Terraform. לדוגמה, בשלב CI/CD הבא שרוצים לידע את שם ה-bucket כדי להעלות קבצים אליו. זהו התפקיד של outputs — לחשוף מידע מתוך ה-state ולהפותו לשימוש ב-CLI.
בשלב זה, מבטלים את קוד ה-EC2 ב-compute.tf (עם #) כי השיעור מתמקד רק על ה-S3 ונרצה שה-apply יהיה מהיר.
outputs.tfבנייה המקובלת ל-variables.tf, כל ה-outputs מוגדרים בקובץ outputs.tf נפרד. בלוק output דורש שם ייחודי ושדה value חובה. description הוא אופציונלי — הוא לא מופיע בתוצאת terraform output אלא רק ב-terraform output -json.
את ה-value מחשבים מתוך ה-resource: aws_s3_bucket.project_bucket.bucket הוא אחד האטריבוטים שניתן לשלוף מ-resource. בעריפת העכבר על project_bucket ב-IDE ניתן לראות את כל האטריבוטים הזמינים.
# outputs.tf
output "s3_bucket_name" {
value = aws_s3_bucket.project_bucket.bucket
description = "The name of the S3 bucket."
}