|
| 1 | +# @summary Main class for managing RustDesk client and server components |
| 2 | +# |
| 3 | +# This is the primary entry point for the RustDesk module. It provides high-level |
| 4 | +# control over whether the RustDesk client and/or server components should be managed, |
| 5 | +# and which versions to install. |
| 6 | +# |
| 7 | +# @param client_enable |
| 8 | +# Whether to enable and manage the RustDesk client component. |
| 9 | +# When set to true, the rustdesk::client class will be included and managed. |
| 10 | +# |
| 11 | +# @param client_version |
| 12 | +# The version of RustDesk client to install. |
| 13 | +# Must be a valid version string conforming to Eit_types::Version. |
| 14 | +# |
| 15 | +# @param server_enable |
| 16 | +# Whether to enable and manage the RustDesk server component. |
| 17 | +# When set to true, the rustdesk::server class will be included and managed. |
| 18 | +# |
| 19 | +# @param server_version |
| 20 | +# The version of RustDesk server to install. |
| 21 | +# Must be a valid version string conforming to Eit_types::Version. |
| 22 | +# |
| 23 | +# @example Enable only the client with specific version |
| 24 | +# class { 'rustdesk': |
| 25 | +# client_enable => true, |
| 26 | +# client_version => '1.2.3', |
| 27 | +# server_enable => false, |
| 28 | +# } |
| 29 | +# |
| 30 | +# @example Enable both client and server with different versions |
| 31 | +# class { 'rustdesk': |
| 32 | +# client_enable => true, |
| 33 | +# client_version => '1.2.3', |
| 34 | +# server_enable => true, |
| 35 | +# server_version => '1.2.4', |
| 36 | +# } |
| 37 | +# |
| 38 | +# @example Basic usage with defaults |
| 39 | +# include rustdesk |
| 40 | +# |
1 | 41 | class rustdesk ( |
| 42 | + Boolean $client_enable = $rustdesk::client_enable, |
| 43 | + Eit_types::Version $client_version = $rustdesk::client_version, |
2 | 44 |
|
3 | | -) {} |
| 45 | + Boolean $server_enable = $rustdesk::server_enable, |
| 46 | + Eit_types::Version $server_version = $rustdesk::server_version, |
| 47 | +) { |
| 48 | + $_osfamily =$facts['os']['family'] |
| 49 | + if $_osfamily != 'Ubuntu' { |
| 50 | + fail("The OS you running (${_osfamily}) isn't supported to setup RustDesk") |
| 51 | + } |
| 52 | + |
| 53 | + [ |
| 54 | + rustdesk::client, |
| 55 | + rustdesk::server, |
| 56 | + ].include |
| 57 | +} |
0 commit comments