When the expected value of an attribute is an array, the array_matching option should be included in the call to newproperty with a value of all. All values of the array are then used for that attribute, as shown in the following code:
Puppet::Type.newtype(:mynewtype) do
...
newproperty(:myarray, :array_matching => :all) do
end
...
end