|
puppet parser命令主要用于对*.pp文件语法检测,检查文件语法是否正确需要加validate动作参数.
语法正确,没有任何返回.
1
2
3
4
5
6
7
8
9
10
11
12
13
| [iyunv@puppet ~]# cat 2.pp
user { 'root':
ensure => 'present',
comment => 'root',
gid => '0',
home => '/root',
password => '$6$yIyAnjPI1kiwQpe7$N0Lq9PrISqc5FRvWYbyS7tRSDE2lGLhdbQU/adpVAGbBpRsUSQ6GR22REoV9IJa9pPTHrKEOeShC2TZF3CUx3.',
password_max_age => '99999',
password_min_age => '0',
shell => '/bin/bash',
uid => '0',
}
[iyunv@puppet ~]# puppet parser validate 2.pp
|
把上段的puppet代码修改为错误的puppet代码测试:(root后面的冒号去掉)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| [iyunv@puppet ~]# cat 2.pp
user { 'root'
ensure => 'present',
comment => 'root',
gid => '0',
home => '/root',
password => '$6$yIyAnjPI1kiwQpe7$N0Lq9PrISqc5FRvWYbyS7tRSDE2lGLhdbQU/adpVAGbBpRsUSQ6GR22REoV9IJa9pPTHrKEOeShC2TZF3CUx3.',
password_max_age => '99999',
password_min_age => '0',
shell => '/bin/bash',
uid => '0',
}
[iyunv@puppet ~]# puppet parser validate 2.pp
Error: Could not parse for environment production: Syntax error at 'ensure'; expected '}' at /root/2.pp:2
|
批量检测多个*.pp文件:(puppet resource快速生成3个*.pp文件.)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| [iyunv@puppet ~]# cat 2.pp
user { 'root'
ensure => 'present',
comment => 'root',
gid => '0',
home => '/root',
password => '$6$yIyAnjPI1kiwQpe7$N0Lq9PrISqc5FRvWYbyS7tRSDE2lGLhdbQU/adpVAGbBpRsUSQ6GR22REoV9IJa9pPTHrKEOeShC2TZF3CUx3.',
password_max_age => '99999',
password_min_age => '0',
shell => '/bin/bash',
uid => '0',
}
[iyunv@puppet ~]# cat 3.pp
package { 'httpd':
ensure => 'absent',
}
[iyunv@puppet ~]# cat 4.pp
package { 'nginx':
ensure => 'absent',
}
[iyunv@puppet ~]# find ./* -type f -name "*.pp" |xargs -n1 -t puppet parser validate
puppet parser validate ./2.pp
Error: Could not parse for environment production: Syntax error at 'ensure'; expected '}' at /root/2.pp:2
puppet parser validate ./3.pp
puppet parser validate ./4.pp
puppet parser validate ./example-meng/tests/init.pp
puppet parser validate ./example-meng/manifests/init.pp
|
|
|
|