puppet 5.3.2 → 5.3.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (36) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +5 -1
  3. data/Rakefile +9 -4
  4. data/lib/puppet.rb +4 -5
  5. data/lib/puppet/external/nagios/grammar.ry +1 -1
  6. data/lib/puppet/external/nagios/parser.rb +1 -1
  7. data/lib/puppet/forge.rb +9 -3
  8. data/lib/puppet/forge/repository.rb +1 -1
  9. data/lib/puppet/gettext/config.rb +86 -28
  10. data/lib/puppet/graph/relationship_graph.rb +6 -0
  11. data/lib/puppet/indirector/catalog/compiler.rb +25 -5
  12. data/lib/puppet/indirector/file_bucket_file/file.rb +1 -1
  13. data/lib/puppet/module.rb +9 -18
  14. data/lib/puppet/pops/types/p_binary_type.rb +9 -2
  15. data/lib/puppet/pops/types/p_object_type.rb +9 -3
  16. data/lib/puppet/pops/types/ruby_generator.rb +65 -24
  17. data/lib/puppet/provider/service/base.rb +21 -8
  18. data/lib/puppet/provider/zfs/zfs.rb +5 -1
  19. data/lib/puppet/util/windows/file.rb +35 -4
  20. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +1 -1
  21. data/lib/puppet/version.rb +1 -1
  22. data/locales/ja/puppet.po +92 -64
  23. data/locales/puppet.pot +28 -24
  24. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +3 -0
  25. data/spec/integration/file_bucket/file_spec.rb +20 -5
  26. data/spec/integration/transaction_spec.rb +35 -2
  27. data/spec/unit/forge/forge_spec.rb +2 -2
  28. data/spec/unit/forge_spec.rb +105 -0
  29. data/spec/unit/gettext_config_spec.rb +4 -4
  30. data/spec/unit/graph/relationship_graph_spec.rb +15 -0
  31. data/spec/unit/module_spec.rb +8 -13
  32. data/spec/unit/pops/types/ruby_generator_spec.rb +192 -0
  33. data/spec/unit/provider/service/base_spec.rb +20 -0
  34. data/spec/unit/provider/zfs/zfs_spec.rb +7 -1
  35. data/spec/unit/type/nagios_spec.rb +21 -1
  36. metadata +3374 -3382
@@ -3,6 +3,43 @@ module Types
3
3
 
4
4
  # @api private
5
5
  class RubyGenerator < TypeFormatter
6
+
7
+ RUBY_RESERVED_WORDS = {
8
+ 'alias' => '_alias',
9
+ 'begin' => '_begin',
10
+ 'break' => '_break',
11
+ 'def' => '_def',
12
+ 'do' => '_do',
13
+ 'end' => '_end',
14
+ 'ensure' => '_ensure',
15
+ 'for' => '_for',
16
+ 'module' => '_module',
17
+ 'next' => '_next',
18
+ 'nil' => '_nil',
19
+ 'not' => '_not',
20
+ 'redo' => '_redo',
21
+ 'rescue' => '_rescue',
22
+ 'retry' => '_retry',
23
+ 'return' => '_return',
24
+ 'self' => '_self',
25
+ 'super' => '_super',
26
+ 'then' => '_then',
27
+ 'until' => '_until',
28
+ 'when' => '_when',
29
+ 'while' => '_while',
30
+ 'yield' => '_yield',
31
+ }
32
+
33
+ RUBY_RESERVED_WORDS_REVERSED = Hash[RUBY_RESERVED_WORDS.map { |k, v| [v, k] }]
34
+
35
+ def self.protect_reserved_name(name)
36
+ RUBY_RESERVED_WORDS[name] || name
37
+ end
38
+
39
+ def self.unprotect_reserved_name(name)
40
+ RUBY_RESERVED_WORDS_REVERSED[name] || name
41
+ end
42
+
6
43
  def remove_common_namespace(namespace_segments, name)
7
44
  segments = name.split(TypeFormatter::NAME_SEGMENT_SEPARATOR)
8
45
  namespace_segments.size.times do |idx|
@@ -174,8 +211,8 @@ class RubyGenerator < TypeFormatter
174
211
  constants, others = obj.attributes(true).values.partition { |a| a.kind == PObjectType::ATTRIBUTE_KIND_CONSTANT }
175
212
  constants = constants.select { |ca| ca.container.equal?(obj) }
176
213
  unless constants.empty?
177
- constants.each { |ca| bld << "\n def self." << ca.name << "\n _pcore_type['" << ca.name << "'].value\n end\n" }
178
- constants.each { |ca| bld << "\n def " << ca.name << "\n self.class." << ca.name << "\n end\n" }
214
+ constants.each { |ca| bld << "\n def self." << rname(ca.name) << "\n _pcore_type['" << ca.name << "'].value\n end\n" }
215
+ constants.each { |ca| bld << "\n def " << rname(ca.name) << "\n self.class." << ca.name << "\n end\n" }
179
216
  end
180
217
 
181
218
  init_params = others.reject { |a| a.kind == PObjectType::ATTRIBUTE_KIND_DERIVED }
@@ -217,9 +254,9 @@ class RubyGenerator < TypeFormatter
217
254
  bld << "\n new"
218
255
  else
219
256
  bld << '('
