summaryrefslogtreecommitdiff
path: root/README.markdown
diff options
context:
space:
mode:
authorNikhil Yadav <nikhil.yadav@amdocs.com>2016-03-10 10:33:35 +0530
committerNikhil Yadav <nikhil.yadav@amdocs.com>2016-03-15 09:29:38 +0530
commit0da9ca7e4a78df49c08873f55caf7c88cdd9bc32 (patch)
treeacb34d38594538ee3a3074d48b67cb75ef7099bd /README.markdown
parent69ca8d09c6124e9b5bd98e62fb201e734ae5bd05 (diff)
Add ensure_resources() function
New function "ensure_resources()" to support passing hash as parameter OR from hiera backend This new function is extension of ensure_resource() which will now support to pass multiple values as hash/array OR from hiera backend variables in title argument with additional parameters needed. It will process multiple values for a resource type from the passed argument & pass each entry (type, title, params) to ensure_resource() in required format for further processing. Now user can have duplicate resource check functionality extended to multiple entries with this new function. Use: For multiple resources using hash: ensure_resources('user', {'dan' => { gid => 'mygroup', uid =>'600' } , 'alex' => { gid => 'mygroup' }}, {'ensure' =>'present'}) From Hiera Backend: userlist: dan: gid: 'mygroup' uid: '600' alex: gid: 'mygroup' Call: ensure_resources('user',hiera_hash('userlist'), {'ensure' => 'present'}) ensure_packages() Modified to also support Hash type argument for packages This modification will call newly added ensure_resources() for processing Hash as second argument. The original functionality remains same for Array type arguments. Use: hiera: packagelist: ksh: ensure: latest mlocate: {} myrpm: provider: rpm source: "/tmp/myrpm-1.0.0.x86_64.rpm" install_options: --prefix: /users/home openssl: provider: rpm source: "/tmp/openssl-1.0.1e-42.el7.x86_64.rpm" Call: ensure_packages($packagelist)
Diffstat (limited to 'README.markdown')
-rw-r--r--README.markdown42
1 files changed, 40 insertions, 2 deletions
diff --git a/README.markdown b/README.markdown
index 994c22e..b6ead96 100644
--- a/README.markdown
+++ b/README.markdown
@@ -346,7 +346,15 @@ Returns true if the argument is an array or hash that contains no elements, or a
#### `ensure_packages`
-Takes a list of packages and only installs them if they don't already exist. It optionally takes a hash as a second parameter to be passed as the third argument to the `ensure_resource()` function. *Type*: statement.
+Takes a list of packages array/hash and only installs them if they don't already exist. It optionally takes a hash as a second parameter to be passed as the third argument to the `ensure_resource()` or `ensure_resources()` function. *Type*: statement.
+
+For Array:
+
+ ensure_packages(['ksh','openssl'], {'ensure' => 'present'})
+
+For Hash:
+
+ ensure_packages({'ksh' => { enure => '20120801-1' } , 'mypackage' => { source => '/tmp/myrpm-1.0.0.x86_64.rpm', provider => "rpm" }}, {'ensure' => 'present'})
#### `ensure_resource`
@@ -370,7 +378,37 @@ An array of resources can also be passed in, and each will be created with the t
*Type*: statement.
-#### `flatten`
+#### `ensure_resources`
+
+Takes a resource type, title (only hash), and a hash of attributes that describe the resource(s).
+
+~~~
+user { 'dan':
+ gid => 'mygroup',
+ ensure => present,
+}
+
+ensure_resources($user)
+~~~
+
+An hash of resources should be passed in and each will be created with the type and parameters specified if it doesn't already exist:
+
+ ensure_resources('user', {'dan' => { gid => 'mygroup', uid => '600' } , 'alex' => { gid => 'mygroup' }}, {'ensure' => 'present'})
+
+From Hiera Backend:
+
+~~~
+userlist:
+dan:
+ gid: 'mygroup'
+uid: '600'
+alex:
+gid: 'mygroup'
+
+ensure_resources('user', hiera_hash('userlist'), {'ensure' => 'present'})
+~~~
+
+### `flatten`
Flattens deeply nested arrays and returns a single flat array as a result. For example, `flatten(['a', ['b', ['c']]])` returns ['a','b','c']. *Type*: rvalue.