我想检查以下属性是否存在路径:
s3_bucket = node['elastic']['s3']['bucket']
这是json:
"elastic": {
"version": "5.4.1",
"cluster": "cluster-dev",
"node": "node1",
"host": "localhost",
"port": 9201,
"username": "elasticsearch",
"groupname": "elasticsearch",
"s3" : {
"bucket": "hello"
}
}
字段S3可能不存在于环境中,并且我想在获取属性桶之前检查它。我该怎么做?
最佳答案
对于较新的厨师,您可以使用node.read
方法:
s3_bucket = node.read('elastic', 's3', 'bucket')
如果不存在任何中间键,则为
nil
。关于ruby - 厨师节点属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46884412/