220
- non_opt.each { |ip| bld << ip.name << ', ' }
257
+ non_opt.each { |ip| bld << rname(ip.name) << ', ' }
221
258
  opt.each do |ip|
222
- bld << ip.name << ' = '
259
+ bld << rname(ip.name) << ' = '
223
260
  default_string(bld, ip)
224
261
  bld << ', '
225
262
  end
@@ -229,11 +266,11 @@ class RubyGenerator < TypeFormatter
229
266
  bld << " attrs = _pcore_type.attributes(true)\n"
230
267
  init_params.each do |a|
231
268
  bld << " ta.assert_instance_of('" << a.container.name << '[' << a.name << ']'
232
- bld << "', attrs['" << a.name << "'].type, " << a.name << ")\n"
269
+ bld << "', attrs['" << a.name << "'].type, " << rname(a.name) << ")\n"
233
270
  end
234
271
  bld << ' new('
235
- non_opt.each { |a| bld << a.name << ', ' }
236
- opt.each { |a| bld << a.name << ', ' }
272
+ non_opt.each { |a| bld << rname(a.name) << ', ' }
273
+ opt.each { |a| bld << rname(a.name) << ', ' }
237
274
  bld.chomp!(', ')
238
275
  bld << ')'
239
276
  end
@@ -242,13 +279,13 @@ class RubyGenerator < TypeFormatter
242
279
  # Output attr_readers
243
280
  unless obj_attrs.empty?
244
281
  bld << "\n"
245
- obj_attrs.each { |a| bld << ' attr_reader :' << a.name << "\n" }
282
+ obj_attrs.each { |a| bld << ' attr_reader :' << rname(a.name) << "\n" }
246
283
  end
247
284
 
248
285
  bld << " attr_reader :hash\n" if obj.parent.nil?
249
286
 
250
287
  derived_attrs.each do |a|
251
- bld << "\n def " << a.name << "\n"
288
+ bld << "\n def " << rname(a.name) << "\n"
252
289
  code_annotation = RubyMethod.annotate(a)
253
290
  ruby_body = code_annotation.nil? ? nil: code_annotation.body
254
291
  if ruby_body.nil?
@@ -265,9 +302,9 @@ class RubyGenerator < TypeFormatter
265
302
  # Output initializer
266
303
  bld << "\n def initialize"
267
304
  bld << '('
268
- non_opt.each { |ip| bld << ip.name << ', ' }
305
+ non_opt.each { |ip| bld << rname(ip.name) << ', ' }
269
306
  opt.each do |ip|
270
- bld << ip.name << ' = '
307
+ bld << rname(ip.name) << ' = '
271
308
  default_string(bld, ip)
272
309
  bld << ', '
273
310
  end
@@ -282,18 +319,18 @@ class RubyGenerator < TypeFormatter
282
319
  bld << "\n super("
283
320
  super_args = (non_opt + opt).select { |ip| !ip.container.equal?(obj) }
284
321
  unless super_args.empty?
285
- super_args.each { |ip| bld << ip.name << ', ' }
322
+ super_args.each { |ip| bld << rname(ip.name) << ', ' }
286
323
  bld.chomp!(', ')
287
324
  end
288
325
  bld << ")\n"
289
326
  bld << ' @hash = @hash ^ ' unless hash_participants.empty?
290
327
  end
291
328
  unless hash_participants.empty?
292
- hash_participants.each { |a| bld << a.name << '.hash ^ ' if a.container.equal?(obj) }
329
+ hash_participants.each { |a| bld << rname(a.name) << '.hash ^ ' if a.container.equal?(obj) }
293
330
  bld.chomp!(' ^ ')
294
331
  bld << "\n"
295
332
  end
296
- init_params.each { |a| bld << ' @' << a.name << ' = ' << a.name << "\n" if a.container.equal?(obj) }
333
+ init_params.each { |a| bld << ' @' << rname(a.name) << ' = ' << rname(a.name) << "\n" if a.container.equal?(obj) }
297
334
  bld << " end\n"
298
335
  end
299
336
  end
@@ -306,7 +343,7 @@ class RubyGenerator < TypeFormatter
306
343
  bld << (obj.parent.nil? ? '{}' : 'super')
307
344
  bld << "\n"
308
345
  obj_attrs.each do |a|
309
- bld << " result['" << a.name << "'] = @" << a.name
346
+ bld << " result['" << a.name << "'] = @" << rname(a.name)
310
347
  if a.value?
311
348
  bld << ' unless '
312
349
  equals_default_string(bld, a)
@@ -326,21 +363,21 @@ class RubyGenerator < TypeFormatter
326
363
  bld << "\n def _pcore_contents\n"
327
364
  content_participants.each do |cp|
328
365
  if array_type?(cp.type)
329
- bld << ' @' << cp.name << ".each { |value| yield(value) }\n"
366
+ bld << ' @' << rname(cp.name) << ".each { |value| yield(value) }\n"
330
367
  else
331
- bld << ' yield(@' << cp.name << ') unless @' << cp.name << ".nil?\n"
368
+ bld << ' yield(@' << rname(cp.name) << ') unless @' << rname(cp.name) << ".nil?\n"
332
369
  end
333
370
  end
334
371
  bld << " end\n\n def _pcore_all_contents(path, &block)\n path << self\n"
