From 3ebf148bf3d82d25e690aec6ec49975e0837e604 Mon Sep 17 00:00:00 2001 From: Brice Figureau Date: Tue, 28 Jul 2009 19:56:34 +0200 Subject: Enhance selector and case statements to match with regexp The case and selector statements define ephemeral vars, like 'if'. Usage: case statement: $var = "foobar" case $var { "foo": { notify { "got a foo": } } /(.*)bar$/: { notify{ "hey we got a $1": } } } and for selector: $val = $test ? { /^match.*$/ => "matched", default => "default" } Signed-off-by: Brice Figureau --- test/data/snippets/casestatement.pp | 7 +++++++ test/data/snippets/selectorvalues.pp | 7 +++++++ 2 files changed, 14 insertions(+) (limited to 'test/data') diff --git a/test/data/snippets/casestatement.pp b/test/data/snippets/casestatement.pp index 955982819..66ecd72b9 100644 --- a/test/data/snippets/casestatement.pp +++ b/test/data/snippets/casestatement.pp @@ -56,3 +56,10 @@ case $yay { default: { file { "/tmp/existsfile5": mode => 711, ensure => file } } } + +$regexvar = "exists regex" +case $regexvar { + "no match": { file { "/tmp/existsfile6": mode => 644, ensure => file } } + /(.*) regex$/: { file { "/tmp/${1}file6": mode => 755, ensure => file } } + default: { file { "/tmp/existsfile6": mode => 711, ensure => file } } +} diff --git a/test/data/snippets/selectorvalues.pp b/test/data/snippets/selectorvalues.pp index cd8cf77a7..d80d26c36 100644 --- a/test/data/snippets/selectorvalues.pp +++ b/test/data/snippets/selectorvalues.pp @@ -34,9 +34,16 @@ $mode6 = $mode5 ? { 755 => 755 } +$mode7 = "test regex" ? { + /regex$/ => 755, + default => 644 +} + + file { "/tmp/selectorvalues1": ensure => file, mode => $mode1 } file { "/tmp/selectorvalues2": ensure => file, mode => $mode2 } file { "/tmp/selectorvalues3": ensure => file, mode => $mode3 } file { "/tmp/selectorvalues4": ensure => file, mode => $mode4 } file { "/tmp/selectorvalues5": ensure => file, mode => $mode5 } file { "/tmp/selectorvalues6": ensure => file, mode => $mode6 } +file { "/tmp/selectorvalues7": ensure => file, mode => $mode7 } -- cgit