foreman_openscap 13.1.2 → 13.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/foreman_openscap/locale/de/foreman_openscap.js +5 -5
- data/app/assets/javascripts/foreman_openscap/locale/en/foreman_openscap.js +1 -1
- data/app/assets/javascripts/foreman_openscap/locale/en_GB/foreman_openscap.js +1 -1
- data/app/assets/javascripts/foreman_openscap/locale/es/foreman_openscap.js +1 -1
- data/app/assets/javascripts/foreman_openscap/locale/fr/foreman_openscap.js +26 -24
- data/app/assets/javascripts/foreman_openscap/locale/gl/foreman_openscap.js +1 -1
- data/app/assets/javascripts/foreman_openscap/locale/it/foreman_openscap.js +1 -1
- data/app/assets/javascripts/foreman_openscap/locale/ja/foreman_openscap.js +26 -28
- data/app/assets/javascripts/foreman_openscap/locale/ka/foreman_openscap.js +5 -5
- data/app/assets/javascripts/foreman_openscap/locale/ko/foreman_openscap.js +26 -28
- data/app/assets/javascripts/foreman_openscap/locale/pt_BR/foreman_openscap.js +1 -1
- data/app/assets/javascripts/foreman_openscap/locale/ru/foreman_openscap.js +1 -1
- data/app/assets/javascripts/foreman_openscap/locale/sv_SE/foreman_openscap.js +1 -1
- data/app/assets/javascripts/foreman_openscap/locale/zh_CN/foreman_openscap.js +22 -24
- data/app/assets/javascripts/foreman_openscap/locale/zh_TW/foreman_openscap.js +1 -1
- data/app/controllers/api/v2/compliance/hosts_bulk_actions_controller.rb +38 -1
- data/app/controllers/policies_controller.rb +1 -1
- data/app/models/concerns/foreman_openscap/host_extensions.rb +10 -4
- data/app/models/concerns/foreman_openscap/hostgroup_extensions.rb +7 -0
- data/app/models/foreman_openscap/asset.rb +21 -1
- data/app/models/foreman_openscap/compliance_status.rb +19 -7
- data/app/models/foreman_openscap/policy.rb +43 -3
- data/app/services/foreman_openscap/compliance_status_resetter.rb +26 -0
- data/config/routes.rb +2 -0
- data/lib/foreman_openscap/engine.rb +3 -1
- data/lib/foreman_openscap/version.rb +1 -1
- data/locale/de/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/de/foreman_openscap.po +5 -5
- data/locale/en/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/en/foreman_openscap.po +1 -1
- data/locale/en_GB/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/en_GB/foreman_openscap.po +1 -1
- data/locale/es/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/es/foreman_openscap.po +1 -1
- data/locale/foreman_openscap.pot +2 -2
- data/locale/fr/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/fr/foreman_openscap.po +26 -24
- data/locale/gl/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/gl/foreman_openscap.po +1 -1
- data/locale/it/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/it/foreman_openscap.po +1 -1
- data/locale/ja/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/ja/foreman_openscap.po +26 -28
- data/locale/ka/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/ka/foreman_openscap.po +5 -5
- data/locale/ko/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/ko/foreman_openscap.po +26 -28
- data/locale/pt_BR/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/pt_BR/foreman_openscap.po +1 -1
- data/locale/ru/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/ru/foreman_openscap.po +1 -1
- data/locale/sv_SE/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/sv_SE/foreman_openscap.po +1 -1
- data/locale/zh_CN/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/zh_CN/foreman_openscap.po +22 -24
- data/locale/zh_TW/LC_MESSAGES/foreman_openscap.mo +0 -0
- data/locale/zh_TW/foreman_openscap.po +1 -1
- data/test/functional/api/v2/compliance/hosts_bulk_actions_controller_test.rb +175 -1
- data/test/test_plugin_helper.rb +7 -0
- data/test/unit/compliance_status_resetter_test.rb +48 -0
- data/test/unit/compliance_status_test.rb +53 -4
- data/test/unit/concerns/host_extensions_test.rb +55 -0
- data/test/unit/concerns/hostgroup_extensions_test.rb +64 -0
- data/test/unit/policy_test.rb +90 -0
- data/webpack/components/BulkActions/compliancePolicy/BulkCompliancePolicyMenuItems.js +49 -0
- data/webpack/components/BulkActions/compliancePolicy/BulkCompliancePolicyModal.js +304 -0
- data/webpack/components/BulkActions/compliancePolicy/BulkCompliancePolicyModalScene.js +65 -0
- data/webpack/components/BulkActions/compliancePolicy/__tests__/actions.test.js +121 -0
- data/webpack/components/BulkActions/compliancePolicy/actions.js +32 -0
- data/webpack/components/BulkActions/compliancePolicy/constants.js +8 -0
- data/webpack/global_index.js +27 -1
- metadata +10 -1
|
@@ -42,6 +42,7 @@ module ForemanOpenscap
|
|
|
42
42
|
validate :valid_tailoring, :valid_tailoring_profile, :no_mixed_deployments
|
|
43
43
|
validate :valid_cron_line, :valid_weekday, :valid_day_of_month, :if => Proc.new { |policy| policy.should_validate?('Schedule') }
|
|
44
44
|
after_save :assign_policy_to_hostgroups
|
|
45
|
+
after_save :reset_changed_assignment_hosts_to_inconclusive
|
|
45
46
|
# before_destroy - ensure that the policy has no hostgroups, or classes
|
|
46
47
|
|
|
47
48
|
default_scope do
|
|
@@ -179,10 +180,14 @@ module ForemanOpenscap
|
|
|
179
180
|
:assetable_type => 'Host::Base',
|
|
180
181
|
:assetable_id => hosts.map(&:id),
|
|
181
182
|
:foreman_openscap_asset_policies => { :policy_id => id }
|
|
182
|
-
).pluck(:id)
|
|
183
|
+
).pluck(:id, :assetable_id)
|
|
183
184
|
|
|
184
|
-
|
|
185
|
-
|
|
185
|
+
asset_ids = policy_host_assets.map(&:first)
|
|
186
|
+
host_ids_to_reset = policy_host_assets.map(&:second)
|
|
187
|
+
|
|
188
|
+
self.asset_ids = self.asset_ids - asset_ids
|
|
189
|
+
ForemanOpenscap::Asset.where(:id => asset_ids).destroy_all
|
|
190
|
+
ForemanOpenscap::ComplianceStatusResetter.to_inconclusive(host_ids_to_reset)
|
|
186
191
|
end
|
|
187
192
|
|
|
188
193
|
def to_enc
|
|
@@ -251,12 +256,47 @@ module ForemanOpenscap
|
|
|
251
256
|
end
|
|
252
257
|
|
|
253
258
|
def assign_ids(ids, class_name)
|
|
259
|
+
before_host_ids = host_ids_reached_by_assignments(class_name)
|
|
254
260
|
new_assets = ids.uniq.reject { |id| id.respond_to?(:empty?) && id.empty? }.reduce([]) do |memo, id|
|
|
255
261
|
memo << assets.where(:assetable_type => class_name, :assetable_id => id).first_or_initialize
|
|
256
262
|
end
|
|
257
263
|
complimentary_class_name = class_name == 'Host::Base' ? 'Hostgroup' : 'Host::Base'
|
|
258
264
|
existing_assets = self.assets.select { |assigned_asset| assigned_asset.assetable_type == complimentary_class_name }
|
|
259
265
|
self.assets = existing_assets + new_assets
|
|
266
|
+
after_host_ids = host_ids_reached_by_assignments(class_name, self.assets)
|
|
267
|
+
|
|
268
|
+
return unless host_assignment_changed?(before_host_ids, after_host_ids)
|
|
269
|
+
|
|
270
|
+
remember_hosts_for_compliance_status_reset(before_host_ids + after_host_ids)
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
def host_ids_reached_by_assignments(class_name, assigned_assets = assets)
|
|
274
|
+
assetable_ids = assigned_assets.select { |asset| asset.assetable_type == class_name }.map { |asset| asset.assetable_id.to_i }
|
|
275
|
+
|
|
276
|
+
if class_name == 'Host::Base'
|
|
277
|
+
assetable_ids
|
|
278
|
+
else
|
|
279
|
+
hostgroup_ids = ::Hostgroup.where(:id => assetable_ids).flat_map(&:subtree_ids).uniq
|
|
280
|
+
::Host.where(:hostgroup_id => hostgroup_ids).pluck(:id)
|
|
281
|
+
end
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
def remember_hosts_for_compliance_status_reset(host_ids)
|
|
285
|
+
@compliance_status_reset_host_ids ||= []
|
|
286
|
+
@compliance_status_reset_host_ids.concat(host_ids)
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
def host_assignment_changed?(before_host_ids, after_host_ids)
|
|
290
|
+
before_host_ids.to_set != after_host_ids.to_set
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
def reset_changed_assignment_hosts_to_inconclusive
|
|
294
|
+
host_ids = Array(@compliance_status_reset_host_ids).compact.uniq
|
|
295
|
+
return if host_ids.empty?
|
|
296
|
+
|
|
297
|
+
ForemanOpenscap::ComplianceStatusResetter.to_inconclusive(host_ids)
|
|
298
|
+
ensure
|
|
299
|
+
@compliance_status_reset_host_ids = nil
|
|
260
300
|
end
|
|
261
301
|
|
|
262
302
|
def no_mixed_deployments
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module ForemanOpenscap
|
|
2
|
+
class ComplianceStatusResetter
|
|
3
|
+
def self.to_inconclusive(host_ids)
|
|
4
|
+
host_ids = Array(host_ids).compact.uniq
|
|
5
|
+
return if host_ids.empty?
|
|
6
|
+
|
|
7
|
+
now = Time.current
|
|
8
|
+
rows = host_ids.map do |host_id|
|
|
9
|
+
{
|
|
10
|
+
:host_id => host_id,
|
|
11
|
+
:type => ComplianceStatus.to_s,
|
|
12
|
+
:status => ComplianceStatus::INCONCLUSIVE,
|
|
13
|
+
:reported_at => now
|
|
14
|
+
}
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
ComplianceStatus.upsert_all(rows, :unique_by => %i[type host_id], :update_only => %i[status reported_at])
|
|
18
|
+
|
|
19
|
+
refresh_global_statuses(host_ids)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def self.refresh_global_statuses(host_ids)
|
|
23
|
+
::Host::Managed.where(:id => host_ids).find_each(&:refresh_global_status!)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
data/config/routes.rb
CHANGED
|
@@ -105,6 +105,8 @@ Rails.application.routes.draw do
|
|
|
105
105
|
end
|
|
106
106
|
|
|
107
107
|
match 'hosts/bulk/change_openscap_proxy', :to => 'compliance/hosts_bulk_actions#change_openscap_proxy', :via => [:put]
|
|
108
|
+
match 'compliance/hosts/bulk/assign_compliance_policy', :to => 'compliance/hosts_bulk_actions#assign_compliance_policy', :via => [:put]
|
|
109
|
+
match 'compliance/hosts/bulk/unassign_compliance_policy', :to => 'compliance/hosts_bulk_actions#unassign_compliance_policy', :via => [:put]
|
|
108
110
|
end
|
|
109
111
|
end
|
|
110
112
|
end
|
|
@@ -76,7 +76,9 @@ module ForemanOpenscap
|
|
|
76
76
|
:resource_type => 'ForemanOpenscap::Policy'
|
|
77
77
|
permission :assign_policies, { :policies => %i[select_multiple_hosts update_multiple_hosts
|
|
78
78
|
disassociate_multiple_hosts
|
|
79
|
-
remove_policy_from_multiple_hosts]
|
|
79
|
+
remove_policy_from_multiple_hosts],
|
|
80
|
+
'api/v2/compliance/hosts_bulk_actions' => %i[assign_compliance_policy
|
|
81
|
+
unassign_compliance_policy] },
|
|
80
82
|
:resource_type => 'ForemanOpenscap::Policy'
|
|
81
83
|
permission :view_scap_contents, { :scap_contents => %i[index show auto_complete_search],
|
|
82
84
|
'api/v2/compliance/scap_contents' => %i[index show xml],
|
|
Binary file
|
|
@@ -417,7 +417,7 @@ msgid "Hosts passing this rule"
|
|
|
417
417
|
msgstr "Regel angewandt auf Hosts."
|
|
418
418
|
|
|
419
419
|
msgid "Hosts to explicitly exclude in the action. All other hosts will be included in the action, unless an included parameter is passed as well."
|
|
420
|
-
msgstr ""
|
|
420
|
+
msgstr "Hosts, die explizit von der Aktion ausgeschlossen werden sollen. Alle anderen Hosts werden in die Aktion einbezogen, sofern nicht zusätzlich ein Parameter \"included\" übergeben wird."
|
|
421
421
|
|
|
422
422
|
msgid "Hosts to include in the action"
|
|
423
423
|
msgstr ""
|
|
@@ -491,13 +491,13 @@ msgid "List Tailoring files"
|
|
|
491
491
|
msgstr "Tailoring-Dateien anzeigen"
|
|
492
492
|
|
|
493
493
|
msgid "List of host ids to exclude and not perform the action on"
|
|
494
|
-
msgstr ""
|
|
494
|
+
msgstr "Liste der Host-Kennungen, die beim Ausführen der Aktion ignoriert werden sollen"
|
|
495
495
|
|
|
496
496
|
msgid "List of host ids to perform the action on"
|
|
497
|
-
msgstr ""
|
|
497
|
+
msgstr "Liste der Host-Kennungen, für die die Aktion durchgeführt werden soll"
|
|
498
498
|
|
|
499
499
|
msgid "Loading"
|
|
500
|
-
msgstr ""
|
|
500
|
+
msgstr "Lade"
|
|
501
501
|
|
|
502
502
|
msgid "Loading..."
|
|
503
503
|
msgstr "Ladevorgang …"
|
|
@@ -847,7 +847,7 @@ msgid "Schedule"
|
|
|
847
847
|
msgstr "Plan"
|
|
848
848
|
|
|
849
849
|
msgid "Search string describing which hosts to perform the action on"
|
|
850
|
-
msgstr ""
|
|
850
|
+
msgstr "Suchbegriff, der angibt, auf welchen Hosts die Aktion ausgeführt werden soll"
|
|
851
851
|
|
|
852
852
|
msgid "Select Action"
|
|
853
853
|
msgstr "Aktion auswählen"
|
|
Binary file
|
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: foreman_openscap 1.0.0\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"PO-Revision-Date: 2026-09-
|
|
11
|
+
"PO-Revision-Date: 2026-09-29 11:05+0000\n"
|
|
12
12
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
13
13
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
14
14
|
"Language: \n"
|
|
Binary file
|
|
Binary file
|
data/locale/foreman_openscap.pot
CHANGED
|
@@ -8,8 +8,8 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: foreman_openscap 1.0.0\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date: 2026-09-
|
|
12
|
-
"PO-Revision-Date: 2026-09-
|
|
11
|
+
"POT-Creation-Date: 2026-09-29 11:05+0000\n"
|
|
12
|
+
"PO-Revision-Date: 2026-09-29 11:05+0000\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
15
15
|
"Language: \n"
|
|
Binary file
|
|
@@ -51,7 +51,7 @@ msgid "%s reports over time"
|
|
|
51
51
|
msgstr "%s rapports sur la durée"
|
|
52
52
|
|
|
53
53
|
msgid "%s selected hosts."
|
|
54
|
-
msgstr ""
|
|
54
|
+
msgstr "%s hôtes sélectionnés"
|
|
55
55
|
|
|
56
56
|
msgid "%s spool errors detected, inspect the appropriate file directly on proxy"
|
|
57
57
|
msgstr "%s erreurs de spool détectées, inspectez le fichier approprié directement sur le proxy"
|
|
@@ -72,7 +72,7 @@ msgid "A summary of reports for OpenSCAP policies"
|
|
|
72
72
|
msgstr "Récapitulatif des rapports de stratégies OpenSCAP"
|
|
73
73
|
|
|
74
74
|
msgid "ALL selected hosts."
|
|
75
|
-
msgstr ""
|
|
75
|
+
msgstr "TOUS les hôtes sélectionnés."
|
|
76
76
|
|
|
77
77
|
msgid "Actions"
|
|
78
78
|
msgstr "Actions"
|
|
@@ -93,19 +93,19 @@ msgid "Apply policy to hosts"
|
|
|
93
93
|
msgstr "Appliquer la politique aux hôtes"
|
|
94
94
|
|
|
95
95
|
msgid "Assign"
|
|
96
|
-
msgstr ""
|
|
96
|
+
msgstr "Attribuer"
|
|
97
97
|
|
|
98
98
|
msgid "Assign Compliance Policy"
|
|
99
99
|
msgstr "Attribuer un stratégie de conformité"
|
|
100
100
|
|
|
101
101
|
msgid "Assign OpenSCAP Proxy"
|
|
102
|
-
msgstr ""
|
|
102
|
+
msgstr "Attribuer un proxy OpenSCAP"
|
|
103
103
|
|
|
104
104
|
msgid "Assign OpenSCAP Proxy for "
|
|
105
|
-
msgstr ""
|
|
105
|
+
msgstr "Attribuer un proxy OpenSCAP pour "
|
|
106
106
|
|
|
107
107
|
msgid "Assign OpenSCAP Proxy to multiple hosts"
|
|
108
|
-
msgstr ""
|
|
108
|
+
msgstr "Attribuer le proxy OpenSCAP à plusieurs hôtes"
|
|
109
109
|
|
|
110
110
|
msgid "Back"
|
|
111
111
|
msgstr "Précédent"
|
|
@@ -325,8 +325,9 @@ msgstr "Échec de l'enregistrement%s :"
|
|
|
325
325
|
|
|
326
326
|
msgid "Failed to assign OpenSCAP Proxy to %{failed} of %{total} host."
|
|
327
327
|
msgid_plural "Failed to assign OpenSCAP Proxy to %{failed} of %{total} hosts."
|
|
328
|
-
msgstr[0] ""
|
|
329
|
-
msgstr[1] ""
|
|
328
|
+
msgstr[0] "Échec de l'attribution du proxy OpenSCAP à %{failed} de %{total} hôte."
|
|
329
|
+
msgstr[1] "Échec de l'attribution du proxy OpenSCAP à %{failed} de %{total} hôtes."
|
|
330
|
+
msgstr[2] "Échec de l'attribution du proxy OpenSCAP à %{failed} de %{total} hôtes."
|
|
330
331
|
|
|
331
332
|
msgid "Failed to delete %s compliance reports"
|
|
332
333
|
msgstr "Impossible de supprimer les rapports de conformité %s"
|
|
@@ -417,10 +418,10 @@ msgid "Hosts passing this rule"
|
|
|
417
418
|
msgstr "Hôtes passant cette règle"
|
|
418
419
|
|
|
419
420
|
msgid "Hosts to explicitly exclude in the action. All other hosts will be included in the action, unless an included parameter is passed as well."
|
|
420
|
-
msgstr ""
|
|
421
|
+
msgstr "Versions à exclure explicitement dans l'action. Tous les autres versions applicables seront incluses dans l'action, à moins qu'un paramètre inclus ne soit également transmis."
|
|
421
422
|
|
|
422
423
|
msgid "Hosts to include in the action"
|
|
423
|
-
msgstr ""
|
|
424
|
+
msgstr "Hôtes à inclure dans l'action"
|
|
424
425
|
|
|
425
426
|
msgid "How the policy should be deployed"
|
|
426
427
|
msgstr "Comment la stratégie doit-elle être déployée"
|
|
@@ -429,7 +430,7 @@ msgid "ID of OpenSCAP Proxy"
|
|
|
429
430
|
msgstr "ID du proxy OpenSCAP"
|
|
430
431
|
|
|
431
432
|
msgid "ID of the OpenSCAP Proxy to assign to the hosts"
|
|
432
|
-
msgstr ""
|
|
433
|
+
msgstr "Identifiant du proxy OpenSCAP à attribuer aux hôtes"
|
|
433
434
|
|
|
434
435
|
msgid "In Foreman, a compliance policy checklist is defined via %s."
|
|
435
436
|
msgstr "Dans Foreman, une liste de stratégies de conformité est définie via %s."
|
|
@@ -473,7 +474,7 @@ msgid "Latest reports for policy: %s"
|
|
|
473
474
|
msgstr "Derniers rapports pour stratégie : %s"
|
|
474
475
|
|
|
475
476
|
msgid "Line chart"
|
|
476
|
-
msgstr ""
|
|
477
|
+
msgstr "Graphique linéaire"
|
|
477
478
|
|
|
478
479
|
msgid "List ARF reports"
|
|
479
480
|
msgstr "Afficher tous les rapports ARF"
|
|
@@ -491,13 +492,13 @@ msgid "List Tailoring files"
|
|
|
491
492
|
msgstr "Répertorier les fichiers de personnalisation"
|
|
492
493
|
|
|
493
494
|
msgid "List of host ids to exclude and not perform the action on"
|
|
494
|
-
msgstr ""
|
|
495
|
+
msgstr "Liste des identifiants d'hôte à exclure et sur lesquels ne pas performer l'action"
|
|
495
496
|
|
|
496
497
|
msgid "List of host ids to perform the action on"
|
|
497
|
-
msgstr ""
|
|
498
|
+
msgstr "Liste des identifiants d'hôte sur lesquels performer l'action"
|
|
498
499
|
|
|
499
500
|
msgid "Loading"
|
|
500
|
-
msgstr ""
|
|
501
|
+
msgstr "Chargement"
|
|
501
502
|
|
|
502
503
|
msgid "Loading..."
|
|
503
504
|
msgstr "Chargement..."
|
|
@@ -545,7 +546,7 @@ msgid "No ARF reports for this policy"
|
|
|
545
546
|
msgstr "Aucun rapport ARF pour cette stratégie"
|
|
546
547
|
|
|
547
548
|
msgid "No OpenSCAP Proxies available. Please configure a Smart Proxy with the OpenSCAP feature."
|
|
548
|
-
msgstr ""
|
|
549
|
+
msgstr "Aucun proxy OpenSCAP disponible. Veuillez configurer un proxy intelligent compatible avec OpenSCAP."
|
|
549
550
|
|
|
550
551
|
msgid "No OpenSCAP Proxy selected."
|
|
551
552
|
msgstr "Aucun proxy OpenSCAP n'a été sélectionné."
|
|
@@ -569,7 +570,7 @@ msgid "No compliance reports were found."
|
|
|
569
570
|
msgstr "Aucun rapport de conformité trouvé."
|
|
570
571
|
|
|
571
572
|
msgid "No data available"
|
|
572
|
-
msgstr ""
|
|
573
|
+
msgstr "Aucune donnée disponible"
|
|
573
574
|
|
|
574
575
|
msgid "No hosts selected"
|
|
575
576
|
msgstr "Aucun hôte sélectionné"
|
|
@@ -635,13 +636,13 @@ msgid "OpenSCAP Proxy"
|
|
|
635
636
|
msgstr "Proxy OpenSCAP"
|
|
636
637
|
|
|
637
638
|
msgid "OpenSCAP Proxy is set to %s"
|
|
638
|
-
msgstr ""
|
|
639
|
+
msgstr "OpenSCAP Proxy est configuré pour %s"
|
|
639
640
|
|
|
640
641
|
msgid "OpenSCAP Proxy to use for fetching SCAP content and uploading ARF reports. Leave blank and override appropriate parameters when using proxy load balancer."
|
|
641
642
|
msgstr "Proxy OpenSCAP à utiliser pour récupérer le contenu SCAP et télécharger les rapports ARF. Laissez ce champ vide et remplacez les paramètres appropriés lors de l'utilisation de l'équilibreur de charge proxy."
|
|
642
643
|
|
|
643
644
|
msgid "OpenSCAP Proxy with id %s not found"
|
|
644
|
-
msgstr ""
|
|
645
|
+
msgstr "Proxy OpenSCAP avec identifiant %s introuvable"
|
|
645
646
|
|
|
646
647
|
msgid "Openscap Proxy"
|
|
647
648
|
msgstr "Proxy Openscap"
|
|
@@ -847,7 +848,7 @@ msgid "Schedule"
|
|
|
847
848
|
msgstr "Programmer"
|
|
848
849
|
|
|
849
850
|
msgid "Search string describing which hosts to perform the action on"
|
|
850
|
-
msgstr ""
|
|
851
|
+
msgstr "Chaîne de recherche décrivant les hôtes sur lesquels performer l'action"
|
|
851
852
|
|
|
852
853
|
msgid "Select Action"
|
|
853
854
|
msgstr "Choisir l'action"
|
|
@@ -932,8 +933,9 @@ msgstr "Rapport ARF supprimé."
|
|
|
932
933
|
|
|
933
934
|
msgid "Successfully updated %{success} host."
|
|
934
935
|
msgid_plural "Successfully updated %{success} hosts."
|
|
935
|
-
msgstr[0] ""
|
|
936
|
-
msgstr[1] ""
|
|
936
|
+
msgstr[0] "Mise à jour réussie %{success} hôte."
|
|
937
|
+
msgstr[1] "Mise à jour réussie %{success} hôtes."
|
|
938
|
+
msgstr[2] "Mise à jour réussie %{success} hôtes."
|
|
937
939
|
|
|
938
940
|
msgid "Summary from %{time} ago to now"
|
|
939
941
|
msgstr "Résumé de %{time} à maintenant"
|
|
@@ -982,7 +984,7 @@ msgid "The job has started on selected host(s), you can check the status on the
|
|
|
982
984
|
msgstr "Le job a démarré sur le ou les hôtes sélectionnés, vous pouvez vérifier l'état sur la page des détails de ce job."
|
|
983
985
|
|
|
984
986
|
msgid "The selected OpenSCAP Proxy does not have the OpenSCAP feature enabled."
|
|
985
|
-
msgstr ""
|
|
987
|
+
msgstr "Le proxy OpenSCAP sélectionné ne dispose pas de la fonctionnalité OpenSCAP activée."
|
|
986
988
|
|
|
987
989
|
msgid "There are significant differences in deployment options."
|
|
988
990
|
msgstr "Il existe des différences importantes dans les options de déploiement."
|
|
@@ -1000,7 +1002,7 @@ msgid "This profile will be used to override the one from scap content"
|
|
|
1000
1002
|
msgstr "Ce profil sera utilisé pour remplacer celui du contenu scap"
|
|
1001
1003
|
|
|
1002
1004
|
msgid "This will change previous proxy assignments on the selected hosts."
|
|
1003
|
-
msgstr ""
|
|
1005
|
+
msgstr "Cela modifiera les affectations de proxy précédentes sur les hôtes sélectionnés."
|
|
1004
1006
|
|
|
1005
1007
|
msgid "Title"
|
|
1006
1008
|
msgstr "Titre"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -48,7 +48,7 @@ msgid "%s reports over time"
|
|
|
48
48
|
msgstr "経過レポート %s 件"
|
|
49
49
|
|
|
50
50
|
msgid "%s selected hosts."
|
|
51
|
-
msgstr ""
|
|
51
|
+
msgstr "選択した %s 台のホスト。"
|
|
52
52
|
|
|
53
53
|
msgid "%s spool errors detected, inspect the appropriate file directly on proxy"
|
|
54
54
|
msgstr "%s のスプールエラーが検出されました。プロキシーで直接適切なファイルを検証してください。"
|
|
@@ -69,7 +69,7 @@ msgid "A summary of reports for OpenSCAP policies"
|
|
|
69
69
|
msgstr "OpenSCAP ポリシーのレポートの概要"
|
|
70
70
|
|
|
71
71
|
msgid "ALL selected hosts."
|
|
72
|
-
msgstr ""
|
|
72
|
+
msgstr "選択されたすべてのホスト。"
|
|
73
73
|
|
|
74
74
|
msgid "Actions"
|
|
75
75
|
msgstr "アクション"
|
|
@@ -90,19 +90,19 @@ msgid "Apply policy to hosts"
|
|
|
90
90
|
msgstr "ホストにポリシーを適用"
|
|
91
91
|
|
|
92
92
|
msgid "Assign"
|
|
93
|
-
msgstr ""
|
|
93
|
+
msgstr "割り当て"
|
|
94
94
|
|
|
95
95
|
msgid "Assign Compliance Policy"
|
|
96
96
|
msgstr "コンプライアンスポリシーの割り当て"
|
|
97
97
|
|
|
98
98
|
msgid "Assign OpenSCAP Proxy"
|
|
99
|
-
msgstr ""
|
|
99
|
+
msgstr "OpenSCAP プロキシーを割り当てる"
|
|
100
100
|
|
|
101
101
|
msgid "Assign OpenSCAP Proxy for "
|
|
102
|
-
msgstr ""
|
|
102
|
+
msgstr "OpenSCAP プロキシーを割り当てる:"
|
|
103
103
|
|
|
104
104
|
msgid "Assign OpenSCAP Proxy to multiple hosts"
|
|
105
|
-
msgstr ""
|
|
105
|
+
msgstr "複数のホストに OpenSCAP プロキシーを割り当てる"
|
|
106
106
|
|
|
107
107
|
msgid "Back"
|
|
108
108
|
msgstr "戻る"
|
|
@@ -322,8 +322,7 @@ msgstr "%s の保存に失敗しました:"
|
|
|
322
322
|
|
|
323
323
|
msgid "Failed to assign OpenSCAP Proxy to %{failed} of %{total} host."
|
|
324
324
|
msgid_plural "Failed to assign OpenSCAP Proxy to %{failed} of %{total} hosts."
|
|
325
|
-
msgstr[0] ""
|
|
326
|
-
msgstr[1] ""
|
|
325
|
+
msgstr[0] "%{total} 台中 %{failed} 台のホストへの OpenSCAP プロキシーの割り当てに失敗しました。"
|
|
327
326
|
|
|
328
327
|
msgid "Failed to delete %s compliance reports"
|
|
329
328
|
msgstr "%s コンプライアンスレポートの削除に失敗しました"
|
|
@@ -341,7 +340,7 @@ msgid "Failed to fetch spool status from proxy"
|
|
|
341
340
|
msgstr "プロキシーからスプールステータスを取得できませんでした"
|
|
342
341
|
|
|
343
342
|
msgid "Failed to save when overriding parameters for %{config_tool}, cause: %{errors}"
|
|
344
|
-
msgstr "%{config_tool}
|
|
343
|
+
msgstr "%{config_tool} のパラメーターのオーバーライド時に保存に失敗しました。原因: %{errors}"
|
|
345
344
|
|
|
346
345
|
msgid "Failed to upload Arf Report, OpenSCAP proxy name or url not found in params when uploading for %s and host is missing openscap_proxy"
|
|
347
346
|
msgstr "Arf レポートのアップロードに失敗しました。%s のアップロード時にパラメーターで OpenSCAP プロキシー名または url が見つかりませんでした。ホストには openscap_proxy が設定されていません。"
|
|
@@ -414,10 +413,10 @@ msgid "Hosts passing this rule"
|
|
|
414
413
|
msgstr "このルールに合格のホスト"
|
|
415
414
|
|
|
416
415
|
msgid "Hosts to explicitly exclude in the action. All other hosts will be included in the action, unless an included parameter is passed as well."
|
|
417
|
-
msgstr ""
|
|
416
|
+
msgstr "アクションから明示的に除外するホスト。それ以外のホストは、包含パラメーターが指定されていない限り、すべてアクションに追加されます。"
|
|
418
417
|
|
|
419
418
|
msgid "Hosts to include in the action"
|
|
420
|
-
msgstr ""
|
|
419
|
+
msgstr "アクションに追加するホスト"
|
|
421
420
|
|
|
422
421
|
msgid "How the policy should be deployed"
|
|
423
422
|
msgstr "ポリシーのデプロイメント方法"
|
|
@@ -426,7 +425,7 @@ msgid "ID of OpenSCAP Proxy"
|
|
|
426
425
|
msgstr "OpenSCAP プロキシーの ID"
|
|
427
426
|
|
|
428
427
|
msgid "ID of the OpenSCAP Proxy to assign to the hosts"
|
|
429
|
-
msgstr ""
|
|
428
|
+
msgstr "ホストに割り当てる OpenSCAP プロキシーの ID"
|
|
430
429
|
|
|
431
430
|
msgid "In Foreman, a compliance policy checklist is defined via %s."
|
|
432
431
|
msgstr "Foreman では、コンプライアンスポリシーのチェックリストは %s で定義されます。"
|
|
@@ -470,7 +469,7 @@ msgid "Latest reports for policy: %s"
|
|
|
470
469
|
msgstr "ポリシーの最新レポート: %s"
|
|
471
470
|
|
|
472
471
|
msgid "Line chart"
|
|
473
|
-
msgstr ""
|
|
472
|
+
msgstr "折れ線グラフ"
|
|
474
473
|
|
|
475
474
|
msgid "List ARF reports"
|
|
476
475
|
msgstr "ARF レポートの一覧表示"
|
|
@@ -488,16 +487,16 @@ msgid "List Tailoring files"
|
|
|
488
487
|
msgstr "テーラリングファイルの一覧表示"
|
|
489
488
|
|
|
490
489
|
msgid "List of host ids to exclude and not perform the action on"
|
|
491
|
-
msgstr ""
|
|
490
|
+
msgstr "除外してアクションを実行しないホスト ID の一覧"
|
|
492
491
|
|
|
493
492
|
msgid "List of host ids to perform the action on"
|
|
494
|
-
msgstr ""
|
|
493
|
+
msgstr "アクションを実行するホスト ID の一覧"
|
|
495
494
|
|
|
496
495
|
msgid "Loading"
|
|
497
|
-
msgstr ""
|
|
496
|
+
msgstr "ロード中"
|
|
498
497
|
|
|
499
498
|
msgid "Loading..."
|
|
500
|
-
msgstr "
|
|
499
|
+
msgstr "ロード中..."
|
|
501
500
|
|
|
502
501
|
msgid "Locations"
|
|
503
502
|
msgstr "ロケーション"
|
|
@@ -542,7 +541,7 @@ msgid "No ARF reports for this policy"
|
|
|
542
541
|
msgstr "このポリシーの ARF レポートがありません"
|
|
543
542
|
|
|
544
543
|
msgid "No OpenSCAP Proxies available. Please configure a Smart Proxy with the OpenSCAP feature."
|
|
545
|
-
msgstr ""
|
|
544
|
+
msgstr "利用可能な OpenSCAP プロキシーがありません。OpenSCAP 機能を備えた Smart Proxy を設定してください。"
|
|
546
545
|
|
|
547
546
|
msgid "No OpenSCAP Proxy selected."
|
|
548
547
|
msgstr "OpenSCAP プロキシーが選択されていません。"
|
|
@@ -566,7 +565,7 @@ msgid "No compliance reports were found."
|
|
|
566
565
|
msgstr "コンプライアンスレポートが見つかりませんでした。"
|
|
567
566
|
|
|
568
567
|
msgid "No data available"
|
|
569
|
-
msgstr ""
|
|
568
|
+
msgstr "利用可能なデータはありません"
|
|
570
569
|
|
|
571
570
|
msgid "No hosts selected"
|
|
572
571
|
msgstr "ホストが選択されていません"
|
|
@@ -632,13 +631,13 @@ msgid "OpenSCAP Proxy"
|
|
|
632
631
|
msgstr "OpenSCAP プロキシー"
|
|
633
632
|
|
|
634
633
|
msgid "OpenSCAP Proxy is set to %s"
|
|
635
|
-
msgstr ""
|
|
634
|
+
msgstr "OpenSCAP プロキシーは %s に設定されています。"
|
|
636
635
|
|
|
637
636
|
msgid "OpenSCAP Proxy to use for fetching SCAP content and uploading ARF reports. Leave blank and override appropriate parameters when using proxy load balancer."
|
|
638
|
-
msgstr "SCAP コンテンツのフェッチおよび ARF レポートのアップロードに使用する OpenSCAP
|
|
637
|
+
msgstr "SCAP コンテンツのフェッチおよび ARF レポートのアップロードに使用する OpenSCAP プロキシー。プロキシーロードバランサーを使用する場合には、空白にして、適切なパラメーターをオーバーライドします。"
|
|
639
638
|
|
|
640
639
|
msgid "OpenSCAP Proxy with id %s not found"
|
|
641
|
-
msgstr ""
|
|
640
|
+
msgstr "ID %s の OpenSCAP プロキシーが見つかりません"
|
|
642
641
|
|
|
643
642
|
msgid "Openscap Proxy"
|
|
644
643
|
msgstr "OpenSCAP プロキシー"
|
|
@@ -760,7 +759,7 @@ msgid "Remote job"
|
|
|
760
759
|
msgstr "リモートジョブ"
|
|
761
760
|
|
|
762
761
|
msgid "Report Metrics"
|
|
763
|
-
msgstr "
|
|
762
|
+
msgstr "レポートメトリクス"
|
|
764
763
|
|
|
765
764
|
msgid "Report Status"
|
|
766
765
|
msgstr "レポートのステータス"
|
|
@@ -844,7 +843,7 @@ msgid "Schedule"
|
|
|
844
843
|
msgstr "スケジュール"
|
|
845
844
|
|
|
846
845
|
msgid "Search string describing which hosts to perform the action on"
|
|
847
|
-
msgstr ""
|
|
846
|
+
msgstr "アクションを実行するホストを表す検索文字列"
|
|
848
847
|
|
|
849
848
|
msgid "Select Action"
|
|
850
849
|
msgstr "アクションの選択"
|
|
@@ -929,8 +928,7 @@ msgstr "ARF レポートが正常に削除されました。"
|
|
|
929
928
|
|
|
930
929
|
msgid "Successfully updated %{success} host."
|
|
931
930
|
msgid_plural "Successfully updated %{success} hosts."
|
|
932
|
-
msgstr[0] ""
|
|
933
|
-
msgstr[1] ""
|
|
931
|
+
msgstr[0] "%{success} 台のホストを正常に更新しました。"
|
|
934
932
|
|
|
935
933
|
msgid "Summary from %{time} ago to now"
|
|
936
934
|
msgstr "過去 %{time} から今までの概要"
|
|
@@ -979,7 +977,7 @@ msgid "The job has started on selected host(s), you can check the status on the
|
|
|
979
977
|
msgstr "選択したホストでジョブが開始しました。ジョブの詳細ページでステータスを確認できます。"
|
|
980
978
|
|
|
981
979
|
msgid "The selected OpenSCAP Proxy does not have the OpenSCAP feature enabled."
|
|
982
|
-
msgstr ""
|
|
980
|
+
msgstr "選択された OpenSCAP プロキシーでは、OpenSCAP 機能が有効化されていません。"
|
|
983
981
|
|
|
984
982
|
msgid "There are significant differences in deployment options."
|
|
985
983
|
msgstr "デプロイメントオプションには大きな違いがあります。"
|
|
@@ -997,7 +995,7 @@ msgid "This profile will be used to override the one from scap content"
|
|
|
997
995
|
msgstr "このプロファイルは、scap コンテンツのプロファイルをオーバーライドするために使用されます"
|
|
998
996
|
|
|
999
997
|
msgid "This will change previous proxy assignments on the selected hosts."
|
|
1000
|
-
msgstr ""
|
|
998
|
+
msgstr "これにより、選択したホスト上の以前のプロキシー割り当てが変更されます。"
|
|
1001
999
|
|
|
1002
1000
|
msgid "Title"
|
|
1003
1001
|
msgstr "タイトル"
|
|
Binary file
|
|
@@ -416,7 +416,7 @@ msgid "Hosts to explicitly exclude in the action. All other hosts will be includ
|
|
|
416
416
|
msgstr ""
|
|
417
417
|
|
|
418
418
|
msgid "Hosts to include in the action"
|
|
419
|
-
msgstr ""
|
|
419
|
+
msgstr "ჰოსტები, რომლებზეც ქმედებები გადატარდება"
|
|
420
420
|
|
|
421
421
|
msgid "How the policy should be deployed"
|
|
422
422
|
msgstr "წესის გაშლის მიმდევრობა"
|
|
@@ -483,13 +483,13 @@ msgid "List Tailoring files"
|
|
|
483
483
|
msgstr "მორგების ფაილების სია"
|
|
484
484
|
|
|
485
485
|
msgid "List of host ids to exclude and not perform the action on"
|
|
486
|
-
msgstr ""
|
|
486
|
+
msgstr "ქმედების გადატარებისას ამოსაღები ჰოსტების ID-ების სია"
|
|
487
487
|
|
|
488
488
|
msgid "List of host ids to perform the action on"
|
|
489
|
-
msgstr ""
|
|
489
|
+
msgstr "ქმედების გადასატარებელი ჰოსტების ID-ების სია"
|
|
490
490
|
|
|
491
491
|
msgid "Loading"
|
|
492
|
-
msgstr ""
|
|
492
|
+
msgstr "იტვირთება"
|
|
493
493
|
|
|
494
494
|
msgid "Loading..."
|
|
495
495
|
msgstr "იტვირთება..."
|
|
@@ -839,7 +839,7 @@ msgid "Schedule"
|
|
|
839
839
|
msgstr "განრიგი"
|
|
840
840
|
|
|
841
841
|
msgid "Search string describing which hosts to perform the action on"
|
|
842
|
-
msgstr ""
|
|
842
|
+
msgstr "ქმედების გადასატარებელი ჰოსტების მოსაძებნი სტრიქონი"
|
|
843
843
|
|
|
844
844
|
msgid "Select Action"
|
|
845
845
|
msgstr "აირჩიეთ ქმედება"
|
|
Binary file
|