Openstack

在 openstack heat 模板中加入變數

  • January 22, 2016

假設我想根據 2 個變數命名資源,所以我有類似的東西:

heat_template_version: 2013-05-23

描述:創建網路

參數:
客戶端程式碼:
類型:字元串
描述:4 個字元的客戶程式碼。將用於實例命名
項目程式碼:
類型:字元串
描述:3字元項目程式碼

現在我想根據客戶和項目創建具有名稱的資源:

資源:
測試:
類型:OS::Neutron::Net
特性:
名稱:{get_param:client_code}{get_param:project_code}

該資源創建給了我一個解析錯誤。無論如何我可以實現這一點,還是我需要使用預腳本來生成我的模板?

我找到了使用“list_join”的解決方案:

heat_template_version: 2013-05-23

 int_network:
   type: OS::Neutron::Net
   properties:
   name:
      list_join: ['-', [ {get_param: tenant}, 'net']]

我找到了使用str_replace. 我的程式碼看起來像:

heat_template_version: 2013-05-23

description: Create network with

parameters:
 client_code:
   type: string
   description: 4 character customer code. Will be used for instance naming
 project_code:
   type: string
   description: 3 character project code

resources:
 test:
   type: OS::Neutron::Net
   properties:
     name:
       str_replace:
       template: cust%-proj%
       params:
         "cust%": { get_param: client_code } 
         "proj%": { get_param: project_code }

引用自:https://serverfault.com/questions/690358