diff --git a/examples/complete_create.pp b/examples/complete_create.pp index 378c6f7..3458dc6 100644 --- a/examples/complete_create.pp +++ b/examples/complete_create.pp @@ -1,85 +1,85 @@ #Example of Puppet Device node 'cloud-dev-405-a12-02.puretec.purestorage.com' { #--> This is Device name - volume{ "pure_storage_volume": - #ensure either "present" or "absent" - ensure => "present", - volume_name => "test_device_volume", - volume_size => "2.0G", - } - hostconfig{ "pure_storage_host": - ensure => "present", - host_name => "test-device-host", - host_iqnlist => ["iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03f","iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03g"], - } - connection{ "pure_storage_connection": - ensure => "present", - host_name => "test-device-host", - volume_name => "test_device_volume", - #Added dependency on volume and host resource types - #to be present, other wise connection will fail. - require => [Volume['pure_storage_volume'], - Hostconfig['pure_storage_host'] - ], - } + volume{ 'pure_storage_volume': + #ensure either 'present' or 'absent' + ensure => 'present', + volume_name => 'test_device_volume', + volume_size => '2.0G', + } + hostconfig{ 'pure_storage_host': + ensure => 'present', + host_name => 'test-device-host', + host_iqnlist => ['iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03f','iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03g'], + } + connection{ 'pure_storage_connection': + ensure => 'present', + host_name => 'test-device-host', + volume_name => 'test_device_volume', + #Added dependency on volume and host resource types + #to be present, other wise connection will fail. + require => [Volume['pure_storage_volume'], + Hostconfig['pure_storage_host'] + ], + } } #Example of Puppet Agent node 'calsoft-puppet-agent.puretec.purestorage.com'{ #--> This is Agent vm name #Note : device_url is MANDATORY here. - $device_url = 'https://pureuser:******@cloud-dev-405-a12-02.puretec.purestorage.com' - - volume{ "pure_storage_volume": - #ensure either "present" or "absent" - ensure => "present", - volume_name => "test_agent_volume", - volume_size => "1.0G", - device_url => $device_url, - } - hostconfig{ "pure_storage_host": - ensure => "present", - host_name => "test-agent-host", - host_iqnlist => ["iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03h","iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e0i"], - device_url => $device_url, - } - connection{ "pure_storage_connection": - ensure => "present", - host_name => "test-agent-host", - volume_name => "test_agent_volume", + $device_url = 'https://pureuser:******@cloud-dev-405-a12-02.puretec.purestorage.com' + + volume{ 'pure_storage_volume': + #ensure either 'present' or 'absent' + ensure => 'present', + volume_name => 'test_agent_volume', + volume_size => '1.0G', + device_url => $device_url, + } + hostconfig{ 'pure_storage_host': + ensure => 'present', + host_name => 'test-agent-host', + host_iqnlist => ['iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03h','iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e0i'], + device_url => $device_url, + } + connection{ 'pure_storage_connection': + ensure => 'present', + host_name => 'test-agent-host', + volume_name => 'test_agent_volume', #Added dependency on volume and host resource types #to be present, other wise connection will fail. - require => [Volume['pure_storage_volume'], - Hostconfig['pure_storage_host'] - ], - device_url => $device_url, - } + require => [Volume['pure_storage_volume'], + Hostconfig['pure_storage_host'] + ], + device_url => $device_url, + } } #Example of Puppet Apply node 'puppet.puretec.purestorage.com'{ #--> This is master vm name #Note: device_url is MANDATORY here. - $device_url = 'https://pureuser:******@cloud-dev-405-a12-02.puretec.purestorage.com' + $device_url = 'https://pureuser:******@cloud-dev-405-a12-02.puretec.purestorage.com' - volume{ "pure_storage_volume": - #ensure either "present" or "absent" - ensure => "present", - volume_name => "test_apply_volume", - volume_size => "1.0G", - device_url => $device_url, - } - hostconfig{ "pure_storage_host": - ensure => "present", - host_name => "test-apply-host", - host_iqnlist => ["iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03j","iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03k"], - device_url => $device_url, - } - connection{ "pure_storage_connection": - ensure => "present", - host_name => "test-apply-host", - volume_name => "test_apply_volume", + volume{ 'pure_storage_volume': + #ensure either 'present' or 'absent' + ensure => 'present', + volume_name => 'test_apply_volume', + volume_size => '1.0G', + device_url => $device_url, + } + hostconfig{ 'pure_storage_host': + ensure => 'present', + host_name => 'test-apply-host', + host_iqnlist => ['iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03j','iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03k'], + device_url => $device_url, + } + connection{ 'pure_storage_connection': + ensure => 'present', + host_name => 'test-apply-host', + volume_name => 'test_apply_volume', #Added dependency on volume and host resource types #to be present, other wise connection will fail. - require => [Volume['pure_storage_volume'], - Hostconfig['pure_storage_host'] - ], - device_url => $device_url, - } + require => [Volume['pure_storage_volume'], + Hostconfig['pure_storage_host'] + ], + device_url => $device_url, + } } diff --git a/examples/connection.pp b/examples/connection.pp index d1a49da..bd472d3 100644 --- a/examples/connection.pp +++ b/examples/connection.pp @@ -1,8 +1,8 @@ node 'cloud-dev-405-a12-02.puretec.purestorage.com' { - - connection{ "pure_storage_connection": - ensure => "absent", - host_name => "test-host", - volume_name => "test_02", - } -} \ No newline at end of file + + connection{ 'pure_storage_connection': + ensure => 'absent', + host_name => 'test-host', + volume_name => 'test_02', + } +} diff --git a/examples/hostconfig.pp b/examples/hostconfig.pp index 006ca38..1dc9e2a 100644 --- a/examples/hostconfig.pp +++ b/examples/hostconfig.pp @@ -1,8 +1,8 @@ - node 'cloud-dev-405-a12-02.puretec.purestorage.com' { - - hostconfig{ "pure_storage_host": - ensure => "absent", - host_name => "test-host", - host_iqnlist => "iqn.1994-04.jp.co.hitachi:rsd.d9s.t.10103.0e02a", - } -} \ No newline at end of file +node 'cloud-dev-405-a12-02.puretec.purestorage.com' { + + hostconfig{ 'pure_storage_host': + ensure => 'absent', + host_name => 'test-host', + host_iqnlist => 'iqn.1994-04.jp.co.hitachi:rsd.d9s.t.10103.0e02a', + } +} diff --git a/examples/volume.pp b/examples/volume.pp index 61c7657..5dcf982 100644 --- a/examples/volume.pp +++ b/examples/volume.pp @@ -1,8 +1,8 @@ - node 'cloud-dev-405-a12-02.puretec.purestorage.com' { - - volume{ "pure_storage_volume": - ensure => "absent", - volume_name => "test_02", - volume_size => "1.0G", +node 'cloud-dev-405-a12-02.puretec.purestorage.com' { + + volume{ 'pure_storage_volume': + ensure => 'absent', + volume_name => 'test_02', + volume_size => '1.0G', } -} \ No newline at end of file +} diff --git a/manifests/device.pp b/manifests/device.pp index c796ebd..b970958 100644 --- a/manifests/device.pp +++ b/manifests/device.pp @@ -1,23 +1,24 @@ +# Define the authentication type define pure::device ( $hostname, $username, $password, $target = undef, -) { - # validate_string($hostname) - # validate_string($username) - # validate_string($password) + ) { + # validate_string($hostname) + # validate_string($username) + # validate_string($password) - # $device_config = pick($target, $::settings::deviceconfig) + # $device_config = pick($target, $::settings::deviceconfig) #validate_absolute_path($device_config) augeas { "device.conf/${name}": lens => 'Puppet_Device', - incl => $device_config, - context => $device_config, + incl => $::device_config, + context => $::device_config, changes => [ - 'set ${name}/type pure', + "set ${name}/type pure", "set ${name}/url https://${username}:${password}@${hostname}", ] } diff --git a/site.pp b/site.pp index 2776b05..ecc0652 100644 --- a/site.pp +++ b/site.pp @@ -1,25 +1,25 @@ #Example of Puppet Device node 'cloud-dev-405-a12-02.puretec.purestorage.com' { #--> This is Device name - volume{ "pure_storage_volume": + volume{ 'pure_storage_volume': #ensure either "present" or "absent" - ensure => "present", - volume_name => "test_device_volume_1", - volume_size => "2.5G", - } - hostconfig{ "pure_storage_host": - ensure => "present", - host_name => "test-device-host", - host_iqnlist => ["iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03f","iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03g"], + ensure => 'present', + volume_name => 'test_device_volume_1', + volume_size => '2.5G', } - connection{ "pure_storage_connection": - ensure => "present", - host_name => "test-device-host", - volume_name => "test_device_volume_1", - #Added dependency on volume and host resource types - #to be present, other wise connection will fail. - require => [Volume['pure_storage_volume'], - Hostconfig['pure_storage_host'] - ], + hostconfig{ 'pure_storage_host': + ensure => 'present', + host_name => 'test-device-host', + host_iqnlist => ['iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03f','iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03g'], + } + connection{ 'pure_storage_connection': + ensure => 'present', + host_name => 'test-device-host', + volume_name => 'test_device_volume_1', + #Added dependency on volume and host resource types + #to be present, other wise connection will fail. + require => [Volume['pure_storage_volume'], + Hostconfig['pure_storage_host'] + ], } } @@ -27,61 +27,61 @@ node 'calsoft-puppet-agent.puretec.purestorage.com'{ #--> This is Agent vm name #Note : device_url is MANDATORY here. $device_url = 'https://pureuser:pureuser@cloud-dev-405-a12-02.puretec.purestorage.com' - - volume{ "pure_storage_volume": + + volume{ 'pure_storage_volume': #ensure either "present" or "absent" - ensure => "present", - volume_name => "test_agent_volume_1", - volume_size => "1.0G", - device_url => $device_url, - } - hostconfig{ "pure_storage_host": - ensure => "present", - host_name => "test-agent-host", - host_iqnlist => ["iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03h","iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e0i"], - device_url => $device_url, - } - connection{ "pure_storage_connection": - ensure => "present", - host_name => "test-agent-host", - volume_name => "test_agent_volume_1", + ensure => 'present', + volume_name => 'test_agent_volume_1', + volume_size => '1.0G', + device_url => $device_url, + } + hostconfig{ 'pure_storage_host': + ensure => 'present', + host_name => 'test-agent-host', + host_iqnlist => ['iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03h','iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e0i'], + device_url => $device_url, + } + connection{ 'pure_storage_connection': + ensure => 'present', + host_name => 'test-agent-host', + volume_name => 'test_agent_volume_1', #Added dependency on volume and host resource types #to be present, other wise connection will fail. - require => [Volume['pure_storage_volume'], - Hostconfig['pure_storage_host'] - ], - #Mandatory only for Puppet Apply and Agent approach. - device_url => $device_url, - } + require => [Volume['pure_storage_volume'], + Hostconfig['pure_storage_host'] + ], + #Mandatory only for Puppet Apply and Agent approach. + device_url => $device_url, + } } #Example of Puppet Apply node 'puppet.puretec.purestorage.com'{ #--> This is master vm name #Note: device_url is MANDATORY here. $device_url = 'https://pureuser:pureuser@cloud-dev-405-a12-02.puretec.purestorage.com' - volume{ "pure_storage_volume": + volume{ 'pure_storage_volume': #ensure either "present" or "absent" - ensure => "present", - volume_name => "test_apply_volume_1", - volume_size => "1.0G", - device_url => $device_url, - } - hostconfig{ "pure_storage_host": - ensure => "present", - host_name => "test-apply-host", - host_iqnlist => ["iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03j","iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03k"], - device_url => $device_url, - } - connection{ "pure_storage_connection": - ensure => "present", - host_name => "test-apply-host", - volume_name => "test_apply_volume_1", + ensure => 'present', + volume_name => 'test_apply_volume_1', + volume_size => '1.0G', + device_url => $device_url, + } + hostconfig{ 'pure_storage_host': + ensure => 'present', + host_name => 'test-apply-host', + host_iqnlist => ['iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03j','iqn.1994-04.jp.co.pure:rsd.d9s.t.10103.0e03k'], + device_url => $device_url, + } + connection{ 'pure_storage_connection': + ensure => 'present', + host_name => 'test-apply-host', + volume_name => 'test_apply_volume_1', #Added dependency on volume and host resource types #to be present, other wise connection will fail. - require => [Volume['pure_storage_volume'], - Hostconfig['pure_storage_host'] - ], - #Mandatory only for Puppet Apply and Agent approach. - device_url => $device_url, - } + require => [Volume['pure_storage_volume'], + Hostconfig['pure_storage_host'] + ], + #Mandatory only for Puppet Apply and Agent approach. + device_url => $device_url, + } }