hammer_cli_foreman_remote_execution 0.0.6 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +5 -4
- data/.tx/config +8 -0
- data/hammer_cli_foreman_remote_execution.gemspec +3 -3
- data/lib/hammer_cli_foreman_remote_execution.rb +2 -0
- data/lib/hammer_cli_foreman_remote_execution/interface_extensions.rb +30 -0
- data/lib/hammer_cli_foreman_remote_execution/job_invocation.rb +122 -25
- data/lib/hammer_cli_foreman_remote_execution/job_template.rb +1 -0
- data/lib/hammer_cli_foreman_remote_execution/subnet_extensions.rb +16 -0
- data/lib/hammer_cli_foreman_remote_execution/template_input.rb +10 -2
- data/lib/hammer_cli_foreman_remote_execution/version.rb +1 -1
- data/locale/README.md +2 -2
- data/locale/de/hammer-cli-foreman-remote-execution.po +262 -0
- data/locale/en/hammer-cli-foreman-remote-execution.po +49 -1
- data/locale/es/hammer-cli-foreman-remote-execution.po +262 -0
- data/locale/fr/hammer-cli-foreman-remote-execution.po +262 -0
- data/locale/hammer-cli-foreman-remote-execution.pot +105 -33
- data/locale/it/hammer-cli-foreman-remote-execution.po +261 -0
- data/locale/ja/hammer-cli-foreman-remote-execution.po +262 -0
- data/locale/ko/hammer-cli-foreman-remote-execution.po +262 -0
- data/locale/pt_BR/hammer-cli-foreman-remote-execution.po +263 -0
- data/locale/ru/hammer-cli-foreman-remote-execution.po +264 -0
- data/locale/zh_CN/hammer-cli-foreman-remote-execution.po +263 -0
- data/locale/zh_TW/hammer-cli-foreman-remote-execution.po +263 -0
- data/test/data/1.16/foreman_api.json +1 -0
- data/test/data/1.17/foreman_api.json +1 -0
- data/test/unit/foreign_input_set_test.rb +1 -1
- data/test/unit/job_invocation_test.rb +27 -5
- data/test/unit/job_template_test.rb +1 -1
- data/test/unit/remote_execution_feature_test.rb +1 -1
- data/test/unit/template_input_test.rb +9 -1
- metadata +27 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a8cd0e41c73966cfa7089868144153770421ab767e7c85e7e4a1ea904c95bd67
|
4
|
+
data.tar.gz: 6e9c15d1174bbf9037c6548c814c88bd56dbef7eb338f0729302e233b9cc9572
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f4bf60dc1d75ff17914e15257faafaefbb6aceb6b0d3e5d550bee2f915747553fc769d9deab994d38c31cb4639131efc2164a6a09686b9128459389a4d832dde
|
7
|
+
data.tar.gz: 523f21e8d58871c5dbf43b73841117e570332fbe665d7eec45d261076637692dc5bbbeb06a25855c6ff5e5aca957c16f352f983c59c4af70279c9d2fd9004c38
|
data/.travis.yml
CHANGED
data/.tx/config
ADDED
@@ -6,8 +6,8 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.platform = Gem::Platform::RUBY
|
7
7
|
s.authors = ['Foreman Remote Execution team']
|
8
8
|
s.email = ['foreman-dev@googlegroups.com']
|
9
|
-
s.homepage = '
|
10
|
-
s.license = 'GPL
|
9
|
+
s.homepage = 'https://github.com/theforeman/hammer_cli_foreman_remote_execution'
|
10
|
+
s.license = 'GPL-3.0-or-later'
|
11
11
|
|
12
12
|
s.summary = 'CLI for the Foreman remote execution plugin'
|
13
13
|
s.description = 'CLI for the Foreman remote execution plugin'
|
@@ -16,6 +16,6 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.test_files = `git ls-files test`.split("\n")
|
17
17
|
s.extra_rdoc_files = `git ls-files doc`.split("\n") + Dir['README*', 'LICENSE']
|
18
18
|
|
19
|
-
s.add_dependency 'hammer_cli_foreman', '>= 0.1.3', '<
|
19
|
+
s.add_dependency 'hammer_cli_foreman', '>= 0.1.3', '< 3.0.0'
|
20
20
|
s.add_dependency 'hammer_cli_foreman_tasks', '~> 0.0.3'
|
21
21
|
end
|
@@ -9,6 +9,8 @@ module HammerCLIForemanRemoteExecution
|
|
9
9
|
require 'hammer_cli_foreman_remote_execution/template_input'
|
10
10
|
require 'hammer_cli_foreman_remote_execution/foreign_input_set'
|
11
11
|
require 'hammer_cli_foreman_remote_execution/remote_execution_feature'
|
12
|
+
require 'hammer_cli_foreman_remote_execution/interface_extensions'
|
13
|
+
require 'hammer_cli_foreman_remote_execution/subnet_extensions'
|
12
14
|
|
13
15
|
def self.exception_handler_class
|
14
16
|
HammerCLIForeman::ExceptionHandler
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'hammer_cli_foreman/interface'
|
4
|
+
|
5
|
+
module HammerCLIForemanRemoteExecution
|
6
|
+
class InterfaceExtensionsInfo < ::HammerCLI::CommandExtensions
|
7
|
+
output do |definition|
|
8
|
+
definition.append do
|
9
|
+
field :execution, _('Execution'), Fields::Boolean
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
module InterfaceExtensionsList
|
15
|
+
def format_type(nic)
|
16
|
+
type = super(nic)
|
17
|
+
if nic['execution']
|
18
|
+
if nic['primary'] || nic['provision']
|
19
|
+
type[-1] = ', '+_('execution') +')'
|
20
|
+
else
|
21
|
+
type += ' ('+_('execution') +')'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
type
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
::HammerCLIForeman::Interface.singleton_class.prepend InterfaceExtensionsList
|
29
|
+
::HammerCLIForeman::Interface::InfoCommand.extend_with(InterfaceExtensionsInfo.new)
|
30
|
+
end
|
@@ -2,17 +2,31 @@ module HammerCLIForemanRemoteExecution
|
|
2
2
|
class JobInvocation < HammerCLIForeman::Command
|
3
3
|
resource :job_invocations
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
field :description, _('Description')
|
9
|
-
field :status_label, _('Status')
|
10
|
-
field :succeeded, _('Success')
|
11
|
-
field :failed, _('Failed')
|
12
|
-
field :pending, _('Pending')
|
13
|
-
field :total, _('Total')
|
14
|
-
field :start_at, _('Start')
|
5
|
+
module WithoutNameOption
|
6
|
+
def create_option_builder
|
7
|
+
HammerCLI::Apipie::OptionBuilder.new(resource, resource.action(action), :require_options => false)
|
15
8
|
end
|
9
|
+
end
|
10
|
+
|
11
|
+
module BaseOutput
|
12
|
+
def self.included(base)
|
13
|
+
base.output do
|
14
|
+
field :id, _('ID')
|
15
|
+
field :description, _('Description')
|
16
|
+
field :status_label, _('Status')
|
17
|
+
field :succeeded, _('Success')
|
18
|
+
field :failed, _('Failed')
|
19
|
+
field :pending, _('Pending')
|
20
|
+
field :total, _('Total')
|
21
|
+
field :start_at, _('Start')
|
22
|
+
field :randomized_ordering, _('Randomized ordering')
|
23
|
+
field :inputs, _('Inputs'), nil, :hide_blank => true
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
class ListCommand < HammerCLIForeman::ListCommand
|
29
|
+
include BaseOutput
|
16
30
|
|
17
31
|
def extend_data(invocation)
|
18
32
|
JobInvocation.extend_data(invocation)
|
@@ -22,24 +36,57 @@ module HammerCLIForemanRemoteExecution
|
|
22
36
|
end
|
23
37
|
|
24
38
|
class InfoCommand < HammerCLIForeman::InfoCommand
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
39
|
+
extend WithoutNameOption
|
40
|
+
include BaseOutput
|
41
|
+
option '--show-inputs', :flag, _('Show the complete input of the job')
|
42
|
+
option '--show-host-status', :flag, _('Show job status for the hosts')
|
43
|
+
|
44
|
+
extend_output_definition do |definition|
|
45
|
+
definition.insert(:before, :total) do
|
46
|
+
field :missing, _('Missing')
|
47
|
+
end
|
48
|
+
definition.append do
|
49
|
+
field :job_category, _('Job Category')
|
50
|
+
field :mode, _('Mode')
|
51
|
+
field :cron_line, _('Cron line')
|
52
|
+
field :recurring_logic_id, _('Recurring logic ID')
|
53
|
+
field :hosts, _('Hosts')
|
54
|
+
end
|
31
55
|
end
|
32
56
|
|
33
|
-
def
|
34
|
-
|
57
|
+
def adapter
|
58
|
+
if option_id
|
59
|
+
:yaml
|
60
|
+
else
|
61
|
+
:base
|
62
|
+
end
|
35
63
|
end
|
36
64
|
|
37
|
-
def
|
38
|
-
|
65
|
+
def extend_data(invocation)
|
66
|
+
if option_show_inputs?
|
67
|
+
invocation['template_invocations']&.each do |template|
|
68
|
+
input_values = template['template_invocation_input_values']
|
69
|
+
values_for_host = {}
|
70
|
+
input_values&.each do |input_value|
|
71
|
+
values_for_host[input_value['template_input_name']] = input_value['value']
|
72
|
+
end
|
73
|
+
hosts = invocation.dig('targeting', 'hosts')
|
74
|
+
host_index = hosts&.index { |h| h['id'] == template['host_id'] }
|
75
|
+
invocation['targeting']['hosts'][host_index][:inputs] = values_for_host if host_index
|
76
|
+
end
|
77
|
+
end
|
78
|
+
JobInvocation.extend_data(invocation)
|
39
79
|
end
|
40
80
|
|
41
81
|
build_options do |o|
|
42
82
|
o.expand(:none)
|
83
|
+
o.without(:host_status)
|
84
|
+
end
|
85
|
+
|
86
|
+
def request_params
|
87
|
+
params = super
|
88
|
+
params[:host_status] = true if option_show_host_status?
|
89
|
+
params
|
43
90
|
end
|
44
91
|
end
|
45
92
|
|
@@ -58,17 +105,39 @@ module HammerCLIForemanRemoteExecution
|
|
58
105
|
puts line['output']
|
59
106
|
since = line['timestamp']
|
60
107
|
end
|
108
|
+
since
|
109
|
+
end
|
61
110
|
|
62
|
-
|
63
|
-
|
64
|
-
|
111
|
+
def execute
|
112
|
+
data = get_output
|
113
|
+
if data['delayed']
|
114
|
+
puts _('The job is scheduled to start at %{timestamp}') % { :timestamp => data['start_at'] }
|
115
|
+
return HammerCLI::EX_OK if option_async?
|
65
116
|
end
|
117
|
+
since = print_data(data)
|
118
|
+
|
119
|
+
output_loop(data, since)
|
120
|
+
return HammerCLI::EX_OK
|
66
121
|
end
|
67
122
|
|
68
123
|
build_options do |o|
|
69
124
|
o.expand(:all).except(:job_invocations)
|
70
125
|
o.without(:since)
|
71
126
|
end
|
127
|
+
|
128
|
+
private
|
129
|
+
|
130
|
+
def output_loop(data, since = nil)
|
131
|
+
while data['refresh'] && !option_async? do
|
132
|
+
sleep 1
|
133
|
+
data = get_output(since)
|
134
|
+
since = print_data(data)
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
def get_output(since = nil)
|
139
|
+
resource.call(action, request_params.merge(:since => since), request_headers, request_options)
|
140
|
+
end
|
72
141
|
end
|
73
142
|
|
74
143
|
class CreateCommand < HammerCLIForeman::CreateCommand
|
@@ -135,9 +204,37 @@ module HammerCLIForemanRemoteExecution
|
|
135
204
|
end
|
136
205
|
end
|
137
206
|
|
207
|
+
class CancelCommand < HammerCLIForeman::Command
|
208
|
+
extend WithoutNameOption
|
209
|
+
|
210
|
+
action :cancel
|
211
|
+
command_name 'cancel'
|
212
|
+
desc _('Cancel the job')
|
213
|
+
success_message _('Job invocation %{id} cancelled')
|
214
|
+
failure_message _('Could not cancel the job invocation')
|
215
|
+
|
216
|
+
build_options { |o| o.expand(:none) }
|
217
|
+
end
|
218
|
+
|
219
|
+
class RerunCommand < HammerCLIForeman::CreateCommand
|
220
|
+
extend WithoutNameOption
|
221
|
+
|
222
|
+
action :rerun
|
223
|
+
command_name 'rerun'
|
224
|
+
desc _('Rerun the job')
|
225
|
+
success_message _('Job invocation was rerun as %{id}')
|
226
|
+
|
227
|
+
build_options { |o| o.expand(:none) }
|
228
|
+
end
|
229
|
+
|
138
230
|
def self.extend_data(invocation)
|
139
|
-
if invocation['targeting'] && invocation['targeting']['hosts']
|
140
|
-
invocation['
|
231
|
+
if (targeting = invocation['targeting']) && invocation['targeting']['hosts']
|
232
|
+
invocation['randomized_ordering'] = targeting['randomized_ordering']
|
233
|
+
|
234
|
+
hosts = targeting['hosts'].map do |host|
|
235
|
+
{ 'Name' => host['name'], 'Job status' => host['job_status'], 'Inputs' => host[:inputs] }.compact
|
236
|
+
end
|
237
|
+
invocation['hosts'] = hosts
|
141
238
|
end
|
142
239
|
|
143
240
|
if invocation['recurrence']
|
@@ -20,6 +20,7 @@ module HammerCLIForemanRemoteExecution
|
|
20
20
|
|
21
21
|
class InfoCommand < HammerCLIForeman::InfoCommand
|
22
22
|
output ListCommand.output_definition do
|
23
|
+
field :description, _('Description'), Fields::Text
|
23
24
|
field :template_inputs, _('Inputs')
|
24
25
|
HammerCLIForeman::References.taxonomies(self)
|
25
26
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'hammer_cli_foreman/subnet'
|
2
|
+
|
3
|
+
module HammerCLIForemanRemoteExecution
|
4
|
+
class SubnetExtensions < ::HammerCLI::CommandExtensions
|
5
|
+
output do |definition|
|
6
|
+
definition.insert(:after, _("Smart Proxies"))do
|
7
|
+
collection :remote_execution_proxies, _('Remote execution proxies'), :numbered => false do
|
8
|
+
field :id, _('Id')
|
9
|
+
field :name, _('Name')
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
::HammerCLIForeman::Subnet::InfoCommand.extend_with(SubnetExtensions.new)
|
16
|
+
end
|
@@ -23,20 +23,28 @@ module HammerCLIForemanRemoteExecution
|
|
23
23
|
field :variable_name, _('Variable name')
|
24
24
|
field :puppet_parameter_name, _('Puppet parameter name')
|
25
25
|
field :options, _('Options'), Fields::List, :width => 25, :hide_blank => true
|
26
|
+
field :default, _('Default value')
|
26
27
|
end
|
27
28
|
|
28
29
|
build_options
|
29
30
|
end
|
30
31
|
|
31
32
|
class CreateCommand < HammerCLIForeman::CreateCommand
|
32
|
-
success_message _('Template input created')
|
33
|
+
success_message _('Template input created.')
|
33
34
|
failure_message _('Could not create the template input')
|
34
35
|
|
35
36
|
build_options
|
36
37
|
end
|
37
38
|
|
39
|
+
class UpdateCommand < HammerCLIForeman::UpdateCommand
|
40
|
+
success_message _('Template input updated.')
|
41
|
+
failure_message _('Could not update the template input')
|
42
|
+
|
43
|
+
build_options
|
44
|
+
end
|
45
|
+
|
38
46
|
class DeleteCommand < HammerCLIForeman::DeleteCommand
|
39
|
-
success_message _('Template input deleted')
|
47
|
+
success_message _('Template input deleted.')
|
40
48
|
failure_message _('Could not delete the template input')
|
41
49
|
|
42
50
|
build_options
|
data/locale/README.md
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
Updating the translations
|
2
2
|
-------------------------
|
3
3
|
|
4
|
-
1. Check if there are any new languages with progress more than 50% on [transifex](https://www.transifex.com/projects/p/foreman/resource/hammer-cli-foreman/). If so, do the following for each of the new languages:
|
4
|
+
1. Check if there are any new languages with progress more than 50% on [transifex](https://www.transifex.com/projects/p/foreman/resource/hammer-cli-foreman-remote-execution/). If so, do the following for each of the new languages:
|
5
5
|
|
6
6
|
```
|
7
7
|
mkdir locale/<lang>
|
8
|
-
cp locale/hammer-cli-foreman.pot locale/<lang>/hammer-cli-foreman.po
|
8
|
+
cp locale/hammer-cli-foreman-remote-execution.pot locale/<lang>/hammer-cli-foreman-remote-execution.po
|
9
9
|
```
|
10
10
|
2. Make sure you have `transifex-client` installed
|
11
11
|
|
@@ -0,0 +1,262 @@
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
2
|
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
3
|
+
# This file is distributed under the same license as the hammer_cli_foreman_tasks package.
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
5
|
+
#
|
6
|
+
msgid ""
|
7
|
+
msgstr ""
|
8
|
+
"Project-Id-Version: hammer-cli-foreman-remote-execution 0.2.0\n"
|
9
|
+
"Report-Msgid-Bugs-To: \n"
|
10
|
+
"PO-Revision-Date: 2016-02-18 10:36-0500\n"
|
11
|
+
"Last-Translator: Wiederoder <stefanwiederoder@googlemail.com>, 2017\n"
|
12
|
+
"Language-Team: German (https://www.transifex.com/foreman/teams/114/de/)\n"
|
13
|
+
"MIME-Version: 1.0\n"
|
14
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
15
|
+
"Content-Transfer-Encoding: 8bit\n"
|
16
|
+
"Language: de\n"
|
17
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18
|
+
|
19
|
+
msgid "Manage foreign input sets"
|
20
|
+
msgstr ""
|
21
|
+
|
22
|
+
msgid "ID"
|
23
|
+
msgstr "ID"
|
24
|
+
|
25
|
+
#, fuzzy
|
26
|
+
msgid "Target template ID"
|
27
|
+
msgstr "ID"
|
28
|
+
|
29
|
+
msgid "Target template name"
|
30
|
+
msgstr ""
|
31
|
+
|
32
|
+
msgid "Name"
|
33
|
+
msgstr "Name"
|
34
|
+
|
35
|
+
msgid "Include all"
|
36
|
+
msgstr ""
|
37
|
+
|
38
|
+
msgid "Include"
|
39
|
+
msgstr ""
|
40
|
+
|
41
|
+
msgid "Exclude"
|
42
|
+
msgstr ""
|
43
|
+
|
44
|
+
msgid "Foreign input set updated"
|
45
|
+
msgstr ""
|
46
|
+
|
47
|
+
msgid "Could not update the input set"
|
48
|
+
msgstr ""
|
49
|
+
|
50
|
+
msgid "Foreign input set created"
|
51
|
+
msgstr ""
|
52
|
+
|
53
|
+
msgid "Could not create the input set"
|
54
|
+
msgstr ""
|
55
|
+
|
56
|
+
msgid "Foreign input set deleted"
|
57
|
+
msgstr ""
|
58
|
+
|
59
|
+
msgid "Could not delete the input set"
|
60
|
+
msgstr ""
|
61
|
+
|
62
|
+
msgid "Description"
|
63
|
+
msgstr ""
|
64
|
+
|
65
|
+
#, fuzzy
|
66
|
+
msgid "Status"
|
67
|
+
msgstr "Status"
|
68
|
+
|
69
|
+
msgid "Success"
|
70
|
+
msgstr ""
|
71
|
+
|
72
|
+
msgid "Failed"
|
73
|
+
msgstr ""
|
74
|
+
|
75
|
+
msgid "Pending"
|
76
|
+
msgstr ""
|
77
|
+
|
78
|
+
msgid "Total"
|
79
|
+
msgstr ""
|
80
|
+
|
81
|
+
#, fuzzy
|
82
|
+
msgid "Start"
|
83
|
+
msgstr "Status"
|
84
|
+
|
85
|
+
msgid "Job Category"
|
86
|
+
msgstr ""
|
87
|
+
|
88
|
+
msgid "Mode"
|
89
|
+
msgstr ""
|
90
|
+
|
91
|
+
msgid "Cron line"
|
92
|
+
msgstr "Cron-Zeile"
|
93
|
+
|
94
|
+
#, fuzzy
|
95
|
+
msgid "Recurring logic ID"
|
96
|
+
msgstr "ID"
|
97
|
+
|
98
|
+
msgid "Hosts"
|
99
|
+
msgstr ""
|
100
|
+
|
101
|
+
msgid "View the output for a host"
|
102
|
+
msgstr ""
|
103
|
+
|
104
|
+
msgid "Do not wait for job to complete, shows current output only"
|
105
|
+
msgstr ""
|
106
|
+
|
107
|
+
msgid "The job is scheduled to start at %{timestamp}"
|
108
|
+
msgstr ""
|
109
|
+
|
110
|
+
msgid "Job invocation %{id} created"
|
111
|
+
msgstr ""
|
112
|
+
|
113
|
+
msgid "Schedule the execution for a later time"
|
114
|
+
msgstr ""
|
115
|
+
|
116
|
+
msgid "Execution should be cancelled if it cannot be started before --start-at"
|
117
|
+
msgstr ""
|
118
|
+
|
119
|
+
msgid "Create a recurring execution"
|
120
|
+
msgstr ""
|
121
|
+
|
122
|
+
msgid "Perform no more executions after this time, used with --cron-line"
|
123
|
+
msgstr ""
|
124
|
+
|
125
|
+
msgid "Specify inputs from command line"
|
126
|
+
msgstr ""
|
127
|
+
|
128
|
+
msgid "Read input values from files"
|
129
|
+
msgstr ""
|
130
|
+
|
131
|
+
msgid "Dynamic search queries are evaluated at run time"
|
132
|
+
msgstr ""
|
133
|
+
|
134
|
+
msgid "Cancel the job"
|
135
|
+
msgstr ""
|
136
|
+
|
137
|
+
msgid "Job invocation %{id} cancelled"
|
138
|
+
msgstr ""
|
139
|
+
|
140
|
+
msgid "Could not cancel the job invocation"
|
141
|
+
msgstr ""
|
142
|
+
|
143
|
+
msgid "Rerun the job"
|
144
|
+
msgstr ""
|
145
|
+
|
146
|
+
msgid "Job invocation was rerun as %{id}"
|
147
|
+
msgstr ""
|
148
|
+
|
149
|
+
msgid "Manage job invocations"
|
150
|
+
msgstr ""
|
151
|
+
|
152
|
+
msgid "Provider"
|
153
|
+
msgstr ""
|
154
|
+
|
155
|
+
msgid "Type"
|
156
|
+
msgstr ""
|
157
|
+
|
158
|
+
msgid "Inputs"
|
159
|
+
msgstr ""
|
160
|
+
|
161
|
+
msgid "View job template content"
|
162
|
+
msgstr ""
|
163
|
+
|
164
|
+
msgid "Path to a file that contains the template"
|
165
|
+
msgstr ""
|
166
|
+
|
167
|
+
msgid "Job template created"
|
168
|
+
msgstr ""
|
169
|
+
|
170
|
+
msgid "Could not create the job template"
|
171
|
+
msgstr ""
|
172
|
+
|
173
|
+
msgid "Path to a file that contains the template - must include ERB metadata"
|
174
|
+
msgstr ""
|
175
|
+
|
176
|
+
msgid "Job template imported"
|
177
|
+
msgstr ""
|
178
|
+
|
179
|
+
msgid "Could not import the job template"
|
180
|
+
msgstr ""
|
181
|
+
|
182
|
+
msgid "Export a template including all metadata"
|
183
|
+
msgstr ""
|
184
|
+
|
185
|
+
msgid "Job template updated"
|
186
|
+
msgstr ""
|
187
|
+
|
188
|
+
msgid "Could not update the job template"
|
189
|
+
msgstr ""
|
190
|
+
|
191
|
+
msgid "Job template deleted"
|
192
|
+
msgstr ""
|
193
|
+
|
194
|
+
msgid "Could not delete the job template"
|
195
|
+
msgstr ""
|
196
|
+
|
197
|
+
msgid "Manage job templates"
|
198
|
+
msgstr ""
|
199
|
+
|
200
|
+
msgid ""
|
201
|
+
"Comma-separated list of key=file, where file is a path to a text file to be re"
|
202
|
+
"ad"
|
203
|
+
msgstr ""
|
204
|
+
|
205
|
+
#, fuzzy
|
206
|
+
msgid ""
|
207
|
+
"Cron line format 'a b c d e', where:\n"
|
208
|
+
" a. is minute (range: 0-59)\n"
|
209
|
+
" b. is hour (range: 0-23)\n"
|
210
|
+
" c. is day of month (range: 1-31)\n"
|
211
|
+
" d. is month (range: 1-12)\n"
|
212
|
+
" e. is day of week (range: 0-6)"
|
213
|
+
msgstr "Cron-Zeile"
|
214
|
+
|
215
|
+
msgid "Manage remote execution features"
|
216
|
+
msgstr ""
|
217
|
+
|
218
|
+
msgid "Job template name"
|
219
|
+
msgstr ""
|
220
|
+
|
221
|
+
msgid "Label"
|
222
|
+
msgstr ""
|
223
|
+
|
224
|
+
#, fuzzy
|
225
|
+
msgid "Job template ID"
|
226
|
+
msgstr "ID"
|
227
|
+
|
228
|
+
msgid "Remote execution feature updated"
|
229
|
+
msgstr ""
|
230
|
+
|
231
|
+
msgid "Could not update the remote execution feature"
|
232
|
+
msgstr ""
|
233
|
+
|
234
|
+
msgid "Manage template inputs"
|
235
|
+
msgstr ""
|
236
|
+
|
237
|
+
msgid "Input type"
|
238
|
+
msgstr ""
|
239
|
+
|
240
|
+
msgid "Fact name"
|
241
|
+
msgstr ""
|
242
|
+
|
243
|
+
msgid "Variable name"
|
244
|
+
msgstr ""
|
245
|
+
|
246
|
+
msgid "Puppet parameter name"
|
247
|
+
msgstr ""
|
248
|
+
|
249
|
+
msgid "Options"
|
250
|
+
msgstr ""
|
251
|
+
|
252
|
+
msgid "Template input created"
|
253
|
+
msgstr ""
|
254
|
+
|
255
|
+
msgid "Could not create the template input"
|
256
|
+
msgstr ""
|
257
|
+
|
258
|
+
msgid "Template input deleted"
|
259
|
+
msgstr ""
|
260
|
+
|
261
|
+
msgid "Could not delete the template input"
|
262
|
+
msgstr ""
|