Hello,
I'm programming my own custom type. It is at
https://github.com/amateo/puppet-omd/blob/feature/TLM-4087/lib/puppet/type/thruk_bp.rb
and is mainly copied from concat provided in puppetlabs/concat.
My problem with this type is that it creates a file from a json and
some parameters must support UTF-8 characters. With the implementation I
have, if I use UTF-8 in some field, I get an error in the call
JSON.pretty_generate(json):
Error: /Stage[main]/Main/Thruk_bp[atica/Autenticación de usuarios]:
Failed to generate additional resources using 'eval_generate': "\xC3"
from ASCII-8BIT to UTF-8
So I have forced all my params to be coded in UTF-8 using a
force_encoding call. What I do is to inherit from NagiosParam in all
parameters definition, where NagiosParam is:
class NagiosParam < Puppet::Property
class << self
attr_accessor :boundaries, :default
end
def should
if @should and @should[0] == :absent
:absent
else
@should.join(',')
end
end
munge do |value|
if value == 'absent' or value == :absent
return :absent
elsif value == ''
return :absent
else
if value.respond_to?('force_encoding') then
value.force_encoding('ASCII-8BIT')
end
return super(value)
end
end
end
In this case, all resources are created without any problem, but I get
the error
Error: Could not create resource file
/opt/puppetlabs/puppet/cache/state/resources.txt: incompatible character
encodings: ASCII-8BIT and UTF-8
in every agent run.
What is the correct way to handle with different language encodings?
--
Angel L. Mateo Martínez
Sección de Telemática
Área de Tecnologías de la Información
y las Comunicaciones Aplicadas (ATICA)
http://www.um.es/atica
Tfo: 868889150
Fax: 868888337
--
You received this message because you are subscribed to the Google Groups "Puppet
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/430368b8-a9c9-0bf1-efd6-5f0b8ed0716a%40um.es.
For more options, visit https://groups.google.com/d/optout.