
terraform apply נוח לקבל על המסך את פרטי המסד שנוצר, ואפילו פקודת חיבור מוכנה. ההרצאה בונה כמה בלוקי output ופותרת בעיה בשם ה-endpoint.output עם שם (למשל rds_endpoint) וערך מתוך אובייקט ה-RDS, בצורה סוג משאב ושם נקודה שדה. אפשר להוסיף עוד outputs, למשל שם ה-database, ושם המשתמש.tf plan מציג את הפלט: שם ה-database (Practicu), ה-endpoint (שם שרת, נקודתיים ופורט) וה-username.${...} ששולף את ה-endpoint מהאובייקט.locals מגדירים משתנה עזר שהוא split של ה-endpoint לפי נקודתיים, ולוקחים את רכיב 0 (הראשון, כי סופרים מאפס), שהוא שם השרת בלבד. בפקודה משתמשים במשתנה הזה במקום ב-endpoint המקורי.tf plan יש פקודה mysql -h עם שם שרת נקי, שאפשר להריץ מיד. אחרי apply נבדק ש-select * from Practicu.users מחזיר נתונים.הטקסט המלא של הדקות הראשונות בהרצאה «פקודת Output ב-Terraform פרויקט NodeJS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם. בסרטון זה נדבר על outputs, על פלט שיהיה לנו בהרצה של Terraform Apply, כשניצור את הדאטה בייס, את המכונה שלנו, במקום ללכת בממשק גרפי ולחפש את הנתונים, איך נקרא את המכונה החדשה.
אנחנו רוצים לקבל את זה בפלט מסודר ישר אחרי Terraform Apply. אז אני כותב output ואומר שאני רוצה שיפלוט לי את ה-endpoint, את השם של המכונה. במקום להיכנס ל-RDS בתוך AWS Console עד שאני אעבור אימות, זיהוי, אכנס לכאן ולשלוף את השם של הדאטה בייס, אני ישר אגיד ל-Terraform: "תרשום לי את זה על המסך." הוא ירשום לי RDS Endpoint שווה.
ה-endpoint שלנו משויך לאובייקט הראשי של המכונה, אז נותנים לו את הסוג, נקודה, שם של מכונה ספציפית. אז אני רוצה מתוך ה-RDS הזה, מתוך הדאטה בייס הזה, לרשום על המסך מאפיין בשם endpoint.
דרך אגב, אם אני רוצה עוד איזשהו נתון לפלוט, אני יכול לרשום פה עוד output. נניח נקרא לו rds database name. אני רוצה שייקח לי ערך, שוב מתוך AWS Database Instance, נקודה database name.
בקיצור, יש לי פה אפשרות לפלוט כמה דברים החוצה. מה שמעניין אותי, אני אירח database name, username, שם של endpoint. ועכשיו TF Plan יראה לי מה יצא לנו.
יצא לנו output, database name, Practicu, endpoint, השם של שרת, נקודתיים, שם של פורט וגם ה-username. נהדר, זה מה שרציתי. דבר אחרון שאני רוצה זה לחסוך לי את הכתיבה של כל הפקודה הזאת.
אני לוקח את הפקודה הזאת ואני רוצה שהוא ירשום לי אותה באוטומט. אני אקרא לזה MySQL Command וה-value שלה