Using the in operator
The in
operator tests whether one string contains another string. Here's an example:
if 'spring' in 'springfield'
The preceding expression is true if the spring
string is a substring of springfield
, which it is. The in
operator can also test for membership of arrays as follows:
if $crewmember in ['Frank', 'Dave', 'HAL' ]
When in
is used with a hash, it tests whether the string is a key of the hash:
$ifaces = { 'lo' => '127.0.0.1', 'eth0' => '192.168.0.1' } if 'eth0' in $ifaces { notify { "eth0 has address ${ifaces['eth0']}": } }
How to do it…
The following steps will show you how to use the in
operator:
- Add the following code to your manifest:
if $::operatingsystem in [ 'Ubuntu', 'Debian' ] { notify { 'Debian-type operating system detected': } } elseif $::operatingsystem in [ 'RedHat', 'Fedora', 'SuSE', 'CentOS' ] { notify { 'RedHat-type operating system detected': } } else { notify { 'Some other operating system detected': } }
- Run Puppet:
t@cookbook:~/.puppet/manifests$ puppet apply in.pp Notice: Compiled catalog for cookbook.example.com in environment production in 0.03 seconds Notice: Debian-type operating system detected Notice: /Stage[main]/Main/Notify[Debian-type operating system detected]/message: defined 'message' as 'Debian-type operating system detected' Notice: Finished catalog run in 0.02 seconds
There's more…
The value of an in
expression is Boolean (true or false) so you can assign it to a variable:
$debianlike = $::operatingsystem in [ 'Debian', 'Ubuntu' ] if $debianlike { notify { 'You are in a maze of twisty little packages, all alike': } }
推薦閱讀
- 繪制進程圖:可視化D++語言(第1冊)
- 三菱FX3U/5U PLC從入門到精通
- Circos Data Visualization How-to
- Learning Microsoft Azure Storage
- Java實用組件集
- 計算機原理
- STM32G4入門與電機控制實戰(zhàn):基于X-CUBE-MCSDK的無刷直流電機與永磁同步電機控制實現(xiàn)
- 大數(shù)據(jù)驅(qū)動的設(shè)備健康預(yù)測及維護決策優(yōu)化
- 悟透AutoCAD 2009完全自學(xué)手冊
- 自動化生產(chǎn)線安裝與調(diào)試(三菱FX系列)(第二版)
- 嵌入式Linux系統(tǒng)實用開發(fā)
- 一步步寫嵌入式操作系統(tǒng)
- 21天學(xué)通Linux嵌入式開發(fā)
- 人工智能:智能人機交互
- Hands-On Deep Learning with Go