On 01/13/2012 05:15 AM, Nicolas Charles wrote: > On 13/01/2012 07:05, Nick Anderson wrote: >> I cant seem to get the syntax right for accessing a list stored in an array. >> >> I define users and groups using arrays, I would like to be able to use >> the same style when defining group members. >> >> then pass groups to a parameterized bundle to make sure the list of >> members for that group get added to /etc/group. >> >> bundle agent main { >> vars: >> "groups[specialadmins][gid]" string => "1000"; >> "groups[specialadmins][members]" slist => { "bill", "ted" }; >> >> methods: >> "specialadmins" usebundle => add_group_members_locally("main.groups"); >> } >> >> bundle agent add_group_members_locally(groups) { >> vars: >> "groupfile" string => "/tmp/group"; >> "groupindex" slist => getindices("$(groups)"); >> >> files: >> linux:: >> "$(groupfile)" >> edit_line => >> append_user_field("$(groupindex)","4","@(groups[$(groupindex)][members])"; >> >> } >> >> I can get it to expand out to groups[specialadmins][members] but not the >> slist stored there, I am sure I am mis understanding some concept here, >> can someone enlighten me? >> > Hi Nick, > > I never managed to use a list within an array; and on the IRC channel > people are often reporting they are trying, but not succeeding > I would be really interrested if someone came up with a simple solution. > > When I need to use something like this, I add another level in the array > > "groups[specialadmins][gid]" string => "1000"; > "groups[specialadmins][members][1]" string => "bill" > "groups[specialadmins][members][2]" string => "ted"
Thanks for the idea, I have yet to try the single dimensional array with a list as mark suggested. Should it be considered a bug that you can assign an slist to a multi-dimensional array but cannot get it back out? -- Nick Anderson <n...@cmdln.org> _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine