====Chef - recipes==== ====Odkazy==== [[chef.html|Chef]]\\ [[../dev/ruby.html|Ruby]]\\ ====Prikazy==== include_recipe 'ibm_tsm-client::client-config_linux'\\ server_bag = data_bag_item('directory', 'file') ... vytvori objekt server_bag z databagu $CHEF/data-bags/directory/file.json\\ variable = server_bag['variable'] ... priradi hodnotu promenne variable z objektu server_bag\\ require 'chef/win32/version'\\ Chef::Application.fatal!('Ouch!!! Bailing out!!!') ... fatal error, vyskoci z behu chef-clienta\\ Chef::ReservedNames::Win32::Version.new\\ Chef::Config['file_cache_path']\\ Chef::Config[:file_cache_path] ... Cache adresar\\ Chef::Log.info(node["ad"]["ou_name"])\\ Chef::Log.error("It is")\\ Chef::Log.debug(url)\\ cookbook_name.delete('_').delete('-')\\ recipe_name.delete('_').delete('-')\\ Time.now\\ Time.utc(*buildDate.to_a)\\ createFile("#{fileLocation}", "#{messageText}", "#{checkOriginalInstallationDate}")\\ registry_get_values('HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters')\\ ====Promenne==== #{recipe_name} \\ #{cookbook_name} \\ #{__FILE__} ... jmeno aktualniho rubi skriptu\\ "#{Chef::Config['file_cache_path']} ... docasny adresar (nastaveny v client.rb)\\ tnode=Chef::Node.load(node.name)\\ tnode.run_list << "role[aaa]" ... prida roli do node\\ tnode.override["ad"]["domain_name"]='aaa'\\ this_node.normal_attrs["ad"]["domain_name"]\\ tnode.save\\ ====Zdroje - Resorces==== [[https://docs.chef.io/resource_registry_key.html|registry_key]] ... memeni windows registru\\ ohai 'reload' do action :reload end windows_package "aaa aaa" do package_name "aaa aaa" source "url/aaa.msi" action :install source_codes [0, 4, 127, 1] end remote_file "#{localfilepath}" do source "#{url}" action :create_if_missing end windows_batch 'unzip_tsm_images' do code <<-EOH "C:\\Program Files\\7-Zip\\7z.exe" x #{localfilepath} -oC:\\ -r -y EOH not_if {::File.exists?('C:/tsm_images')} end windows_path 'C:\Perl64\bin' do action :add end execute 'create_ico_folder' do command 'mkdir /tmp/ico' not_if { File.exists?("/tmp/ico") } end bash 'set file permissions' do cwd '/tmp/ico/backup_deploy' code <<-EOF unzip #{localfilepath} -d /tmp/ico chmod +x /tmp/ico/backup_deploy/sco_clilnx.sh touch /tmp/ico/backup_deploy/sco_clilnx.conf chmod 400 /tmp/ico/backup_deploy/sco_clilnx.conf mkdir -p /busapps/rexu/100/_lgi/exploitsm/conf/ EOF end template "/busapps/rexu/100/_lgi/exploitsm/conf/#{node_name_lower}_rbckeur0" do source 'journal_key.erb' owner "root" group "root" mode "0600" end powershell_script 'Run KMS Client' do code <<-EOH cscript "$env:windir\\system32\\slmgr.vbs" -skms #{node[:kms][:server_name]}:#{node[:kms][:server_port]} cscript "$env:windir\\system32\\slmgr.vbs" /ato EOH end file "#{arg1}" do user "root" group "root" mode "0444" content "#{arg2}#{arg3}" puts "OK: #{arg1} timestamp file created" not_if do ::File.exists?("#{arg1}") end end ruby_block 'display build timestamp attribute value' do block do puts "OK: build timestamp attribute is already set to : #{checkOriginalInstallationDate}, nothing to do." end action :run end