C/S模块结构
热门
{
class module::params {
# Variables
$client_package_name = 'mysql'
$client_package_ensure = 'present'
},class module::server (
$interface1 = '',
$interface2 = '',
) {
include ::module::params
# Parameters validation
validate_bool($interface1)
validate_string($interface2)
# Invoke classes
include ::module::server::install
include ::module::server::config
include ::module::server::service
# Class relationship
Class['::module::server::install'] ->
Class['::module::server::config'] ->
Class['::module::server::service']
},class module::client (
$interface1 = '',
$interface2 = '',
) {
include ::module::params
# Parameters validation
validate_bool($interface1)
validate_string($interface2)
# Invoke classes
include ::module::client::install
include ::module::client::config
# Class relationship
Class['::module::client::install'] ->
Class['::module::client::config']
},
class module::server::install {
# packages
package {$module::params::server_package_name:
ensure => $module::params::server_package_ensure,
}
},文件结构
module
├── LICENSE
├── manifests
│ ├── client.pp
| ├── client
| | ├── install.pp
| | └── config.pp
│ ├── server.pp
│ ├── server
| | ├── install.pp
| | ├── config.pp
| | └── service.pp
│ └── params.pp
└── README.md,
class module::client::install {
# packages
package {$module::params::client_package_name:
ensure => $module::params::client_package_ensure,
}
}}