标准模块结构
热门
{文件结构
module
├── LICENSE
├── manifests
| ├── init.pp
| ├── install.pp
| ├── config.pp
| ├── service.pp
│ └── params.pp
└── README.md,install.pp,params.pp,
class module(
$interface1 = '',
$interface2 = '',
...
) {
include ::module::params
# Parameters validation
validate_bool($interface1)
validate_string($interface2)
# Invoke classes
include ::module::install
include ::module::config
include ::module::service
# Relationship of classes
Class['::module::install'] ->
Class['::module::config'] ->
Class['::module::service']
},
class module::install {
# packages
package {$module::params::package_name:
ensure => $module::params::package_ensure,
}
},init.pp,
class module::params {
# Variables
$package_name = 'ntp'
$package_ensure = 'present'
}}