bebox 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -8
- data/README.md +33 -30
- data/bebox.gemspec +1 -2
- data/bin/bebox +1 -2
- data/lib/bebox/cli.rb +0 -5
- data/lib/bebox/commands/commands_helper.rb +3 -1
- data/lib/bebox/commands/environment_commands.rb +26 -29
- data/lib/bebox/commands/general_commands.rb +0 -1
- data/lib/bebox/commands/node_commands.rb +44 -48
- data/lib/bebox/commands/prepare_commands.rb +25 -32
- data/lib/bebox/commands/profile_commands.rb +56 -0
- data/lib/bebox/commands/project_commands.rb +23 -29
- data/lib/bebox/commands/provision_commands.rb +18 -120
- data/lib/bebox/commands/role_commands.rb +83 -0
- data/lib/bebox/environment.rb +4 -10
- data/lib/bebox/files_helper.rb +37 -0
- data/lib/bebox/logger.rb +0 -1
- data/lib/bebox/node.rb +9 -122
- data/lib/bebox/profile.rb +5 -16
- data/lib/bebox/project.rb +14 -38
- data/lib/bebox/provision.rb +21 -36
- data/lib/bebox/role.rb +2 -12
- data/lib/bebox/vagrant_helper.rb +96 -0
- data/lib/bebox/version.rb +1 -1
- data/lib/bebox/wizards/environment_wizard.rb +4 -20
- data/lib/bebox/wizards/node_wizard.rb +17 -47
- data/lib/bebox/wizards/profile_wizard.rb +8 -26
- data/lib/bebox/wizards/project_wizard.rb +42 -72
- data/lib/bebox/wizards/provision_wizard.rb +35 -51
- data/lib/bebox/wizards/role_wizard.rb +9 -29
- data/lib/bebox/wizards/wizards_helper.rb +41 -0
- data/lib/bebox.rb +30 -2
- data/lib/templates/project/config/deploy/steps/step-0.erb +13 -0
- data/lib/templates/project/config/deploy/steps/step-1.erb +0 -0
- data/lib/templates/project/config/deploy/steps/step-2.erb +0 -0
- data/lib/templates/project/config/deploy/steps/step-3.erb +0 -0
- data/lib/templates/project/config/deploy.erb +3 -0
- data/spec/fixtures/config/deploy/steps/step-0.test +13 -0
- data/spec/fixtures/config/deploy/steps/step-1.test +0 -0
- data/spec/fixtures/config/deploy/steps/step-2.test +0 -0
- data/spec/fixtures/config/deploy/steps/step-3.test +0 -0
- data/spec/fixtures/config/deploy.test +3 -0
- data/spec/ordered_phases_spec.rb +6 -4
- data/spec/pre_prepare_spec.rb +8 -6
- data/spec/profile_spec.rb +9 -5
- data/spec/project_spec.rb +9 -2
- data/spec/puppet_spec_helper.rb +1 -1
- data/spec/role_spec.rb +9 -5
- data/spec/spec_helper.rb +5 -0
- metadata +17 -212
- data/lib/templates/puppet/step-0/modules/rbenv/AUTHORS +0 -11
- data/lib/templates/puppet/step-0/modules/rbenv/CHANGELOG.md +0 -70
- data/lib/templates/puppet/step-0/modules/rbenv/Gemfile +0 -8
- data/lib/templates/puppet/step-0/modules/rbenv/Gemfile.lock +0 -28
- data/lib/templates/puppet/step-0/modules/rbenv/Modulefile +0 -7
- data/lib/templates/puppet/step-0/modules/rbenv/README.md +0 -173
- data/lib/templates/puppet/step-0/modules/rbenv/Rakefile +0 -22
- data/lib/templates/puppet/step-0/modules/rbenv/TODO +0 -10
- data/lib/templates/puppet/step-0/modules/rbenv/bin/autospec +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/facter +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/filebucket +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/hiera +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/htmldiff +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/ldiff +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/pi +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet-lint +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppet-module +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetca +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetd +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetdoc +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetmasterd +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetqd +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/puppetrun +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/rake +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/ralsh +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/rspec +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/bin/rspec-puppet-init +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/lib/puppet/provider/rbenvgem/default.rb +0 -50
- data/lib/templates/puppet/step-0/modules/rbenv/lib/puppet/type/rbenvgem.rb +0 -62
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/bundle.pp +0 -36
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/client.pp +0 -48
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/compile.pp +0 -102
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/definition.pp +0 -31
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/centos.pp +0 -25
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/suse.pp +0 -28
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies/ubuntu.pp +0 -17
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/dependencies.pp +0 -8
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/gem.pp +0 -29
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/install.pp +0 -55
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin/rbenvvars.pp +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin/rubybuild.pp +0 -16
- data/lib/templates/puppet/step-0/modules/rbenv/manifests/plugin.pp +0 -40
- data/lib/templates/puppet/step-0/modules/rbenv/metadata.json +0 -109
- data/lib/templates/puppet/step-0/modules/rbenv/templates/Gemfile.erb +0 -5
- data/lib/templates/puppet/step-0/modules/rbenv/templates/dot.rbenvrc.erb +0 -8
- data/lib/templates/puppet/step-0/modules/stdlib/CHANGELOG.md +0 -418
- data/lib/templates/puppet/step-0/modules/stdlib/CONTRIBUTING.md +0 -65
- data/lib/templates/puppet/step-0/modules/stdlib/Gemfile +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/Gemfile.lock +0 -166
- data/lib/templates/puppet/step-0/modules/stdlib/LICENSE +0 -19
- data/lib/templates/puppet/step-0/modules/stdlib/Modulefile +0 -11
- data/lib/templates/puppet/step-0/modules/stdlib/README.markdown +0 -1304
- data/lib/templates/puppet/step-0/modules/stdlib/README_DEVELOPER.markdown +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/README_SPECS.markdown +0 -7
- data/lib/templates/puppet/step-0/modules/stdlib/RELEASE_PROCESS.markdown +0 -24
- data/lib/templates/puppet/step-0/modules/stdlib/Rakefile +0 -18
- data/lib/templates/puppet/step-0/modules/stdlib/checksums.json +0 -349
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/facter_dot_d.rb +0 -202
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/pe_version.rb +0 -53
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/puppet_vardir.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/root_home.rb +0 -32
- data/lib/templates/puppet/step-0/modules/stdlib/lib/facter/util/puppet_settings.rb +0 -21
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/abs.rb +0 -36
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/any2array.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/base64.rb +0 -37
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/bool2num.rb +0 -49
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/capitalize.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/chomp.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/chop.rb +0 -37
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/concat.rb +0 -41
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/count.rb +0 -22
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/deep_merge.rb +0 -44
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/defined_with_params.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete.rb +0 -46
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_at.rb +0 -49
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_undef_values.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_values.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/difference.rb +0 -36
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/dirname.rb +0 -15
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/downcase.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/empty.rb +0 -28
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/ensure_packages.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb +0 -45
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/flatten.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/floor.rb +0 -25
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/fqdn_rotate.rb +0 -46
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb +0 -17
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/getparam.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/getvar.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/grep.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_interface_with.rb +0 -52
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_ip_address.rb +0 -25
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_ip_network.rb +0 -25
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_key.rb +0 -28
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/hash.rb +0 -41
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/intersection.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_array.rb +0 -22
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_bool.rb +0 -22
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_domain_name.rb +0 -50
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_float.rb +0 -30
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_function_available.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_hash.rb +0 -22
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_integer.rb +0 -45
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_ip_address.rb +0 -32
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb +0 -27
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb +0 -75
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/is_string.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/join.rb +0 -41
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/join_keys_to_values.rb +0 -47
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/keys.rb +0 -26
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/loadyaml.rb +0 -20
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/lstrip.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/max.rb +0 -21
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/member.rb +0 -44
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/merge.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/min.rb +0 -21
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/num2bool.rb +0 -43
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/parsejson.rb +0 -24
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/parseyaml.rb +0 -24
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/pick.rb +0 -29
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/pick_default.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/prefix.rb +0 -45
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/range.rb +0 -88
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/reject.rb +0 -31
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/reverse.rb +0 -28
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/rstrip.rb +0 -32
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/shuffle.rb +0 -46
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/size.rb +0 -48
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/sort.rb +0 -27
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/squeeze.rb +0 -36
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/str2bool.rb +0 -46
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/str2saltedsha512.rb +0 -32
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/strftime.rb +0 -107
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/strip.rb +0 -39
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/suffix.rb +0 -45
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/swapcase.rb +0 -39
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/time.rb +0 -49
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/to_bytes.rb +0 -28
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/type.rb +0 -50
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/union.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/unique.rb +0 -51
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/upcase.rb +0 -41
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/uriescape.rb +0 -35
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_absolute_path.rb +0 -56
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_array.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_augeas.rb +0 -81
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_bool.rb +0 -34
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_cmd.rb +0 -48
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_hash.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_ipv4_address.rb +0 -48
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_ipv6_address.rb +0 -49
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_re.rb +0 -40
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_slength.rb +0 -71
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/validate_string.rb +0 -33
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/values.rb +0 -39
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/values_at.rb +0 -98
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/zip.rb +0 -65
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/provider/file_line/ruby.rb +0 -83
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/type/anchor.rb +0 -46
- data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/type/file_line.rb +0 -79
- data/lib/templates/puppet/step-0/modules/stdlib/manifests/init.pp +0 -20
- data/lib/templates/puppet/step-0/modules/stdlib/manifests/stages.pp +0 -43
- data/lib/templates/puppet/step-0/modules/stdlib/metadata.json +0 -111
- data/lib/templates/puppet/step-0/modules/sudo/.fixtures.yml +0 -5
- data/lib/templates/puppet/step-0/modules/sudo/.gemfile +0 -14
- data/lib/templates/puppet/step-0/modules/sudo/.gemfile.lock +0 -43
- data/lib/templates/puppet/step-0/modules/sudo/.travis.yml +0 -34
- data/lib/templates/puppet/step-0/modules/sudo/LICENSE +0 -13
- data/lib/templates/puppet/step-0/modules/sudo/Modulefile +0 -9
- data/lib/templates/puppet/step-0/modules/sudo/README.md +0 -171
- data/lib/templates/puppet/step-0/modules/sudo/Rakefile +0 -1
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.aix +0 -90
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.archlinux +0 -90
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.deb +0 -90
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.freebsd +0 -98
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.omnios +0 -90
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.rhel5 +0 -97
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.rhel6 +0 -115
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.solaris +0 -90
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.suse +0 -81
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.ubuntu +0 -30
- data/lib/templates/puppet/step-0/modules/sudo/files/sudoers.wheezy +0 -17
- data/lib/templates/puppet/step-0/modules/sudo/lib/augeas/lenses/fixedsudoers.aug +0 -520
- data/lib/templates/puppet/step-0/modules/sudo/manifests/allow.pp +0 -76
- data/lib/templates/puppet/step-0/modules/sudo/manifests/conf.pp +0 -105
- data/lib/templates/puppet/step-0/modules/sudo/manifests/configs.pp +0 -24
- data/lib/templates/puppet/step-0/modules/sudo/manifests/init.pp +0 -151
- data/lib/templates/puppet/step-0/modules/sudo/manifests/package/aix.pp +0 -46
- data/lib/templates/puppet/step-0/modules/sudo/manifests/package/solaris.pp +0 -60
- data/lib/templates/puppet/step-0/modules/sudo/manifests/package.pp +0 -61
- data/lib/templates/puppet/step-0/modules/sudo/manifests/params.pp +0 -127
- data/lib/templates/puppet/step-0/modules/sudo/metadata.json +0 -59
- data/lib/templates/puppet/step-0/modules/sudo/templates/users_groups.erb +0 -9
data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/delete_values.rb
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Puppet::Parser::Functions
|
|
2
|
-
newfunction(:delete_values, :type => :rvalue, :doc => <<-EOS
|
|
3
|
-
Deletes all instances of a given value from a hash.
|
|
4
|
-
|
|
5
|
-
*Examples:*
|
|
6
|
-
|
|
7
|
-
delete_values({'a'=>'A','b'=>'B','c'=>'C','B'=>'D'}, 'B')
|
|
8
|
-
|
|
9
|
-
Would return: {'a'=>'A','c'=>'C','B'=>'D'}
|
|
10
|
-
|
|
11
|
-
EOS
|
|
12
|
-
) do |arguments|
|
|
13
|
-
|
|
14
|
-
raise(Puppet::ParseError,
|
|
15
|
-
"delete_values(): Wrong number of arguments given " +
|
|
16
|
-
"(#{arguments.size} of 2)") if arguments.size != 2
|
|
17
|
-
|
|
18
|
-
hash, item = arguments
|
|
19
|
-
|
|
20
|
-
if not hash.is_a?(Hash)
|
|
21
|
-
raise(TypeError, "delete_values(): First argument must be a Hash. " + \
|
|
22
|
-
"Given an argument of class #{hash.class}.")
|
|
23
|
-
end
|
|
24
|
-
hash.dup.delete_if { |key, val| item == val }
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# difference.rb
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:difference, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
This function returns the difference between two arrays.
|
|
8
|
-
The returned array is a copy of the original array, removing any items that
|
|
9
|
-
also appear in the second array.
|
|
10
|
-
|
|
11
|
-
*Examples:*
|
|
12
|
-
|
|
13
|
-
difference(["a","b","c"],["b","c","d"])
|
|
14
|
-
|
|
15
|
-
Would return: ["a"]
|
|
16
|
-
EOS
|
|
17
|
-
) do |arguments|
|
|
18
|
-
|
|
19
|
-
# Two arguments are required
|
|
20
|
-
raise(Puppet::ParseError, "difference(): Wrong number of arguments " +
|
|
21
|
-
"given (#{arguments.size} for 2)") if arguments.size != 2
|
|
22
|
-
|
|
23
|
-
first = arguments[0]
|
|
24
|
-
second = arguments[1]
|
|
25
|
-
|
|
26
|
-
unless first.is_a?(Array) && second.is_a?(Array)
|
|
27
|
-
raise(Puppet::ParseError, 'difference(): Requires 2 arrays')
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
result = first - second
|
|
31
|
-
|
|
32
|
-
return result
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
# vim: set ts=2 sw=2 et :
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module Puppet::Parser::Functions
|
|
2
|
-
newfunction(:dirname, :type => :rvalue, :doc => <<-EOS
|
|
3
|
-
Returns the dirname of a path.
|
|
4
|
-
EOS
|
|
5
|
-
) do |arguments|
|
|
6
|
-
|
|
7
|
-
raise(Puppet::ParseError, "dirname(): Wrong number of arguments " +
|
|
8
|
-
"given (#{arguments.size} for 1)") if arguments.size < 1
|
|
9
|
-
|
|
10
|
-
path = arguments[0]
|
|
11
|
-
return File.dirname(path)
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
# vim: set ts=2 sw=2 et :
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# downcase.rb
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:downcase, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
Converts the case of a string or all strings in an array to lower case.
|
|
8
|
-
EOS
|
|
9
|
-
) do |arguments|
|
|
10
|
-
|
|
11
|
-
raise(Puppet::ParseError, "downcase(): Wrong number of arguments " +
|
|
12
|
-
"given (#{arguments.size} for 1)") if arguments.size < 1
|
|
13
|
-
|
|
14
|
-
value = arguments[0]
|
|
15
|
-
klass = value.class
|
|
16
|
-
|
|
17
|
-
unless [Array, String].include?(klass)
|
|
18
|
-
raise(Puppet::ParseError, 'downcase(): Requires either ' +
|
|
19
|
-
'array or string to work with')
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
if value.is_a?(Array)
|
|
23
|
-
# Numbers in Puppet are often string-encoded which is troublesome ...
|
|
24
|
-
result = value.collect { |i| i.is_a?(String) ? i.downcase : i }
|
|
25
|
-
else
|
|
26
|
-
result = value.downcase
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
return result
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
# vim: set ts=2 sw=2 et :
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# empty.rb
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:empty, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
Returns true if the variable is empty.
|
|
8
|
-
EOS
|
|
9
|
-
) do |arguments|
|
|
10
|
-
|
|
11
|
-
raise(Puppet::ParseError, "empty(): Wrong number of arguments " +
|
|
12
|
-
"given (#{arguments.size} for 1)") if arguments.size < 1
|
|
13
|
-
|
|
14
|
-
value = arguments[0]
|
|
15
|
-
klass = value.class
|
|
16
|
-
|
|
17
|
-
unless [Array, Hash, String].include?(klass)
|
|
18
|
-
raise(Puppet::ParseError, 'empty(): Requires either ' +
|
|
19
|
-
'array, hash or string to work with')
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
result = value.empty?
|
|
23
|
-
|
|
24
|
-
return result
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# vim: set ts=2 sw=2 et :
|
data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/ensure_packages.rb
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# ensure_packages.rb
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:ensure_packages, :type => :statement, :doc => <<-EOS
|
|
7
|
-
Takes a list of packages and only installs them if they don't already exist.
|
|
8
|
-
It optionally takes a hash as a second parameter that will be passed as the
|
|
9
|
-
third argument to the ensure_resource() function.
|
|
10
|
-
EOS
|
|
11
|
-
) do |arguments|
|
|
12
|
-
|
|
13
|
-
if arguments.size > 2 or arguments.size == 0
|
|
14
|
-
raise(Puppet::ParseError, "ensure_packages(): Wrong number of arguments " +
|
|
15
|
-
"given (#{arguments.size} for 1 or 2)")
|
|
16
|
-
elsif arguments.size == 2 and !arguments[1].is_a?(Hash)
|
|
17
|
-
raise(Puppet::ParseError, 'ensure_packages(): Requires second argument to be a Hash')
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
packages = Array(arguments[0])
|
|
21
|
-
|
|
22
|
-
if arguments[1]
|
|
23
|
-
defaults = { 'ensure' => 'present' }.merge(arguments[1])
|
|
24
|
-
else
|
|
25
|
-
defaults = { 'ensure' => 'present' }
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
Puppet::Parser::Functions.function(:ensure_resource)
|
|
29
|
-
packages.each { |package_name|
|
|
30
|
-
function_ensure_resource(['package', package_name, defaults ])
|
|
31
|
-
}
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
# vim: set ts=2 sw=2 et :
|
data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/ensure_resource.rb
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# Test whether a given class or definition is defined
|
|
2
|
-
require 'puppet/parser/functions'
|
|
3
|
-
|
|
4
|
-
Puppet::Parser::Functions.newfunction(:ensure_resource,
|
|
5
|
-
:type => :statement,
|
|
6
|
-
:doc => <<-'ENDOFDOC'
|
|
7
|
-
Takes a resource type, title, and a list of attributes that describe a
|
|
8
|
-
resource.
|
|
9
|
-
|
|
10
|
-
user { 'dan':
|
|
11
|
-
ensure => present,
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
This example only creates the resource if it does not already exist:
|
|
15
|
-
|
|
16
|
-
ensure_resource('user', 'dan', {'ensure' => 'present' })
|
|
17
|
-
|
|
18
|
-
If the resource already exists but does not match the specified parameters,
|
|
19
|
-
this function will attempt to recreate the resource leading to a duplicate
|
|
20
|
-
resource definition error.
|
|
21
|
-
|
|
22
|
-
An array of resources can also be passed in and each will be created with
|
|
23
|
-
the type and parameters specified if it doesn't already exist.
|
|
24
|
-
|
|
25
|
-
ensure_resource('user', ['dan','alex'], {'ensure' => 'present'})
|
|
26
|
-
|
|
27
|
-
ENDOFDOC
|
|
28
|
-
) do |vals|
|
|
29
|
-
type, title, params = vals
|
|
30
|
-
raise(ArgumentError, 'Must specify a type') unless type
|
|
31
|
-
raise(ArgumentError, 'Must specify a title') unless title
|
|
32
|
-
params ||= {}
|
|
33
|
-
|
|
34
|
-
items = [title].flatten
|
|
35
|
-
|
|
36
|
-
items.each do |item|
|
|
37
|
-
Puppet::Parser::Functions.function(:defined_with_params)
|
|
38
|
-
if function_defined_with_params(["#{type}[#{item}]", params])
|
|
39
|
-
Puppet.debug("Resource #{type}[#{item}] not created because it already exists")
|
|
40
|
-
else
|
|
41
|
-
Puppet::Parser::Functions.function(:create_resources)
|
|
42
|
-
function_create_resources([type.capitalize, { item => params }])
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# flatten.rb
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:flatten, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
This function flattens any deeply nested arrays and returns a single flat array
|
|
8
|
-
as a result.
|
|
9
|
-
|
|
10
|
-
*Examples:*
|
|
11
|
-
|
|
12
|
-
flatten(['a', ['b', ['c']]])
|
|
13
|
-
|
|
14
|
-
Would return: ['a','b','c']
|
|
15
|
-
EOS
|
|
16
|
-
) do |arguments|
|
|
17
|
-
|
|
18
|
-
raise(Puppet::ParseError, "flatten(): Wrong number of arguments " +
|
|
19
|
-
"given (#{arguments.size} for 1)") if arguments.size != 1
|
|
20
|
-
|
|
21
|
-
array = arguments[0]
|
|
22
|
-
|
|
23
|
-
unless array.is_a?(Array)
|
|
24
|
-
raise(Puppet::ParseError, 'flatten(): Requires array to work with')
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
result = array.flatten
|
|
28
|
-
|
|
29
|
-
return result
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
# vim: set ts=2 sw=2 et :
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
module Puppet::Parser::Functions
|
|
2
|
-
newfunction(:floor, :type => :rvalue, :doc => <<-EOS
|
|
3
|
-
Returns the largest integer less or equal to the argument.
|
|
4
|
-
Takes a single numeric value as an argument.
|
|
5
|
-
EOS
|
|
6
|
-
) do |arguments|
|
|
7
|
-
|
|
8
|
-
raise(Puppet::ParseError, "floor(): Wrong number of arguments " +
|
|
9
|
-
"given (#{arguments.size} for 1)") if arguments.size != 1
|
|
10
|
-
|
|
11
|
-
begin
|
|
12
|
-
arg = Float(arguments[0])
|
|
13
|
-
rescue TypeError, ArgumentError => e
|
|
14
|
-
raise(Puppet::ParseError, "floor(): Wrong argument type " +
|
|
15
|
-
"given (#{arguments[0]} for Numeric)")
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
raise(Puppet::ParseError, "floor(): Wrong argument type " +
|
|
19
|
-
"given (#{arg.class} for Numeric)") if arg.is_a?(Numeric) == false
|
|
20
|
-
|
|
21
|
-
arg.floor
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# vim: set ts=2 sw=2 et :
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# fqdn_rotate.rb
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:fqdn_rotate, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
Rotates an array a random number of times based on a nodes fqdn.
|
|
8
|
-
EOS
|
|
9
|
-
) do |arguments|
|
|
10
|
-
|
|
11
|
-
raise(Puppet::ParseError, "fqdn_rotate(): Wrong number of arguments " +
|
|
12
|
-
"given (#{arguments.size} for 1)") if arguments.size < 1
|
|
13
|
-
|
|
14
|
-
value = arguments[0]
|
|
15
|
-
klass = value.class
|
|
16
|
-
require 'digest/md5'
|
|
17
|
-
|
|
18
|
-
unless [Array, String].include?(klass)
|
|
19
|
-
raise(Puppet::ParseError, 'fqdn_rotate(): Requires either ' +
|
|
20
|
-
'array or string to work with')
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
result = value.clone
|
|
24
|
-
|
|
25
|
-
string = value.is_a?(String) ? true : false
|
|
26
|
-
|
|
27
|
-
# Check whether it makes sense to rotate ...
|
|
28
|
-
return result if result.size <= 1
|
|
29
|
-
|
|
30
|
-
# We turn any string value into an array to be able to rotate ...
|
|
31
|
-
result = string ? result.split('') : result
|
|
32
|
-
|
|
33
|
-
elements = result.size
|
|
34
|
-
|
|
35
|
-
srand(Digest::MD5.hexdigest([lookupvar('::fqdn'),arguments].join(':')).hex)
|
|
36
|
-
rand(elements).times {
|
|
37
|
-
result.push result.shift
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
result = string ? result.join : result
|
|
41
|
-
|
|
42
|
-
return result
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
# vim: set ts=2 sw=2 et :
|
data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
module Puppet::Parser::Functions
|
|
2
|
-
newfunction(:get_module_path, :type =>:rvalue, :doc => <<-EOT
|
|
3
|
-
Returns the absolute path of the specified module for the current
|
|
4
|
-
environment.
|
|
5
|
-
|
|
6
|
-
Example:
|
|
7
|
-
$module_path = get_module_path('stdlib')
|
|
8
|
-
EOT
|
|
9
|
-
) do |args|
|
|
10
|
-
raise(Puppet::ParseError, "get_module_path(): Wrong number of arguments, expects one") unless args.size == 1
|
|
11
|
-
if module_path = Puppet::Module.find(args[0], compiler.environment.to_s)
|
|
12
|
-
module_path.path
|
|
13
|
-
else
|
|
14
|
-
raise(Puppet::ParseError, "Could not find module #{args[0]} in environment #{compiler.environment}")
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# Test whether a given class or definition is defined
|
|
2
|
-
require 'puppet/parser/functions'
|
|
3
|
-
|
|
4
|
-
Puppet::Parser::Functions.newfunction(:getparam,
|
|
5
|
-
:type => :rvalue,
|
|
6
|
-
:doc => <<-'ENDOFDOC'
|
|
7
|
-
Takes a resource reference and name of the parameter and
|
|
8
|
-
returns value of resource's parameter.
|
|
9
|
-
|
|
10
|
-
*Examples:*
|
|
11
|
-
|
|
12
|
-
define example_resource($param) {
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
example_resource { "example_resource_instance":
|
|
16
|
-
param => "param_value"
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
getparam(Example_resource["example_resource_instance"], "param")
|
|
20
|
-
|
|
21
|
-
Would return: param_value
|
|
22
|
-
ENDOFDOC
|
|
23
|
-
) do |vals|
|
|
24
|
-
reference, param = vals
|
|
25
|
-
raise(ArgumentError, 'Must specify a reference') unless reference
|
|
26
|
-
raise(ArgumentError, 'Must specify name of a parameter') unless param and param.instance_of? String
|
|
27
|
-
|
|
28
|
-
return '' if param.empty?
|
|
29
|
-
|
|
30
|
-
if resource = findresource(reference.to_s)
|
|
31
|
-
return resource[param] if resource[param]
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
return ''
|
|
35
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Puppet::Parser::Functions
|
|
2
|
-
|
|
3
|
-
newfunction(:getvar, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
|
|
4
|
-
Lookup a variable in a remote namespace.
|
|
5
|
-
|
|
6
|
-
For example:
|
|
7
|
-
|
|
8
|
-
$foo = getvar('site::data::foo')
|
|
9
|
-
# Equivalent to $foo = $site::data::foo
|
|
10
|
-
|
|
11
|
-
This is useful if the namespace itself is stored in a string:
|
|
12
|
-
|
|
13
|
-
$datalocation = 'site::data'
|
|
14
|
-
$bar = getvar("${datalocation}::bar")
|
|
15
|
-
# Equivalent to $bar = $site::data::bar
|
|
16
|
-
ENDHEREDOC
|
|
17
|
-
|
|
18
|
-
unless args.length == 1
|
|
19
|
-
raise Puppet::ParseError, ("getvar(): wrong number of arguments (#{args.length}; must be 1)")
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
self.lookupvar("#{args[0]}")
|
|
23
|
-
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# grep.rb
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:grep, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
This function searches through an array and returns any elements that match
|
|
8
|
-
the provided regular expression.
|
|
9
|
-
|
|
10
|
-
*Examples:*
|
|
11
|
-
|
|
12
|
-
grep(['aaa','bbb','ccc','aaaddd'], 'aaa')
|
|
13
|
-
|
|
14
|
-
Would return:
|
|
15
|
-
|
|
16
|
-
['aaa','aaaddd']
|
|
17
|
-
EOS
|
|
18
|
-
) do |arguments|
|
|
19
|
-
|
|
20
|
-
if (arguments.size != 2) then
|
|
21
|
-
raise(Puppet::ParseError, "grep(): Wrong number of arguments "+
|
|
22
|
-
"given #{arguments.size} for 2")
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
a = arguments[0]
|
|
26
|
-
pattern = Regexp.new(arguments[1])
|
|
27
|
-
|
|
28
|
-
a.grep(pattern)
|
|
29
|
-
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
# vim: set ts=2 sw=2 et :
|
data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_interface_with.rb
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# has_interface_with
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:has_interface_with, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
Returns boolean based on kind and value:
|
|
8
|
-
* macaddress
|
|
9
|
-
* netmask
|
|
10
|
-
* ipaddress
|
|
11
|
-
* network
|
|
12
|
-
|
|
13
|
-
has_interface_with("macaddress", "x:x:x:x:x:x")
|
|
14
|
-
has_interface_with("ipaddress", "127.0.0.1") => true
|
|
15
|
-
etc.
|
|
16
|
-
|
|
17
|
-
If no "kind" is given, then the presence of the interface is checked:
|
|
18
|
-
has_interface_with("lo") => true
|
|
19
|
-
EOS
|
|
20
|
-
) do |args|
|
|
21
|
-
|
|
22
|
-
raise(Puppet::ParseError, "has_interface_with(): Wrong number of arguments " +
|
|
23
|
-
"given (#{args.size} for 1 or 2)") if args.size < 1 or args.size > 2
|
|
24
|
-
|
|
25
|
-
interfaces = lookupvar('interfaces')
|
|
26
|
-
|
|
27
|
-
# If we do not have any interfaces, then there are no requested attributes
|
|
28
|
-
return false if (interfaces == :undefined)
|
|
29
|
-
|
|
30
|
-
interfaces = interfaces.split(',')
|
|
31
|
-
|
|
32
|
-
if args.size == 1
|
|
33
|
-
return interfaces.member?(args[0])
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
kind, value = args
|
|
37
|
-
|
|
38
|
-
if lookupvar(kind) == value
|
|
39
|
-
return true
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
result = false
|
|
43
|
-
interfaces.each do |iface|
|
|
44
|
-
if value == lookupvar("#{kind}_#{iface}")
|
|
45
|
-
result = true
|
|
46
|
-
break
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
result
|
|
51
|
-
end
|
|
52
|
-
end
|
data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_ip_address.rb
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# has_ip_address
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:has_ip_address, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
Returns true if the client has the requested IP address on some interface.
|
|
8
|
-
|
|
9
|
-
This function iterates through the 'interfaces' fact and checks the
|
|
10
|
-
'ipaddress_IFACE' facts, performing a simple string comparison.
|
|
11
|
-
EOS
|
|
12
|
-
) do |args|
|
|
13
|
-
|
|
14
|
-
raise(Puppet::ParseError, "has_ip_address(): Wrong number of arguments " +
|
|
15
|
-
"given (#{args.size} for 1)") if args.size != 1
|
|
16
|
-
|
|
17
|
-
Puppet::Parser::Functions.autoloader.load(:has_interface_with) \
|
|
18
|
-
unless Puppet::Parser::Functions.autoloader.loaded?(:has_interface_with)
|
|
19
|
-
|
|
20
|
-
function_has_interface_with(['ipaddress', args[0]])
|
|
21
|
-
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# vim:sts=2 sw=2
|
data/lib/templates/puppet/step-0/modules/stdlib/lib/puppet/parser/functions/has_ip_network.rb
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# has_ip_network
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:has_ip_network, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
Returns true if the client has an IP address within the requested network.
|
|
8
|
-
|
|
9
|
-
This function iterates through the 'interfaces' fact and checks the
|
|
10
|
-
'network_IFACE' facts, performing a simple string comparision.
|
|
11
|
-
EOS
|
|
12
|
-
) do |args|
|
|
13
|
-
|
|
14
|
-
raise(Puppet::ParseError, "has_ip_network(): Wrong number of arguments " +
|
|
15
|
-
"given (#{args.size} for 1)") if args.size != 1
|
|
16
|
-
|
|
17
|
-
Puppet::Parser::Functions.autoloader.load(:has_interface_with) \
|
|
18
|
-
unless Puppet::Parser::Functions.autoloader.loaded?(:has_interface_with)
|
|
19
|
-
|
|
20
|
-
function_has_interface_with(['network', args[0]])
|
|
21
|
-
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# vim:sts=2 sw=2
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
module Puppet::Parser::Functions
|
|
2
|
-
|
|
3
|
-
newfunction(:has_key, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
|
|
4
|
-
Determine if a hash has a certain key value.
|
|
5
|
-
|
|
6
|
-
Example:
|
|
7
|
-
|
|
8
|
-
$my_hash = {'key_one' => 'value_one'}
|
|
9
|
-
if has_key($my_hash, 'key_two') {
|
|
10
|
-
notice('we will not reach here')
|
|
11
|
-
}
|
|
12
|
-
if has_key($my_hash, 'key_one') {
|
|
13
|
-
notice('this will be printed')
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
ENDHEREDOC
|
|
17
|
-
|
|
18
|
-
unless args.length == 2
|
|
19
|
-
raise Puppet::ParseError, ("has_key(): wrong number of arguments (#{args.length}; must be 2)")
|
|
20
|
-
end
|
|
21
|
-
unless args[0].is_a?(Hash)
|
|
22
|
-
raise Puppet::ParseError, "has_key(): expects the first argument to be a hash, got #{args[0].inspect} which is of type #{args[0].class}"
|
|
23
|
-
end
|
|
24
|
-
args[0].has_key?(args[1])
|
|
25
|
-
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
end
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# hash.rb
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:hash, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
This function converts an array into a hash.
|
|
8
|
-
|
|
9
|
-
*Examples:*
|
|
10
|
-
|
|
11
|
-
hash(['a',1,'b',2,'c',3])
|
|
12
|
-
|
|
13
|
-
Would return: {'a'=>1,'b'=>2,'c'=>3}
|
|
14
|
-
EOS
|
|
15
|
-
) do |arguments|
|
|
16
|
-
|
|
17
|
-
raise(Puppet::ParseError, "hash(): Wrong number of arguments " +
|
|
18
|
-
"given (#{arguments.size} for 1)") if arguments.size < 1
|
|
19
|
-
|
|
20
|
-
array = arguments[0]
|
|
21
|
-
|
|
22
|
-
unless array.is_a?(Array)
|
|
23
|
-
raise(Puppet::ParseError, 'hash(): Requires array to work with')
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
result = {}
|
|
27
|
-
|
|
28
|
-
begin
|
|
29
|
-
# This is to make it compatible with older version of Ruby ...
|
|
30
|
-
array = array.flatten
|
|
31
|
-
result = Hash[*array]
|
|
32
|
-
rescue Exception
|
|
33
|
-
raise(Puppet::ParseError, 'hash(): Unable to compute ' +
|
|
34
|
-
'hash from array given')
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
return result
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
# vim: set ts=2 sw=2 et :
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# intersection.rb
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:intersection, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
This function returns an array an intersection of two.
|
|
8
|
-
|
|
9
|
-
*Examples:*
|
|
10
|
-
|
|
11
|
-
intersection(["a","b","c"],["b","c","d"])
|
|
12
|
-
|
|
13
|
-
Would return: ["b","c"]
|
|
14
|
-
EOS
|
|
15
|
-
) do |arguments|
|
|
16
|
-
|
|
17
|
-
# Two arguments are required
|
|
18
|
-
raise(Puppet::ParseError, "intersection(): Wrong number of arguments " +
|
|
19
|
-
"given (#{arguments.size} for 2)") if arguments.size != 2
|
|
20
|
-
|
|
21
|
-
first = arguments[0]
|
|
22
|
-
second = arguments[1]
|
|
23
|
-
|
|
24
|
-
unless first.is_a?(Array) && second.is_a?(Array)
|
|
25
|
-
raise(Puppet::ParseError, 'intersection(): Requires 2 arrays')
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
result = first & second
|
|
29
|
-
|
|
30
|
-
return result
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
# vim: set ts=2 sw=2 et :
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# is_array.rb
|
|
3
|
-
#
|
|
4
|
-
|
|
5
|
-
module Puppet::Parser::Functions
|
|
6
|
-
newfunction(:is_array, :type => :rvalue, :doc => <<-EOS
|
|
7
|
-
Returns true if the variable passed to this function is an array.
|
|
8
|
-
EOS
|
|
9
|
-
) do |arguments|
|
|
10
|
-
|
|
11
|
-
raise(Puppet::ParseError, "is_array(): Wrong number of arguments " +
|
|
12
|
-
"given (#{arguments.size} for 1)") if arguments.size < 1
|
|
13
|
-
|
|
14
|
-
type = arguments[0]
|
|
15
|
-
|
|
16
|
-
result = type.is_a?(Array)
|
|
17
|
-
|
|
18
|
-
return result
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
# vim: set ts=2 sw=2 et :
|