Menggunakan variabel lingkungan khusus deployment

Untuk setiap deployment, Deployment Manager membuat variabel lingkungan yang telah ditetapkan sebelumnya 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 ditetapkan secara otomatis oleh Deployment Manager. Variabel ini 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. Tindakan ini dapat berguna jika Anda ingin nama yang Anda deklarasikan 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 teratas.
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

Dalam 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