2015-12-02 24 views
0

我需要創建相當多的資源,更精確地說,RabbitMQ虛擬主機的權限集合。從兩個陣列生成create_resources的散列

我想從2個hiera查找中創建這些。 2個陣列持有用戶和虛擬主機。

$users = [user1, user2, user3] 
$resources = [resource1, resource2, resource3] 

應該改爲:

$myhashes = { 
'[email protected]' => { 
    }, 
'[email protected]' => { 
    }, 
'[email protected]' => { 
    }, 
'[email protected]' => { 
    }, 
'[email protected]' => { 
    }, 
'[email protected]' => { 
    }, 
'[email protected]' => { 
    }, 
'[email protected]' => { 
    }, 
'[email protected]' => { 
    }, 
} 

該散列可隨後被輸送到create_resources。我不知道如何在Puppet或Ruby中去解決這個問題。從一個數組創建資源並不麻煩,但是當我需要該數組中的每個條目來保存來自另一個數組的數據時,我會迷路。

+0

應該採取什麼「USER1 @資源1」散列包含數組[user1,resource1]?另外,用戶和資源對象是什麼類型的數據? – etdev

+0

它是rabbitmq官方puppet模塊的rabbitmq_user_permissions類型。它們包含兔節點/集羣上給定虛擬主機的權限。 他們是字符串。 – user2231455

回答

0

隨着你提供了關於如何做結合部分的信息:

myHashes = {} 
users = ["user1", "user2", "user3"] 
resources = ["resource1", "resource2", "resource3"] 

users.each.with_index do |user, i| 
     myHashes["#{user}@#{resources[i]}"] = {} 

end 
0

我結束了在木偶做:

$users.each |String $user| { 
    $resources.each |String $vhost| { 
    rabbitmq_user_permissions {"${user}@${vhost}": 
        configure_permission => '.*', 
        read_permission  => '.*', 
        write_permission  => '.*',} 
         } 
         }