Скажем, я хочу назвать ресурс на основе двух переменных, поэтому у меня есть что-то вроде:
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: {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 }