Menggunakan variabel lingkungan khusus deployment

Untuk setiap deployment Anda, Deployment Manager akan membuat variabel lingkungan standar yang berisi informasi yang disimpulkan dari deployment Anda. Gunakan variabel lingkungan ini dalam template Python atau Jinja2 untuk mendapatkan informasi tentang project atau deployment Anda.

Sebelum memulai

Variabel lingkungan yang tersedia

Variabel lingkungan berikut disetel secara otomatis oleh Deployment Manager. Kode tersebut akan diganti di mana pun Anda menggunakannya dalam template. Misalnya, gunakan variabel project_number untuk menambahkan nomor project ke nama akun layanan.

Variabel lingkungan Nilai
deployment Nama deployment.
name name yang dideklarasikan dalam konfigurasi yang menggunakan template. Fungsi ini dapat berguna jika Anda ingin nama yang dideklarasikan dalam konfigurasi menjadi nama resource dalam template yang mendasarinya.
project Project ID untuk deployment ini.
project_number Nomor project untuk deployment ini.
current_time Stempel waktu UTC saat perluasan dimulai untuk deployment.
type Jenis resource yang dideklarasikan dalam konfigurasi tingkat atas.
username Pengguna Deployment Manager saat ini.

Menggunakan variabel lingkungan

Gunakan sintaksis berikut untuk menambahkan variabel lingkungan ke template Anda:

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

context.env["deployment"] # Python

Di template Anda, gunakan variabel seperti dalam contoh berikut:

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}

Langkah selanjutnya