Chef infra LWRP上的配置

Chef infra LWRP上的配置,chef-infra,Chef Infra,我使用此配置提供程序来配置elasticsearch: elasticsearch_configure 'my_elasticsearch' do path_home "/opt/elasticsearch" path_data data_location ... end 数据位置值从以下位置获取: data_location = node['living']['elastic']['data_location'] 但是,此属性没有设置在我当前的环境dev: {

我使用此配置提供程序来配置elasticsearch:

elasticsearch_configure 'my_elasticsearch' do
  path_home     "/opt/elasticsearch"
  path_data     data_location
  ...
end
数据位置
值从以下位置获取:

data_location = node['living']['elastic']['data_location']
但是,此属性没有设置在我当前的环境
dev

{
  "living": {
    "elastic": {
      "version": "5.4.0",
      "cluster": "cluster-dev",
      "node": "node1",
      "host": "localhost",
      "port": 9201,
      ...
    }
  }
}
因此,根据
data\u location
是否为
nil
,我需要将其设置为
elasticsearch\u configure


我完全不知道如何得到它。有什么想法吗?

该值不是必需的,并且有一个默认值,只要您对该默认值满意,就不要设置它。

路径数据位置除非数据位置。nil?
应该这样做(ruby
除非
内联语法)(我希望我正确地理解了您的需求,您到底想要什么还不是很清楚,一个伪代码或您希望获得的说明会有所帮助)