שימוש במשתני סביבה ספציפיים לפריסה

לכל פריסה, Deployment Manager יוצר משתני סביבה מוגדרים מראש שמכילים מידע שהוסק מהפריסה. אפשר להשתמש במשתני הסביבה האלה בתבניות Python או Jinja2 כדי לקבל מידע על הפרויקט או על הפריסה.

לפני שמתחילים

משתני סביבה זמינים

משתני הסביבה הבאים מוגדרים אוטומטית על ידי Deployment Manager. הם מוחלפים בכל מקום שבו משתמשים בהם בתבניות. לדוגמה, אפשר להשתמש במשתנה project_number כדי להוסיף את מספר הפרויקט לשם של חשבון שירות.

משתנה הסביבה ערך
deployment שם הפריסה.
name ה-name שהוצהר בהגדרה שמשתמשת בתבנית. זה יכול להיות שימושי אם רוצים שהשם שמצהירים עליו בהגדרה יהיה השם של המשאב בתבניות הבסיסיות.
project מזהה הפרויקט של הפריסה הזו.
project_number מספר הפרויקט של הפריסה הזו.
current_time חותמת הזמן לפי שעון UTC שבה התחילה ההרחבה של הפריסה.
type סוג המשאב שמוצהר בהגדרה ברמה העליונה.
username המשתמש הנוכחי ב-Deployment Manager.

שימוש במשתנה סביבה

כדי להוסיף משתנה סביבה לתבניות, משתמשים בתחביר הבא:

{{ env["deployment"] }} # Jinja

context.env["deployment"] # Python

בתבנית, משתמשים במשתנים כמו בדוגמאות האלה:

Jinja

- type: compute.v1.instance
  name: vm-{{ env["deployment"] }}
  properties:
    machineType: zones/us-central1-a/machineTypes/f1-micro
    serviceAccounts:
    - email: {{ env['project_number'] }}-compute@developer.gserviceaccount.com
      scopes:
      - ...

Python

def GenerateConfig(context):
  resources = []
  resources.append ({
    'name': 'vm-' + context.env["deployment"],
    'type': 'compute.v1.instance',
    'properties': {
       'serviceAccounts': [{
         'email': context.env['project_number'] + '-compute@developer.gserviceaccount.com',
         'scopes': [...]
       }]
    }
    ...}]
  return {'resources': resources}

המאמרים הבאים