335
372
  content_participants.each do |cp|
336
373
  if array_type?(cp.type)
337
- bld << ' @' << cp.name << ".each do |value|\n"
374
+ bld << ' @' << rname(cp.name) << ".each do |value|\n"
338
375
  bld << " block.call(value, path)\n"
339
376
  bld << " value._pcore_all_contents(path, &block)\n"
340
377
  else
341
- bld << ' unless @' << cp.name << ".nil?\n"
342
- bld << ' block.call(@' << cp.name << ", path)\n"
343
- bld << ' @' << cp.name << "._pcore_all_contents(path, &block)\n"
378
+ bld << ' unless @' << rname(cp.name) << ".nil?\n"
379
+ bld << ' block.call(@' << rname(cp.name) << ", path)\n"
380
+ bld << ' @' << rname(cp.name) << "._pcore_all_contents(path, &block)\n"
344
381
  end
345
382
  bld << " end\n"
346
383
  end
@@ -359,13 +396,13 @@ class RubyGenerator < TypeFormatter
359
396
  if code_annotation
360
397
  body = code_annotation.body
361
398
  params = code_annotation.parameters
362
- bld << "\n def " << func.name
399
+ bld << "\n def " << rname(func.name)
363
400
  unless params.nil? || params.empty?
364
401
  bld << '(' << params << ')'
365
402
  end
366
403
  bld << "\n " << body << "\n"
367
404
  else
368
- bld << "\n def " << func.name << "(*args)\n"
405
+ bld << "\n def " << rname(func.name) << "(*args)\n"
369
406
  bld << " # Placeholder for #{func.type}\n"
370
407
  bld << " raise Puppet::Error, \"no method is implemented for #{func.label}\"\n"
371
408
  end
@@ -376,7 +413,7 @@ class RubyGenerator < TypeFormatter
376
413
  bld << "\n def eql?(o)\n"
377
414
  bld << " super &&\n" unless obj.parent.nil?
378
415
  bld << " o.instance_of?(self.class) &&\n" if include_type
379
- eq_names.each { |eqn| bld << ' @' << eqn << '.eql?(o.' << eqn << ") &&\n" }
416
+ eq_names.each { |eqn| bld << ' @' << rname(eqn) << '.eql?(o.' << rname(eqn) << ") &&\n" }
380
417
  bld.chomp!(" &&\n")
381
418
  bld << "\n end\n alias == eql?\n"
382
419
  end
@@ -435,6 +472,10 @@ class RubyGenerator < TypeFormatter
435
472
  bld << "_pcore_type['" << a.name << "'].default_value?(@" << a.name << ')'
436
473
  end
437
474
  end
475
+
476
+ def rname(name)
477
+ RUBY_RESERVED_WORDS[name] || name
478
+ end
438
479
  end
439
480
  end
440
481
  end
@@ -32,15 +32,28 @@ Puppet::Type.type(:service).provide :base, :parent => :service do
32
32
  @resource.fail "Either stop/status commands or a pattern must be specified" unless @resource[:pattern]
33
33
  regex = Regexp.new(@resource[:pattern])
34
34
  ps = getps
35
+
35
36
  self.debug "Executing '#{ps}'"
