1# Copyright 2021 Northern.tech AS 2 3# This file is part of CFEngine 3 - written and maintained by Northern.tech AS. 4 5# This program is free software; you can redistribute it and/or modify it 6# under the terms of the GNU General Public License as published by the 7# Free Software Foundation; version 3. 8 9# This program is distributed in the hope that it will be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# GNU General Public License for more details. 13 14# You should have received a copy of the GNU General Public License 15# along with this program; if not, write to the Free Software 16# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 17 18# To the extent this program is licensed as part of the Enterprise 19# versions of Cfengine, the applicable Commercial Open Source License 20# (COSL) may apply to this file if you as a licensee so wish it. See 21# included file COSL.txt. 22 23 24body common control 25 26{ 27 bundlesequence => { "example" }; 28 29 version => "1.2.3"; 30} 31 32########################################### 33 34body agent control 35 36{ 37 abortbundleclasses => { "invalid" }; 38} 39 40########################################### 41 42bundle agent example 43{ 44 vars: 45 46 "userlist" slist => { "xyz", "mark", "jeang", "jonhenrik", "thomas", "eben" }; 47 48 methods: 49 50 "any" usebundle => subtest("$(userlist)"); 51 52} 53 54########################################### 55 56bundle agent subtest(user) 57 58{ 59 classes: 60 61 "invalid" not => regcmp("[a-z][a-z][a-z][a-z]","$(user)"); 62 63 reports: 64 65 !invalid:: 66 67 "User name $(user) is valid at 4 letters"; 68 69 invalid:: 70 71 "User name $(user) is invalid"; 72} 73