puppetlabs/puppet · error · ArgumentError
Auth names must be provided as an array, not a comma-separat
Error message
Auth names must be provided as an array, not a comma-separated list
What it means
Raised by the validate block of the `auths` property on the `user` type when a member string contains a comma. The property is a Puppet::Property::List and requires an array of Solaris authorization names; a comma-joined string would otherwise be interpreted as a single bogus authorization name, so it is rejected up front.
Source
Thrown at lib/puppet/type/user.rb:568
newvalues(:inclusive, :minimum)
defaultto :minimum
end
newproperty(:auths, :parent => Puppet::Property::List, :required_features => :manages_solaris_rbac) do
desc "The auths the user has. Multiple auths should be
specified as an array."
def membership
:auth_membership
end
validate do |value|
if value =~ /^\d+$/
raise ArgumentError, _("Auth names must be provided, not numbers")
end
raise ArgumentError, _("Auth names must be provided as an array, not a comma-separated list") if value.include?(",")
end
end
newparam(:auth_membership) do
desc "Whether specified auths should be considered the **complete list**
(`inclusive`) or the **minimum list** (`minimum`) of auths the user
has. This setting is specific to managing Solaris authorizations."
newvalues(:inclusive, :minimum)
defaultto :minimum
end
newproperty(:profiles, :parent => Puppet::Property::OrderedList, :required_features => :manages_solaris_rbac) do
desc "The profiles the user has. Multiple profiles should be
specified as an array."
def membershipView on GitHub (pinned to e227c27540)
Solutions
- Pass an array: `auths => ['solaris.admin.usermgr', 'solaris.system.admin']`
- Fix Hiera data to be a YAML list
- Split strings in the profile before use: `auths => $raw.split(',')`
Example fix
# before
user { 'alice':
ensure => present,
auths => 'solaris.admin.usermgr,solaris.system.admin',
}
# after
user { 'alice':
ensure => present,
auths => ['solaris.admin.usermgr', 'solaris.system.admin'],
} Defensive patterns
Strategy: validation
Validate before calling
auths = raw.is_a?(String) ? raw.split(',').map(&:strip).reject(&:empty?) : Array(raw) Prevention
- Store Solaris auth lists as YAML sequences
- Normalize comma scalars at the profile parameter boundary
- Review ENC-generated data for flattened lists
When it happens
Trigger: `user { 'alice': auths => 'solaris.admin.usermgr,solaris.system.admin' }` on Solaris; joined-array data from Hiera or an ENC; converting `usermod -A auth1,auth2` command lines.
Common situations: Shell-script-to-manifest ports where -A takes a comma list; YAML authored as scalar instead of list; tooling that flattens arrays to strings.
Related errors
- Role names must be provided as an array, not a comma-separat
- Auth names must be provided, not numbers
- Profile names must be provided as an array, not a comma-sepa
- Group names must be provided as an array, not a comma-separa
- Role names must be provided, not numbers
AI-assisted analysis of puppetlabs/puppet@e227c27540 (2026-08-21).
Data as JSON: /api/errors/b8fed6621993cb81.
Report an issue: GitHub.