36
- IO.popen(ps) { |table|
37
- table.each_line { |line|
38
- if regex.match(line)
39
- self.debug "Process matched: #{line}"
40
- ary = line.sub(/^\s+/, '').split(/\s+/)
41
- return ary[1]
42
- end
43
- }
37
+ table = Puppet::Util::Execution.execute(ps)
38
+
39
+ # The output of the PS command can be a mashup of several different
40
+ # encodings depending on which processes are running and what
41
+ # arbitrary data has been used to set their name in the process table.
42
+ #
43
+ # First, try a polite conversion to in order to match the UTF-8 encoding
44
+ # of our regular expression.
45
+ table = Puppet::Util::CharacterEncoding.convert_to_utf_8(table)
46
+ # If that fails, force to UTF-8 and then scrub as most uses are scanning
47
+ # for ACII-compatible program names.
48
+ table.force_encoding(Encoding::UTF_8) unless table.encoding == Encoding::UTF_8
49
+ table = Puppet::Util::CharacterEncoding.scrub(table) unless table.valid_encoding?
50
+
51
+ table.each_line { |line|
52
+ if regex.match(line)
53
+ self.debug "Process matched: #{line}"
54
+ ary = line.sub(/^[[:space:]]+/u, '').split(/[[:space:]]+/u)
55
+ return ary[1]
56
+ end
44
57
  }
45
58
 
46
59
  nil
@@ -15,7 +15,11 @@ Puppet::Type.type(:zfs).provide(:zfs) do
15
15
  Puppet::Type.type(:zfs).validproperties.each do |property|
16
16
  next if property == :ensure
17
17
  if value = @resource[property] and value != ""
18
- properties << "-o" << "#{property}=#{value}"
18
+ if property == :volsize
19
+ properties << "-V" << "#{value}"
20
+ else
21
+ properties << "-o" << "#{property}=#{value}"
22
+ end
19
23
  end
20
24
  end
21
25
  properties
@@ -179,9 +179,23 @@ module Puppet::Util::Windows::File
179
179
 
180
180
  def self.get_reparse_point_data(handle, &block)
181
181
  # must be multiple of 1024, min 10240
182
- FFI::MemoryPointer.new(REPARSE_DATA_BUFFER.size) do |reparse_data_buffer_ptr|
182
+ FFI::MemoryPointer.new(MAXIMUM_REPARSE_DATA_BUFFER_SIZE) do |reparse_data_buffer_ptr|
183
183
  device_io_control(handle, FSCTL_GET_REPARSE_POINT, nil, reparse_data_buffer_ptr)
184
- yield REPARSE_DATA_BUFFER.new(reparse_data_buffer_ptr)
184
+
185
+ reparse_tag = reparse_data_buffer_ptr.read_win32_ulong
186
+ buffer_type = case reparse_tag
187
+ when 0xA000000C
188
+ SYMLINK_REPARSE_DATA_BUFFER
189
+ when 0xA0000003
190
+ MOUNT_POINT_REPARSE_DATA_BUFFER
191
+ when 0x80000014
192
+ raise Puppet::Util::Windows::Error.new("Retrieving NFS reparse point data is unsupported")
193
+ else
194
+ raise Puppet::Util::Windows::Error.new("DeviceIoControl(#{handle}, " +
195
+ "FSCTL_GET_REPARSE_POINT) returned unknown tag 0x#{reparse_tag.to_s(16).upcase}")
196
+ end
197
+
198
+ yield buffer_type.new(reparse_data_buffer_ptr)
185
199
  end
186
200
 
187
201
  # underlying struct MemoryPointer has been cleaned up by this point, nothing to return
@@ -448,11 +462,11 @@ module Puppet::Util::Windows::File
448
462
 
449
463
  MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16384
450
464
 
451
- # REPARSE_DATA_BUFFER
465
+ # SYMLINK_REPARSE_DATA_BUFFER
452
466
  # https://msdn.microsoft.com/en-us/library/cc232006.aspx
453
467
  # https://msdn.microsoft.com/en-us/library/windows/hardware/ff552012(v=vs.85).aspx
454
468
  # struct is always MAXIMUM_REPARSE_DATA_BUFFER_SIZE bytes
455
- class REPARSE_DATA_BUFFER < FFI::Struct
469
+ class SYMLINK_REPARSE_DATA_BUFFER < FFI::Struct
456
470
  layout :ReparseTag, :win32_ulong,
457
471
  :ReparseDataLength, :ushort,
458
472
  :Reserved, :ushort,
@@ -466,6 +480,23 @@ module Puppet::Util::Windows::File
466
480
  :PathBuffer, [:byte, MAXIMUM_REPARSE_DATA_BUFFER_SIZE - 20]
467
481
  end
468
482
 
483
+ # MOUNT_POINT_REPARSE_DATA_BUFFER
484
+ # https://msdn.microsoft.com/en-us/library/cc232007.aspx
485
+ # https://msdn.microsoft.com/en-us/library/windows/hardware/ff552012(v=vs.85).aspx
486
+ # struct is always MAXIMUM_REPARSE_DATA_BUFFER_SIZE bytes
487
+ class MOUNT_POINT_REPARSE_DATA_BUFFER < FFI::Struct
488
+ layout :ReparseTag, :win32_ulong,
489
+ :ReparseDataLength, :ushort,
490
+ :Reserved, :ushort,
491
+ :SubstituteNameOffset, :ushort,
492
+ :SubstituteNameLength, :ushort,
493
+ :PrintNameOffset, :ushort,
494
+ :PrintNameLength, :ushort,
495
+ # max less above fields dword / uint 4 bytes, ushort 2 bytes
496
+ # technically a WCHAR buffer, but we care about size in bytes here
497
+ :PathBuffer, [:byte, MAXIMUM_REPARSE_DATA_BUFFER_SIZE - 16]
498
+ end
499
+
469
500
  # https://msdn.microsoft.com/en-us/library/windows/desktop/aa364980(v=vs.85).aspx
470
501
  # DWORD WINAPI GetLongPathName(
471
502
  # _In_ LPCTSTR lpszShortPath,
@@ -1,5 +1,5 @@
1
1
  module SemanticPuppet
2
- Puppet::GettextConfig.initialize(File.absolute_path('../locales', File.dirname(__FILE__)), :po)
2
+ Puppet::GettextConfig.load_translations('semantic_puppet', File.absolute_path('../locales', File.dirname(__FILE__)), :po)
3
3
 
4
4
  autoload :Version, 'semantic_puppet/version'
5
5
  autoload :VersionRange, 'semantic_puppet/version_range'
@@ -6,7 +6,7 @@
6
6
  # Raketasks and such to set the version based on the output of `git describe`
7
7
 
8
8
  module Puppet
9
- PUPPETVERSION = '5.3.2'
9
+ PUPPETVERSION = '5.3.3'
10
10
 
11
11
  ##
12
12
  # version is a public API method intended to always provide a fast and
data/locales/ja/puppet.po CHANGED
@@ -6,11 +6,11 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: Puppet automation framework 5.1.0-138-g2088f82\n"
9
+ "Project-Id-Version: Puppet automation framework 5.3.2-73-g035eee5\n"
10
10
  "\n"
11
11
  "Report-Msgid-Bugs-To: https://tickets.puppetlabs.com\n"
12
- "POT-Creation-Date: 2017-09-06 15:11+0000\n"
13
- "PO-Revision-Date: 2017-09-06 15:11+0000\n"
12
+ "POT-Creation-Date: 2017-10-25 23:09+0000\n"
13
+ "PO-Revision-Date: 2017-10-25 23:09+0000\n"
14
14
  "Last-Translator: sayaka inagaki <sayaka-inagaki@to-in.co.jp>, 2017\n"
15
15
  "Language-Team: Japanese (Japan) (https://www.transifex.com/puppet/teams/29089/ja_JP/)\n"
16
16
  "MIME-Version: 1.0\n"
@@ -23,7 +23,7 @@ msgstr ""
23
23
  msgid "Puppet %{version} requires ruby 1.9.3 or greater."
24
24
  msgstr "Puppet %{version}ではruby 1.9.3以上が必要です。"
25
25
 
26
- #: ../lib/puppet.rb:134
26
+ #: ../lib/puppet.rb:133
27
27
  msgid ""
28
28
  "Support for ruby version %{version} is deprecated and will be removed in a "
29
29
  "future release. See "
@@ -32,14 +32,14 @@ msgid ""
32
32
  msgstr ""
33
33
  "rubyバージョン%{version}のサポートは廃止予定であり、今後のリリースで廃止されます。サポートされているrubyのバージョンについては、https://docs.puppet.com/puppet/latest/system_requirements.html#rubyを参照してください。"
34
34
 
35
- #: ../lib/puppet.rb:181
35
+ #: ../lib/puppet.rb:180
36
36
  msgid ""
37
37
  "Creating %{name} via Puppet.newtype is deprecated and will be removed in a "
38
38
  "future release. Use Puppet::Type.newtype instead."
39
39
  msgstr ""
40
40
  "Puppet.newtypeによる%{name}の作成は廃止予定であり、今後のリリースで廃止されます。代わりにPuppet::Type.newtypeを使用してください。"
41
41
 
42
- #: ../lib/puppet.rb:200
42
+ #: ../lib/puppet.rb:199
43
43
  msgid "The environmentpath setting cannot be empty or nil."
44
44
  msgstr "environmentpath設定は空やゼロにはできません。"
45
45
 
@@ -229,15 +229,15 @@ msgstr "リソース型に関するヘルプを表示"
229
229
  msgid "Manage remote network devices"
230
230
  msgstr "リモートネットワークデバイスを管理"
231
231
 
232
- #: ../lib/puppet/application/device.rb:197
232
+ #: ../lib/puppet/application/device.rb:204
233
233
  msgid "Target device / certificate '%{target}' not found in %{config}"
234
234
  msgstr "ターゲットのデバイス/証明書'%{target}'が%{config}で見つかりません。"
235
235
 
236
- #: ../lib/puppet/application/device.rb:199
236
+ #: ../lib/puppet/application/device.rb:206
237
237
  msgid "No device found in %{config}"
238
238
  msgstr "デバイスが%{config}で見つかりません。"
239
239
 
240
- #: ../lib/puppet/application/device.rb:209
240
+ #: ../lib/puppet/application/device.rb:216
241
241
  msgid ""
242
242
  "starting applying configuration to %{target} at "
243
243
  "%{scheme}%{url_host}%{port}%{url_path}"
@@ -2303,44 +2303,49 @@ msgid ""
2303
2303
  "master '%{master_type}'."
2304
2304
  msgstr "agent '%{agent_type}'と'%{master_type}'に共通するチェックサムタイプが見つかりません。"
2305
2305
 
2306
- #: ../lib/puppet/indirector/catalog/compiler.rb:273
2307
- msgid "Compiled %s for "
2308
- msgstr "コンパイルしました%s"
2306
+ #: ../lib/puppet/indirector/catalog/compiler.rb:275
2307
+ msgid "Compiled static catalog for %{node} in environment %{environment}"
2308
+ msgstr "Environment%{environment}で%{node}の静的なカタログをコンパイルしました。"
2309
2309
 
2310
- #: ../lib/puppet/indirector/catalog/compiler.rb:273
2311
- msgid "static catalog"
2312
- msgstr "静的カタログ"
2310
+ #: ../lib/puppet/indirector/catalog/compiler.rb:277
2311
+ msgid "Compiled static catalog for %{node}"
2312
+ msgstr "ノード%{node}の静的なカタログをコンパイルしました。"
2313
2313
 
2314
- #: ../lib/puppet/indirector/catalog/compiler.rb:273
2315
- msgid "catalog"
2316
- msgstr "カタログ"
2314
+ #: ../lib/puppet/indirector/catalog/compiler.rb:281
2315
+ msgid "Compiled catalog for %{node} in environment %{environment}"
2316
+ msgstr "Environment%{environment}で%{node}のカタログをコンパイルしました。"
2317
2317
 
2318
- #: ../lib/puppet/indirector/catalog/compiler.rb:275
2319
- #: ../lib/puppet/indirector/catalog/compiler.rb:292
2320
- msgid " in environment %{env}"
2321
- msgstr "環境%{env}内"
2318
+ #: ../lib/puppet/indirector/catalog/compiler.rb:283
2319
+ msgid "Compiled catalog for %{node}"
2320
+ msgstr "ノード%{node}のカタログをコンパイルしました。"
2321
+
2322
+ #: ../lib/puppet/indirector/catalog/compiler.rb:302
2323
+ msgid ""
2324
+ "Inlined resource metadata into static catalog for %{node} in environment "
2325
+ "%{environment}"
2326
+ msgstr "Environment%{environment}で%{node}の静的なカタログにリソースメタデータを追加しました。"
2322
2327
 
2323
- #: ../lib/puppet/indirector/catalog/compiler.rb:291
2328
+ #: ../lib/puppet/indirector/catalog/compiler.rb:304
2324
2329
  msgid "Inlined resource metadata into static catalog for %{node}"
2325
2330
  msgstr "リソースメタデータを%{node}の静的カタログにインライン展開しました。"
2326
2331
 
2327
- #: ../lib/puppet/indirector/catalog/compiler.rb:308
2332
+ #: ../lib/puppet/indirector/catalog/compiler.rb:321
2328
2333
  msgid "Found node information"
2329
2334
  msgstr "ノード情報が見つかりました。"
2330
2335
 
2331
- #: ../lib/puppet/indirector/catalog/compiler.rb:316
2336
+ #: ../lib/puppet/indirector/catalog/compiler.rb:329
2332
2337
  msgid "Failed when searching for node %{name}: %{detail}"
2333
2338
  msgstr "ノード%{name}の検索中に不具合が生じました: %{detail}"
2334
2339
 
2335
- #: ../lib/puppet/indirector/catalog/compiler.rb:335
2340
+ #: ../lib/puppet/indirector/catalog/compiler.rb:348
2336
2341
  msgid "Invalid option use_node for a remote request"
2337
2342
  msgstr "リモートリクエストの無効なオプションuse_node "
2338
2343
 
2339
- #: ../lib/puppet/indirector/catalog/compiler.rb:353
2344
+ #: ../lib/puppet/indirector/catalog/compiler.rb:366
2340
2345
  msgid "Could not find node '%{name}'; cannot compile"
2341
2346
  msgstr "ノード'%{name}'が見つかりませんでした; コンパイルできません。"
2342
2347
 
2343
- #: ../lib/puppet/indirector/catalog/compiler.rb:371
2348
+ #: ../lib/puppet/indirector/catalog/compiler.rb:384
2344
2349
  msgid "Could not retrieve fact %{fact}"
2345
2350
  msgstr "fact %{fact}を取得できませんでした。"
2346
2351
 
@@ -3621,22 +3626,49 @@ msgstr "アプリケーション%{app}が複数のノードをコンポーネン
3621
3626
  msgid "Unknown content encoding - %{encoding}"
3622
3627
  msgstr "不明なコンテンツエンコーディング - %{encoding}"
3623
3628
 
3624
- #: ../lib/puppet/network/http/connection.rb:54
3629
+ #: ../lib/puppet/network/http/connection.rb:55
3625
3630
  msgid "Unrecognized option(s): %{opts}"
3626
3631
  msgstr "認識されていないオプション: %{opts}"
3627
3632
 
3628
- #: ../lib/puppet/network/http/connection.rb:200
3633
+ #: ../lib/puppet/network/http/connection.rb:203
3629
3634
  msgid "Too many HTTP redirections for %{host}:%{port}"
3630
3635
  msgstr "%{host}のHTTPリダイレクションが多すぎます:%{port}"
3631
3636
 
3632
- #: ../lib/puppet/network/http/connection.rb:227
3633
- msgid "one of %{certnames}"
3634
- msgstr "%{certnames}の1つ"
3637
+ #. TRANSLATORS: Used in the phrase:
3638
+ #. "Received a response from the remote server."
3639
+ #: ../lib/puppet/network/http/connection.rb:234
3640
+ msgid "the remote server"
3641
+ msgstr "リモートサーバー"
3635
3642
 
3636
- #: ../lib/puppet/network/http/connection.rb:228
3643
+ #: ../lib/puppet/network/http/connection.rb:238
3637
3644
  msgid ""
3638
- "Server hostname '%{host}' did not match server certificate; expected %{msg}"
3639
- msgstr "サーバホスト名'%{host}'がサーバ証明書と一致しませんでした; %{msg}が予期されています。"
3645
+ "Received a %{status_code} response from %{server_hostname}, but the Retry-"
3646
+ "After header value of \"%{retry_after}\" could not be converted to an "
3647
+ "integer or RFC 2822 date."
3648
+ msgstr ""
3649
+ "%{server_hostname}から%{status_code}応答を受信しましたが、\"%{retry_after}\"のRetry-"
3650
+ "Afterヘッダ値を整数またはRFC 2822日付に変換できませんでした。"
3651
+
3652
+ #: ../lib/puppet/network/http/connection.rb:249
3653
+ msgid ""
3654
+ "Received a %{status_code} response from %{server_hostname}. Sleeping for "
3655
+ "%{retry_sleep} seconds before retrying the request."
3656
+ msgstr ""
3657
+ "%{server_hostname}から%{status_code}応答を受信しました。リクエストを再試行する前に%{retry_sleep}秒間スリープ中です。"
3658
+
3659
+ #: ../lib/puppet/network/http/connection.rb:320
3660
+ msgid "expected one of %{certnames}"
3661
+ msgstr "想定される%{certnames}の1つ"
3662
+
3663
+ #: ../lib/puppet/network/http/connection.rb:322
3664
+ msgid "expected %{certname}"
3665
+ msgstr "想定される%{certname}"
3666
+
3667
+ #: ../lib/puppet/network/http/connection.rb:325
3668
+ msgid ""
3669
+ "Server hostname '%{host}' did not match server certificate; "
3670
+ "%{expected_certnames}"
3671
+ msgstr "サーバーホスト名'%{host}'がサーバー証明書; %{expected_certnames}と一致しませんでした"
3640
3672
 
3641
3673
  #: ../lib/puppet/network/http/error.rb:23
3642
3674
  msgid "Not Acceptable: "
@@ -3938,10 +3970,6 @@ msgstr "%{app}の無効なノードマッピング: マッピングはハッシ
3938
3970
  msgid "Invalid node mapping in %{app}: Key %{k} is not a Node"
3939
3971
  msgstr "%{app}で無効なノードマッピング: キー%{k}はノードではありません。"
3940
3972
 
3941
- #: ../lib/puppet/parser/compiler.rb:322
3942
- msgid "Node"
3943
- msgstr "ノード"
3944
-
3945
3973
  #: ../lib/puppet/parser/compiler.rb:325
3946
3974
  msgid "Invalid node mapping in %{app}: Value %{res} is not a resource"
3947
3975
  msgstr "%{app}で無効なノードマッピング: 値%{res}はリソースではありません。"
@@ -4030,11 +4058,11 @@ msgstr "環境コンパイル: mainが検証されました。"
4030
4058
 
4031
4059
  #: ../lib/puppet/parser/environment_compiler.rb:66
4032
4060
  msgid "Env Compile: Evaluated site"
4033
- msgstr "環境コンパイル: siteを検証"
4061
+ msgstr "環境コンパイル: siteが検証されました。"
4034
4062
 
4035
4063
  #: ../lib/puppet/parser/environment_compiler.rb:68
4036
4064
  msgid "Env Compile: Evaluated application instances"
4037
- msgstr "環境コンパイル: アプリケーションインスタンスを検証"
4065
+ msgstr "環境コンパイル: アプリケーションインスタンスが検証されました。"
4038
4066
 
4039
4067
  #: ../lib/puppet/parser/environment_compiler.rb:70
4040
4068
  msgid "Env Compile: Prune"
@@ -4058,7 +4086,7 @@ msgstr "環境コンパイラ: 検証するsite定義が見つかりませんで
4058
4086
 
4059
4087
  #: ../lib/puppet/parser/environment_compiler.rb:162
4060
4088
  msgid "Evaluated application %{resource}"
4061
- msgstr "検証されたアプリケーション%{resource}"
4089
+ msgstr "アプリケーション%{resource}が検証されました。"
4062
4090
 
4063
4091
  #: ../lib/puppet/parser/functions.rb:149
4064
4092
  msgid "Overwriting previous definition for function %{name}"
@@ -4170,7 +4198,7 @@ msgstr "%{resource}により指定されたステージ%{stage}が見つかり
4170
4198
 
4171
4199
  #: ../lib/puppet/parser/resource.rb:71
4172
4200
  msgid "Evaluated resource %{res}"
4173
- msgstr "検証されたリソース%{res}"
4201
+ msgstr "Resource%{res}が検証されました。"
4174
4202
 
4175
4203
  #: ../lib/puppet/parser/resource.rb:125
4176
4204
  msgid "Resources require a hash as last argument"
@@ -5296,10 +5324,6 @@ msgid ""
5296
5324
  "'%{type_name}' - it is empty"
5297
5325
  msgstr "%{source_ref}からロードしたコードでは、リソースタイプ'%{type_name}'は作成されません - 空です。"
5298
5326
 
5299
- #: ../lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb:44
5300
- msgid "new"
5301
- msgstr "新規"
5302
-
5303
5327
  #: ../lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb:49
5304
5328
  msgid ""
5305
5329
  "The code loaded from %{source_ref} does not create the resource type "
@@ -5435,10 +5459,6 @@ msgid ""
5435
5459
  "converted to version 5"
5436
5460
  msgstr "%{config_path}: 'hiera.yaml'バージョン4の使用は廃止予定です。バージョン5に変換する必要があります。"
5437
5461
 
5438
- #: ../lib/puppet/pops/lookup/hiera_config.rb:588
5439
- msgid "data"
5440
- msgstr "データ"
5441
-
5442
5462
  #: ../lib/puppet/pops/lookup/invocation.rb:84
5443
5463
  msgid "Recursive lookup detected in [%{name_stack}]"
5444
5464
  msgstr "[%{name_stack}]で再帰検索が検出されました。"
@@ -5682,7 +5702,7 @@ msgstr "%{klass}をタイムスタンプから引くことはできません。"
5682
5702
  msgid "Enumeration.enumerator is deprecated. Use Iterable.on instead"
5683
5703
  msgstr "Enumeration.enumeratorは廃止予定です。代わりにIterable.onを使用してください。"
5684
5704
 
5685
- #: ../lib/puppet/pops/types/p_binary_type.rb:70
5705
+ #: ../lib/puppet/pops/types/p_binary_type.rb:77
5686
5706
  msgid ""
5687
5707
  "The given string in encoding '%{enc}' is invalid. Cannot create a Binary "
5688
5708
  "UTF-8 representation"
@@ -5703,7 +5723,7 @@ msgid ""
5703
5723
  "%{subject}.new()"
5704
5724
  msgstr "タイプ'%{type}'は、%{subject}.new()の有効なパラメータセットを表していません。"
5705
5725
 
5706
- #: ../lib/puppet/pops/types/p_object_type.rb:604
5726
+ #: ../lib/puppet/pops/types/p_object_type.rb:610
5707
5727
  msgid "reference to unresolved type '%{name}'"
5708
5728
  msgstr "unresolved type '%{name}'への参照"
5709
5729
 
@@ -6804,6 +6824,12 @@ msgstr "無効なautosign値%{value}: 'true'/'false'または絶対パスでな
6804
6824
  msgid "Invalid value '%{value}' for boolean parameter: %{name}"
6805
6825
  msgstr "ブーリアンパラメータに関して無効な値'%{value}': %{name}"
6806
6826
 
6827
+ #: ../lib/puppet/settings/certificate_revocation_setting.rb:18
6828
+ msgid ""
6829
+ "Invalid certificate revocation value %{value}: must be one of 'true', "
6830
+ "'chain', 'leaf', or 'false'"
6831
+ msgstr "無効な証明書失効値%{value}です: 'true'、'chain'、'leaf'、または'false'のいずれかである必要があります"
6832
+
6807
6833
  #: ../lib/puppet/settings/config_file.rb:38
6808
6834
  msgid "Could not match line %{text}"
6809
6835
  msgstr "行%{text}が一致しませんでした。"
@@ -7149,10 +7175,6 @@ msgstr "%{path}に予期せぬ属性%{keys}"
7149
7175
  msgid "Creating a new certificate revocation list"
7150
7176
  msgstr "新しい証明書撤回リストを作成しています。"
7151
7177
 
7152
- #: ../lib/puppet/ssl/certificate_revocation_list.rb:42
7153
- msgid "crl"
7154
- msgstr "crl"
7155
-
7156
7178
  #: ../lib/puppet/ssl/certificate_revocation_list.rb:49
7157
7179
  msgid "Revoked certificate with serial %{serial}"
7158
7180
  msgstr "シリアル%{serial}の証明書を撤回しました。"
@@ -7219,22 +7241,28 @@ msgstr ""
7219
7241
  " 1b. Windows: del \"%{cert_dir}\\\\%{cert_name}.pem\" /f\n"
7220
7242
  " 2. puppet agent -t\n"
7221
7243
 
7222
- #: ../lib/puppet/ssl/host.rb:347 ../lib/puppet/ssl/host.rb:368
7244
+ #: ../lib/puppet/ssl/host.rb:333 ../lib/puppet/ssl/host.rb:354
7223
7245
  msgid "Could not request certificate: %{message}"
7224
7246
  msgstr "証明書をリクエストできませんでした: %{message}"
7225
7247
 
7226
- #: ../lib/puppet/ssl/host.rb:349
7248
+ #: ../lib/puppet/ssl/host.rb:335
7227
7249
  msgid "Exiting; failed to retrieve certificate and waitforcert is disabled"
7228
7250
  msgstr "終了しています; 証明書の取得に失敗し、waitforcertが無効になっています。"
7229
7251
 
7230
- #: ../lib/puppet/ssl/host.rb:358
7252
+ #: ../lib/puppet/ssl/host.rb:344
7231
7253
  msgid "Exiting; no certificate found and waitforcert is disabled"
7232
7254
  msgstr "終了しています; 証明書が見つからず、waitforcertが無効になっています。"
7233
7255
 
7234
- #: ../lib/puppet/ssl/host.rb:366
7256
+ #: ../lib/puppet/ssl/host.rb:352
7235
7257
  msgid "Did not receive certificate"
7236
7258
  msgstr "証明書を受信していません。"
7237
7259
 
7260
+ #: ../lib/puppet/ssl/host.rb:393
7261
+ msgid ""
7262
+ "Certificate revocation checking is enabled but a CRL cannot be found; CRL "
7263
+ "checking will not be performed."
7264
+ msgstr "証明書失効チェックが有効化されていますがCRLが見つかりません; CRLチェックは実行されません。"
7265
+
7238
7266
  #: ../lib/puppet/ssl/inventory.rb:32
7239
7267
  msgid "Rebuilding inventory file"
7240
7268
  msgstr "インベントリファイルを再構築しています。"
@@ -8996,11 +9024,11 @@ msgstr "FormatMessageWがコード%{code}のバッファの割り当てに失敗
8996
9024
  msgid "Failed to set file attributes"
8997
9025
  msgstr "ファイル属性の設定に失敗しました。"
8998
9026
 
8999
- #: ../lib/puppet/util/windows/file.rb:193
9027
+ #: ../lib/puppet/util/windows/file.rb:207
9000
9028
  msgid "out_buffer is required"
9001
9029
  msgstr "out_bufferが必要です。"
9002
9030
 
9003
- #: ../lib/puppet/util/windows/file.rb:274
9031
+ #: ../lib/puppet/util/windows/file.rb:288
9004
9032
  msgid "Failed to call GetLongPathName"
9005
9033
  msgstr "GetLongPathNameのコールに失敗しました。"
9006
9034