使用params.pp复杂数据结构填充模板值

时间:2014-12-04 05:11:49

标签: wso2 axis2 puppet wso2as

我在params.pp

/etc/puppet/modules/appserver/manifests文件中有以下数据结构
class appserver::params {
        $servers = {
                appserver-mgr => { axis2   => {subDomain => 'mgt',},
                                   carbon  => {subDomain => 'mgt',},
                                   serverOptions => '-Dsetup',  },
                appserver-wkr => { axis2   => {subDomain => 'worker',},
                                   carbon => {subDomain => 'worker',},
                                   serverOptions => '-DworkerNode=true',  },
        }

        $serversDefaults = {
                clustering => 'true',
        }
}

在我的模板文件中axis2.xml.erb的{​​{1}})。我必须填写以下字段。

/etc/puppet/modules/appserver/templates

如何使用<property name="subDomain" value="<%= @subDomain %>"/> 文件中的上述数据结构填充此子域值?

1 个答案:

答案 0 :(得分:3)

哈希字面意思是转换为Ruby。

<property name="subDomain" value="<%= @servers['appserver-mgr']['carbon']['subDomain'] %>"/>

这假定$servers在模板扩展范围内的值为appserver::params::server