IMT Puppet tutorial Session 5 Dinan Yin Scientific

  • Slides: 22
Download presentation
IM&T Puppet tutorial Session 5 Dinan Yin | Scientific Computing Systems Unix Lead 16

IM&T Puppet tutorial Session 5 Dinan Yin | Scientific Computing Systems Unix Lead 16 April 2015 CSIRO IM&T

Arrays and Defined types § Arrays § Defined types § What are defined types

Arrays and Defined types § Arrays § Defined types § What are defined types § Syntax § Using defined types 2 | IM&T Puppet Tutorial S 5 | Dinan Yin

Arrays 3 | IM&T Puppet Tutorial S 5 | Dinan Yin

Arrays 3 | IM&T Puppet Tutorial S 5 | Dinan Yin

Arrays What is an Array? 4 | IM&T Puppet Tutorial S 5 | Dinan

Arrays What is an Array? 4 | IM&T Puppet Tutorial S 5 | Dinan Yin

Arrays What is an Array? Array is a variable containing a block of data

Arrays What is an Array? Array is a variable containing a block of data that can be indexed. 5 | IM&T Puppet Tutorial S 5 | Dinan Yin

Arrays What is an Array? Array is a variable containing a block of data

Arrays What is an Array? Array is a variable containing a block of data that can be indexed. What is it for? 6 | IM&T Puppet Tutorial S 5 | Dinan Yin

Arrays What is an Array? Array is a variable containing a block of data

Arrays What is an Array? Array is a variable containing a block of data that can be indexed. What is it for? Instead of declaring and referring multiple variables individually, we refer to the index of a single variable. 7 | IM&T Puppet Tutorial S 5 | Dinan Yin

Arrays Declaration syntax: $array_name = [ value 1, value 2, value 3… ] 8

Arrays Declaration syntax: $array_name = [ value 1, value 2, value 3… ] 8 | IM&T Puppet Tutorial S 5 | Dinan Yin

Arrays Declaration syntax: $array_name = [ value 1, value 2, value 3… ] Referral

Arrays Declaration syntax: $array_name = [ value 1, value 2, value 3… ] Referral syntax (individual elements): $array_name [index] 9 | IM&T Puppet Tutorial S 5 | Dinan Yin

Arrays Example: $simpsons = [ ‘homer’, ‘marge’, ‘lisa’, ‘bart’, ‘maggie’ ] 10 | IM&T

Arrays Example: $simpsons = [ ‘homer’, ‘marge’, ‘lisa’, ‘bart’, ‘maggie’ ] 10 | IM&T Puppet Tutorial S 5 | Dinan Yin

Arrays Example: $simpsons = [ ‘homer’, ‘marge’, ‘lisa’, ‘bart’, ‘maggie’ ] notify { $simpsons

Arrays Example: $simpsons = [ ‘homer’, ‘marge’, ‘lisa’, ‘bart’, ‘maggie’ ] notify { $simpsons [0]: } notify { $simpsons [1]: } notify { $simpsons [2]: } notify { $simpsons [3]: } notify { $simpsons [4]: } 11 | IM&T Puppet Tutorial S 5 | Dinan Yin

Defined types 12 | IM&T Puppet Tutorial S 5 | Dinan Yin

Defined types 12 | IM&T Puppet Tutorial S 5 | Dinan Yin

Defined types What are defined types? 13 | IM&T Puppet Tutorial S 5 |

Defined types What are defined types? 13 | IM&T Puppet Tutorial S 5 | Dinan Yin

Defined types What are defined types? • Custom resources that can be re-used. 14

Defined types What are defined types? • Custom resources that can be re-used. 14 | IM&T Puppet Tutorial S 5 | Dinan Yin

Defined types What are defined types? • Custom resources that can be re-used. •

Defined types What are defined types? • Custom resources that can be re-used. • Think functions or macros in other languages. 15 | IM&T Puppet Tutorial S 5 | Dinan Yin

Defined types Declaration syntax: define <resource_name> (<optional_arguments>) { <resources> } 16 | IM&T Puppet

Defined types Declaration syntax: define <resource_name> (<optional_arguments>) { <resources> } 16 | IM&T Puppet Tutorial S 5 | Dinan Yin

Defined types Declaration syntax: define <resource_name> (<optional_arguments>) { <resources> } Usage syntax: <resource_name> {

Defined types Declaration syntax: define <resource_name> (<optional_arguments>) { <resources> } Usage syntax: <resource_name> { <namevar>: <optional_arguments> => <value>, } 17 | IM&T Puppet Tutorial S 5 | Dinan Yin

Defined types Example 1 basic usage of defined type: define create_ro_file () { file

Defined types Example 1 basic usage of defined type: define create_ro_file () { file { $name: ensure => ‘file’, mode => ‘ 0444’, } } create_ro_file { ‘/tmp/ro_file_01’: } 18 | IM&T Puppet Tutorial S 5 | Dinan Yin

Defined types Example 2 defined type with variable: define create_ro_file ($file_owner) { file {

Defined types Example 2 defined type with variable: define create_ro_file ($file_owner) { file { $name: ensure => ‘file’, owner => $file_owner, mode => ‘ 0444’, } } create_ro_file { ‘/tmp/ro_file_01’: file_owner => ‘yin 006’, } 19 | IM&T Puppet Tutorial S 5 | Dinan Yin

Defined types Example 3 adding variable in defined type: define create_ro_file ($file_owner) { $duplicate_file

Defined types Example 3 adding variable in defined type: define create_ro_file ($file_owner) { $duplicate_file = “${name}_copy” file { $name: ensure => ‘file’, owner => $file_owner, mode => ‘ 0444’, } file { $duplicate_file: ensure => ‘file’, owner => $file_owner, mode => ‘ 0444’, } } create_ro_file { ‘/tmp/ro_file_01’: file_owner => ‘yin 006’, } 20 | IM&T Puppet Tutorial S 5 | Dinan Yin

Defined types Example 4 using defined type with array: define create_ro_file ($file_owner) { file

Defined types Example 4 using defined type with array: define create_ro_file ($file_owner) { file { $name: ensure => ‘file’, owner => $file_owner, mode => ‘ 0444’, } } $ro_files = [ ‘/tmp/ro_file_01’, ‘/tmp/ro_file_02’, ‘/tmp/ro_file_03’ ] create_ro_file { $ro_files: file_owner => ‘yin 006’, } 21 | IM&T Puppet Tutorial S 5 | Dinan Yin

Thank you IM&T Scientific Computing Systems Dinan Yin Scientific Computing Systems Unix Lead t

Thank you IM&T Scientific Computing Systems Dinan Yin Scientific Computing Systems Unix Lead t +61 2 9490 5569 e Dinan. Yin@csiro. au w www. csiro. au IM&T