foreman_snapshot_management 1.6.1 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -2
- data/Rakefile +7 -2
- data/app/controllers/api/v2/snapshots_controller.rb +37 -7
- data/app/controllers/concerns/foreman/controller/parameters/snapshot.rb +1 -1
- data/app/controllers/foreman_snapshot_management/snapshots_controller.rb +5 -5
- data/app/models/concerns/fog_extensions/proxmox/snapshots/mock.rb +24 -0
- data/app/models/foreman_snapshot_management/proxmox_extensions.rb +101 -0
- data/app/models/foreman_snapshot_management/snapshot.rb +28 -28
- data/app/models/foreman_snapshot_management/vmware_extensions.rb +40 -13
- data/app/views/api/v2/snapshots/base.json.rabl +2 -0
- data/app/views/api/v2/snapshots/main.json.rabl +2 -2
- data/app/views/foreman_snapshot_management/snapshots/_index.html.erb +12 -74
- data/app/views/hosts/_snapshots_tab.html.erb +8 -0
- data/lib/foreman_snapshot_management/engine.rb +35 -16
- data/lib/foreman_snapshot_management/version.rb +1 -1
- data/lib/tasks/foreman_snapshot_management_tasks.rake +2 -2
- data/locale/de/LC_MESSAGES/foreman_snapshot_management.mo +0 -0
- data/locale/de/foreman_snapshot_management.po +195 -0
- data/locale/en/LC_MESSAGES/foreman_snapshot_management.mo +0 -0
- data/locale/en/foreman_snapshot_management.po +179 -11
- data/locale/foreman_snapshot_management.pot +259 -8
- data/locale/gemspec.rb +1 -1
- data/package.json +46 -0
- data/test/controllers/api/v2/snapshots_test.rb +250 -39
- data/test/controllers/foreman_snapshot_management/snapshots_controller_test.rb +61 -9
- data/test/factories/proxmox_factory.rb +18 -0
- data/test/test_plugin_helper.rb +3 -0
- data/webpack/components/SnapshotManagement/SnapshotManagement.js +84 -0
- data/webpack/components/SnapshotManagement/SnapshotManagementActions.js +212 -0
- data/webpack/components/SnapshotManagement/SnapshotManagementConstants.js +9 -0
- data/webpack/components/SnapshotManagement/SnapshotManagementReducer.js +100 -0
- data/webpack/components/SnapshotManagement/SnapshotManagementSelectors.js +8 -0
- data/webpack/components/SnapshotManagement/__tests__/SnapshotManagementActions.test.js +123 -0
- data/webpack/components/SnapshotManagement/__tests__/SnapshotManagementReducer.test.js +157 -0
- data/webpack/components/SnapshotManagement/__tests__/__snapshots__/SnapshotManagementActions.test.js.snap +314 -0
- data/webpack/components/SnapshotManagement/__tests__/__snapshots__/SnapshotManagementReducer.test.js.snap +214 -0
- data/webpack/components/SnapshotManagement/components/SnapshotForm/SnapshotForm.js +118 -0
- data/webpack/components/SnapshotManagement/components/SnapshotForm/SnapshotFormConstants.js +5 -0
- data/webpack/components/SnapshotManagement/components/SnapshotForm/__tests__/SnapshotForm.test.js +26 -0
- data/webpack/components/SnapshotManagement/components/SnapshotForm/__tests__/__snapshots__/SnapshotForm.test.js.snap +476 -0
- data/webpack/components/SnapshotManagement/components/SnapshotForm/index.js +19 -0
- data/webpack/components/SnapshotManagement/components/SnapshotForm/snapshotForm.scss +3 -0
- data/webpack/components/SnapshotManagement/components/SnapshotFormModal/SnapshotFormModal.js +37 -0
- data/webpack/components/SnapshotManagement/components/SnapshotFormModal/SnapshotFormModalConstants.js +1 -0
- data/webpack/components/SnapshotManagement/components/SnapshotFormModal/__tests__/SnapshotFormModal.test.js +19 -0
- data/webpack/components/SnapshotManagement/components/SnapshotFormModal/__tests__/__snapshots__/SnapshotFormModal.test.js.snap +19 -0
- data/webpack/components/SnapshotManagement/components/SnapshotFormModal/index.js +12 -0
- data/webpack/components/SnapshotManagement/components/SnapshotFormModal/useSnapshotFormModal.js +7 -0
- data/webpack/components/SnapshotManagement/components/SnapshotList/SnapshotList.js +314 -0
- data/webpack/components/SnapshotManagement/components/SnapshotList/SnapshotListHelper.js +70 -0
- data/webpack/components/SnapshotManagement/components/SnapshotList/__tests__/SnapshotList.test.js +88 -0
- data/webpack/components/SnapshotManagement/components/SnapshotList/__tests__/__snapshots__/SnapshotList.test.js.snap +1081 -0
- data/webpack/components/SnapshotManagement/components/SnapshotList/snapshotList.scss +13 -0
- data/webpack/components/SnapshotManagement/index.js +33 -0
- data/webpack/components/SnapshotManagement/snapshotManagement.scss +5 -0
- data/webpack/global_index.js +7 -0
- data/webpack/global_test_setup.js +11 -0
- data/webpack/index.js +8 -0
- data/webpack/reducers.js +7 -0
- data/webpack/test_setup.js +17 -0
- metadata +50 -37
@@ -7,5 +7,5 @@ extends 'api/v2/snapshots/base'
|
|
7
7
|
attributes :description
|
8
8
|
|
9
9
|
node(:created_at, &:create_time)
|
10
|
-
node(:parent_id) { |snapshot| snapshot.parent.try(:id) }
|
11
|
-
node(:children_ids) { |snapshot| snapshot.children.map
|
10
|
+
node(:parent_id) { |snapshot| snapshot.try(:parent).try(:id) }
|
11
|
+
node(:children_ids) { |snapshot| snapshot.try(:children).try(:map, &:id) }
|
@@ -1,74 +1,12 @@
|
|
1
|
-
<%=
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
<tr>
|
14
|
-
<td>
|
15
|
-
<%= f.text_field :name, class: 'form-control' %>
|
16
|
-
</td>
|
17
|
-
<td>
|
18
|
-
<%= f.text_field :description, class: 'form-control' %>
|
19
|
-
</td>
|
20
|
-
<td>
|
21
|
-
<%= f.check_box :include_ram, class: 'form-control' %>
|
22
|
-
</td>
|
23
|
-
<td>
|
24
|
-
<%= f.submit _('Create'), class: 'btn btn-success', :onclick => "$(this).attr('disabled', 'disabled'); $(this).parents('form').submit();" %>
|
25
|
-
</td>
|
26
|
-
</tr>
|
27
|
-
<% end %>
|
28
|
-
<% @snapshots.each do |snapshot| %>
|
29
|
-
<tr>
|
30
|
-
<td>
|
31
|
-
<% if authorized_for(:auth_object => @host, :permission => :edit_snapshots) %>
|
32
|
-
<%= edit_textfield snapshot, :name %>
|
33
|
-
<% else %>
|
34
|
-
<%= snapshot.name %>
|
35
|
-
<% end %>
|
36
|
-
<br /><%= snapshot.formatted_create_time() %>
|
37
|
-
</td>
|
38
|
-
<td>
|
39
|
-
<% if authorized_for(:auth_object => @host, :permission => :edit_snapshots) %>
|
40
|
-
<%= edit_textarea snapshot, :description %>
|
41
|
-
<% else %>
|
42
|
-
<%= snapshot.description %>
|
43
|
-
<% end %>
|
44
|
-
</td>
|
45
|
-
<td>
|
46
|
-
</td>
|
47
|
-
<td>
|
48
|
-
<%= action_buttons(
|
49
|
-
display_link_if_authorized(_('Rollback'), hash_for_revert_host_snapshot_path(host_id: @host, id: snapshot.id).merge(:auth_object => @host, :permission => :revert_snapshots), method: :put, class: 'btn btn-primary', data: {confirm: _('Are you sure to revert this Snapshot?'), 'disable-with': _('Reverting...')}),
|
50
|
-
display_delete_if_authorized(hash_for_host_snapshot_path(host_id: @host, id: snapshot.id).merge(:auth_object => @host, :permission => :destroy_snapshots), data: {confirm: _("Are you sure to delete this Snapshot?"), 'disable-with': _('Deleting...')}),
|
51
|
-
) %>
|
52
|
-
</td>
|
53
|
-
</tr>
|
54
|
-
<% end %>
|
55
|
-
</tbody>
|
56
|
-
</table>
|
57
|
-
<% end %>
|
58
|
-
|
59
|
-
<script type="text/javascript">
|
60
|
-
//<![CDATA[
|
61
|
-
$(document).ready(function() {
|
62
|
-
$('.editable').editable({
|
63
|
-
params: {
|
64
|
-
authenticity_token: AUTH_TOKEN
|
65
|
-
},
|
66
|
-
error: function(response) {
|
67
|
-
return $.parseJSON(response.responseText).errors;
|
68
|
-
}
|
69
|
-
});
|
70
|
-
var hash = window.location.hash;
|
71
|
-
hash && $('ul.nav a[href="' + hash + '"]').tab('show');
|
72
|
-
});
|
73
|
-
//]]>
|
74
|
-
</script>
|
1
|
+
<%= react_component('SnapshotManagement', {
|
2
|
+
host: @host,
|
3
|
+
canCreate: authorized_for(:auth_object => @host, :permission => :create_snapshots),
|
4
|
+
canUpdate: authorized_for(:auth_object => @host, :permission => :edit_snapshots),
|
5
|
+
canRevert: authorized_for(:auth_object => @host, :permission => :revert_snapshots),
|
6
|
+
canDelete: authorized_for(:auth_object => @host, :permission => :destroy_snapshots),
|
7
|
+
capabilities:
|
8
|
+
{
|
9
|
+
editableSnapshotName: @host.compute_resource.capable?(:editable_snapshot_name),
|
10
|
+
limitSnapshotNameFormat: @host.compute_resource.type == "ForemanFogProxmox::Proxmox"
|
11
|
+
}
|
12
|
+
}) %>
|
@@ -1,4 +1,12 @@
|
|
1
1
|
<% if @host.compute_resource && @host.compute_resource.capabilities.include?(:snapshots) && authorized_for(:auth_object => @host, :permission => :view_snapshots) %>
|
2
|
+
|
3
|
+
<% content_for(:javascripts) do %>
|
4
|
+
<%= webpacked_plugins_js_for :foreman_snapshot_management %>
|
5
|
+
<% end %>
|
6
|
+
<% content_for(:stylesheets) do %>
|
7
|
+
<%= webpacked_plugins_css_for :foreman_snapshot_management %>
|
8
|
+
<% end %>
|
9
|
+
|
2
10
|
<div id='snapshots' class='tab-pane'
|
3
11
|
data-ajax-url='<%= host_snapshots_path(host_id: @host)%>'
|
4
12
|
data-on-complete='onContentLoad'>
|
@@ -10,7 +10,10 @@ module ForemanSnapshotManagement
|
|
10
10
|
|
11
11
|
initializer 'foreman_snapshot_management.register_plugin', before: :finisher_hook do |_app|
|
12
12
|
Foreman::Plugin.register :foreman_snapshot_management do
|
13
|
-
requires_foreman '>=
|
13
|
+
requires_foreman '>= 2.0.0'
|
14
|
+
|
15
|
+
# Add Global files for extending foreman-core components and routes
|
16
|
+
register_global_js_file 'global'
|
14
17
|
|
15
18
|
apipie_documented_controllers ["#{ForemanSnapshotManagement::Engine.root}/app/controllers/api/v2/*.rb"]
|
16
19
|
|
@@ -22,7 +25,7 @@ module ForemanSnapshotManagement
|
|
22
25
|
}, :resource_type => 'Host'
|
23
26
|
|
24
27
|
permission :create_snapshots, {
|
25
|
-
:'foreman_snapshot_management/snapshots' => [:create],
|
28
|
+
:'foreman_snapshot_management/snapshots' => [:create, :select_multiple_host, :create_multiple_host],
|
26
29
|
:'api/v2/snapshots' => [:create]
|
27
30
|
}, :resource_type => 'Host'
|
28
31
|
|
@@ -43,14 +46,18 @@ module ForemanSnapshotManagement
|
|
43
46
|
end
|
44
47
|
|
45
48
|
# Adds roles if they do not exist
|
46
|
-
role 'Snapshot Viewer',
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
49
|
+
role 'Snapshot Viewer',
|
50
|
+
[:view_snapshots],
|
51
|
+
'Role granting permission only to view snapshots for hosts'
|
52
|
+
role 'Snapshot Manager',
|
53
|
+
[
|
54
|
+
:view_snapshots,
|
55
|
+
:create_snapshots,
|
56
|
+
:edit_snapshots,
|
57
|
+
:destroy_snapshots,
|
58
|
+
:revert_snapshots
|
59
|
+
],
|
60
|
+
'Role granting permission to manage snapshots for hosts'
|
54
61
|
|
55
62
|
extend_page('hosts/show') do |context|
|
56
63
|
context.add_pagelet :main_tabs,
|
@@ -79,19 +86,31 @@ module ForemanSnapshotManagement
|
|
79
86
|
|
80
87
|
# Include concerns in this config.to_prepare block
|
81
88
|
config.to_prepare do
|
89
|
+
# Load Foreman extensions
|
90
|
+
::HostsHelper.prepend ForemanSnapshotManagement::HostsHelperExtension
|
91
|
+
|
92
|
+
begin
|
93
|
+
::ForemanFogProxmox::Proxmox.prepend ForemanSnapshotManagement::ProxmoxExtensions
|
94
|
+
|
95
|
+
# Load Fog extensions
|
96
|
+
Fog::Proxmox::Compute::Mock.prepend FogExtensions::Proxmox::Snapshots::Mock if ForemanFogProxmox::Proxmox.available?
|
97
|
+
rescue StandardError => e
|
98
|
+
Rails.logger.warn "Failed to load Proxmox extension #{e}"
|
99
|
+
end
|
100
|
+
|
82
101
|
begin
|
83
|
-
|
84
|
-
::Foreman::Model::Vmware.send(:prepend, ForemanSnapshotManagement::VmwareExtensions)
|
85
|
-
::HostsHelper.send(:prepend, ForemanSnapshotManagement::HostsHelperExtension)
|
102
|
+
::Foreman::Model::Vmware.prepend ForemanSnapshotManagement::VmwareExtensions
|
86
103
|
|
87
104
|
# Load Fog extensions
|
88
105
|
if Foreman::Model::Vmware.available?
|
89
|
-
ForemanSnapshotManagement.fog_vsphere_namespace::Real.
|
90
|
-
ForemanSnapshotManagement.fog_vsphere_namespace::Mock.
|
106
|
+
ForemanSnapshotManagement.fog_vsphere_namespace::Real.prepend FogExtensions::Vsphere::Snapshots::Real
|
107
|
+
ForemanSnapshotManagement.fog_vsphere_namespace::Mock.prepend FogExtensions::Vsphere::Snapshots::Mock
|
91
108
|
end
|
92
109
|
rescue StandardError => e
|
93
|
-
Rails.logger.warn "
|
110
|
+
Rails.logger.warn "Failed to load VMware extension #{e}"
|
94
111
|
end
|
112
|
+
rescue StandardError => e
|
113
|
+
Rails.logger.warn "ForemanSnapshotManagement: skipping engine hook (#{e})"
|
95
114
|
end
|
96
115
|
|
97
116
|
rake_tasks do
|
@@ -20,7 +20,7 @@ begin
|
|
20
20
|
"#{ForemanSnapshotManagement::Engine.root}/test/**/*.rb"]
|
21
21
|
|
22
22
|
namespace :foreman_snapshot_management do
|
23
|
-
task :
|
23
|
+
task rubocop: :environment do
|
24
24
|
RuboCop::RakeTask.new(:rubocop_foreman_snapshot_management) do |task|
|
25
25
|
task.patterns = test_patterns
|
26
26
|
end
|
@@ -42,7 +42,7 @@ end
|
|
42
42
|
|
43
43
|
namespace :jenkins do
|
44
44
|
desc 'Test ForemanSnapshotManagement with XML output for jenkins'
|
45
|
-
task 'foreman_snapshot_management' do
|
45
|
+
task 'foreman_snapshot_management' => :environment do
|
46
46
|
Rake::Task['jenkins:setup:minitest'].invoke
|
47
47
|
Rake::Task['rake:test:foreman_snapshot_management'].invoke
|
48
48
|
end
|
Binary file
|
@@ -0,0 +1,195 @@
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
2
|
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
3
|
+
# This file is distributed under the same license as the foreman_snapshot_management package.
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
5
|
+
#
|
6
|
+
# Translators:
|
7
|
+
# Lukáš Zapletal, 2019
|
8
|
+
# Wiederoder <stefanwiederoder@googlemail.com>, 2019
|
9
|
+
# Martin Zimmermann <martin.zimmermann@gmx.com>, 2019
|
10
|
+
# Ettore Atalan <atalanttore@googlemail.com>, 2021
|
11
|
+
# Bryan Kearney <bryan.kearney@gmail.com>, 2021
|
12
|
+
# Markus Bucher <bucher@atix.de>, 2021
|
13
|
+
#
|
14
|
+
#, fuzzy
|
15
|
+
msgid ""
|
16
|
+
msgstr ""
|
17
|
+
"Project-Id-Version: foreman_snapshot_management 1.8.1\n"
|
18
|
+
"Report-Msgid-Bugs-To: \n"
|
19
|
+
"PO-Revision-Date: 2019-10-22 11:54+0000\n"
|
20
|
+
"Last-Translator: Markus Bucher <bucher@atix.de>, 2021\n"
|
21
|
+
"Language-Team: German (https://www.transifex.com/foreman/teams/114/de/)\n"
|
22
|
+
"MIME-Version: 1.0\n"
|
23
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
24
|
+
"Content-Transfer-Encoding: 8bit\n"
|
25
|
+
"Language: de\n"
|
26
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
27
|
+
|
28
|
+
msgid "Action"
|
29
|
+
msgstr "Aktion"
|
30
|
+
|
31
|
+
msgid "Action with sub plans"
|
32
|
+
msgstr "Aktion mit Unterplänen"
|
33
|
+
|
34
|
+
msgid "Create Snapshot"
|
35
|
+
msgstr "Snapshot erstellen"
|
36
|
+
|
37
|
+
msgid "Create Snapshot for %s"
|
38
|
+
msgstr "Snapshot anlegen für %s"
|
39
|
+
|
40
|
+
msgid "Create a snapshot"
|
41
|
+
msgstr "Einen Snapshot erstellen"
|
42
|
+
|
43
|
+
msgid "Created %{snapshots} for %{num} %{hosts}"
|
44
|
+
msgstr "%{snapshots} für %{num} %{hosts} erstellt"
|
45
|
+
|
46
|
+
msgid "Delete"
|
47
|
+
msgstr "Löschen"
|
48
|
+
|
49
|
+
msgid "Delete Snapshot \"%s\"?"
|
50
|
+
msgstr "\"%s\" wirklich löschen?"
|
51
|
+
|
52
|
+
msgid "Delete a snapshot"
|
53
|
+
msgstr "Snapshot löschen"
|
54
|
+
|
55
|
+
msgid "Description"
|
56
|
+
msgstr "Beschreibung"
|
57
|
+
|
58
|
+
msgid "Description of this snapshot"
|
59
|
+
msgstr "Beschreibung dieses Snapshots"
|
60
|
+
|
61
|
+
msgid "Error occurred while creating Snapshot for:%s"
|
62
|
+
msgstr "Beim Erzeugen des Snapshots ist ein Fehler aufgetreten: %s"
|
63
|
+
|
64
|
+
msgid "Error occurred while creating Snapshot: %s"
|
65
|
+
msgstr "Beim Erzeugen des Snaphosts ist ein Fehler aufgetreten: %s"
|
66
|
+
|
67
|
+
msgid "Error occurred while removing Snapshot: %s"
|
68
|
+
msgstr "Beim Löschen des Snapshots ist ein Fehler aufgetreten: %s"
|
69
|
+
|
70
|
+
msgid "Error occurred while rolling back VM: %s"
|
71
|
+
msgstr "Beim Zurücksetzen der VM ist ein Fehler aufgetreten: %s"
|
72
|
+
|
73
|
+
msgid "Error occurred while updating Snapshot: %s"
|
74
|
+
msgstr "Fehler beim Aktualisieren des Snapshots: %s"
|
75
|
+
|
76
|
+
msgid "Failed to load snapshot list"
|
77
|
+
msgstr "Fehler beim Laden der Snapshotliste"
|
78
|
+
|
79
|
+
msgid "Failed to update Snapshot: %s"
|
80
|
+
msgstr "Das Aktualisieren des Snapshots ist fehlgeschlagen: %s"
|
81
|
+
|
82
|
+
msgid "Foreman-plugin to manage snapshots in a virtual-hardware environments."
|
83
|
+
msgstr "Ein Foremanplugin, welches Snapshots in Umgebungen mit virtueller Hardware nutzbar macht."
|
84
|
+
|
85
|
+
msgid "Import Puppet classes"
|
86
|
+
msgstr "Puppet-Klassen importieren"
|
87
|
+
|
88
|
+
msgid "Import facts"
|
89
|
+
msgstr "Fakten importieren"
|
90
|
+
|
91
|
+
msgid "Include RAM"
|
92
|
+
msgstr "RAM einbeziehen"
|
93
|
+
|
94
|
+
msgid "List all snapshots"
|
95
|
+
msgstr "Alle Snapshots auflisten"
|
96
|
+
|
97
|
+
msgid "Loading Snapshots information ..."
|
98
|
+
msgstr "Lade Snapshot Informationen ..."
|
99
|
+
|
100
|
+
msgid "N/A"
|
101
|
+
msgstr "N/A"
|
102
|
+
|
103
|
+
msgid "Name"
|
104
|
+
msgstr "Name"
|
105
|
+
|
106
|
+
msgid "Name must contain at least 2 characters starting with alphabet. Valid characters are A-Z a-z 0-9 _"
|
107
|
+
msgstr "Der Name muss aus mindestens 2 Zeichen bestehen und mit einem Buchstaben beginnen. Gültige Zeichen: A-Z a-z 0-9 _"
|
108
|
+
|
109
|
+
msgid "Name of this snapshot"
|
110
|
+
msgstr "Name dieses Snapshots"
|
111
|
+
|
112
|
+
msgid "No capable hosts found."
|
113
|
+
msgstr "Kein unterstützter Host gefunden."
|
114
|
+
|
115
|
+
msgid "No capable hosts selected"
|
116
|
+
msgstr "Keine unterstützten Hosts ausgewählt"
|
117
|
+
|
118
|
+
msgid "No hosts were found with that id, name or query filter"
|
119
|
+
msgstr "Keine Hosts wurden mit dieser Kennung, Name oder Abfrage-Filter gefunden"
|
120
|
+
|
121
|
+
msgid "Revert Host to a snapshot"
|
122
|
+
msgstr "Host auf einen Snapshot zurücksetzen"
|
123
|
+
|
124
|
+
msgid "Rollback"
|
125
|
+
msgstr "Wiederherstellen"
|
126
|
+
|
127
|
+
msgid "Rollback to \"%s\"?"
|
128
|
+
msgstr "\"%s\" wirklich wiederherstellen?"
|
129
|
+
|
130
|
+
msgid "Snapshot"
|
131
|
+
msgid_plural "Snapshots"
|
132
|
+
msgstr[0] "Snapshot"
|
133
|
+
msgstr[1] "Snapshots"
|
134
|
+
|
135
|
+
msgid "Snapshot name cannot be changed"
|
136
|
+
msgstr "Der Name des Snapshots kann nicht geändert werden"
|
137
|
+
|
138
|
+
msgid "Snapshot successfully created!"
|
139
|
+
msgstr "Snapshot erfolgreich erzeugt!"
|
140
|
+
|
141
|
+
msgid "Snapshots"
|
142
|
+
msgstr "Snapshots"
|
143
|
+
|
144
|
+
msgid "Something went wrong while selecting hosts - %s"
|
145
|
+
msgstr "Fehler beim Auswählen der Hosts – %s"
|
146
|
+
|
147
|
+
msgid "Successfully removed Snapshot \"%s\" from host %s"
|
148
|
+
msgstr "Snapshot \"%s\" erfolgreich von Host %s entfernt."
|
149
|
+
|
150
|
+
msgid "Successfully rolled back Snapshot \"%s\" on host %s"
|
151
|
+
msgstr "Snapshot \"%s\" erfolgreich auf Host %s zurückgesetzt."
|
152
|
+
|
153
|
+
msgid "Successfully updated Snapshot \"%s\""
|
154
|
+
msgstr "Snapshot \"%s\" erfolgreich aktualisiert."
|
155
|
+
|
156
|
+
msgid "Unable to create Proxmox Snapshot"
|
157
|
+
msgstr "Proxmox Snapshot konnte nicht erstellt werden"
|
158
|
+
|
159
|
+
msgid "Unable to create VMWare Snapshot"
|
160
|
+
msgstr "VMWare Snapshot konnte nicht erstellt werden"
|
161
|
+
|
162
|
+
msgid "Unable to remove Proxmox Snapshot"
|
163
|
+
msgstr "Proxmox Snapshot konnte nicht gelöscht werden"
|
164
|
+
|
165
|
+
msgid "Unable to remove VMWare Snapshot"
|
166
|
+
msgstr "VMWare Snapshot konnte nicht gelöscht werden"
|
167
|
+
|
168
|
+
msgid "Unable to revert Proxmox Snapshot"
|
169
|
+
msgstr "Proxmox Snapshot konnte nicht wiederhergestellt werden"
|
170
|
+
|
171
|
+
msgid "Unable to revert VMWare Snapshot"
|
172
|
+
msgstr "VMWare Snapshot konnte nicht wiederhergestellt werden"
|
173
|
+
|
174
|
+
msgid "Unable to update Proxmox Snapshot"
|
175
|
+
msgstr "Proxmox Snapshot konnte nicht aktualisiert werden"
|
176
|
+
|
177
|
+
msgid "Unable to update VMWare Snapshot"
|
178
|
+
msgstr "VMWare Snapshot konnte nicht aktualisiert werden"
|
179
|
+
|
180
|
+
msgid "Update a snapshot"
|
181
|
+
msgstr "Snapshot aktualisieren"
|
182
|
+
|
183
|
+
msgid "VM successfully rolled back."
|
184
|
+
msgstr "Die VM wurde erfolgreich zurückgesetzt."
|
185
|
+
|
186
|
+
msgid "Whether to include the RAM state in the snapshot"
|
187
|
+
msgstr "Ob auch der aktuelle Hauptspeicherstand im Snapshot gespeichert werden soll"
|
188
|
+
|
189
|
+
msgid "edit entry"
|
190
|
+
msgstr "Eintrag bearbeiten"
|
191
|
+
|
192
|
+
msgid "host"
|
193
|
+
msgid_plural "hosts"
|
194
|
+
msgstr[0] "Host"
|
195
|
+
msgstr[1] "Hosts"
|
Binary file
|
@@ -1,19 +1,187 @@
|
|
1
|
-
# foreman_snapshot_management
|
1
|
+
# English translations for foreman_snapshot_management package.
|
2
|
+
# Copyright (C) 2020 THE PACKAGE'S COPYRIGHT HOLDER
|
3
|
+
# This file is distributed under the same license as the foreman_snapshot_management package.
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2020.
|
2
5
|
#
|
3
|
-
# This file is distributed under the same license as foreman_snapshot_management.
|
4
|
-
#
|
5
|
-
#, fuzzy
|
6
6
|
msgid ""
|
7
7
|
msgstr ""
|
8
|
-
"Project-Id-Version:
|
8
|
+
"Project-Id-Version: foreman_snapshot_management 1.8.1\n"
|
9
9
|
"Report-Msgid-Bugs-To: \n"
|
10
|
-
"
|
11
|
-
"
|
12
|
-
"
|
13
|
-
"Language
|
14
|
-
"Language: \n"
|
10
|
+
"PO-Revision-Date: 2020-03-02 10:27+0000\n"
|
11
|
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
12
|
+
"Language-Team: English\n"
|
13
|
+
"Language: en\n"
|
15
14
|
"MIME-Version: 1.0\n"
|
16
15
|
"Content-Type: text/plain; charset=UTF-8\n"
|
17
16
|
"Content-Transfer-Encoding: 8bit\n"
|
18
|
-
"Plural-Forms: nplurals=2; plural=
|
17
|
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
18
|
+
"\n"
|
19
|
+
|
20
|
+
msgid "Action"
|
21
|
+
msgstr ""
|
22
|
+
|
23
|
+
msgid "Action with sub plans"
|
24
|
+
msgstr ""
|
25
|
+
|
26
|
+
msgid "Create Snapshot"
|
27
|
+
msgstr ""
|
28
|
+
|
29
|
+
msgid "Create Snapshot for %s"
|
30
|
+
msgstr ""
|
31
|
+
|
32
|
+
msgid "Create a snapshot"
|
33
|
+
msgstr ""
|
34
|
+
|
35
|
+
msgid "Created %{snapshots} for %{num} %{hosts}"
|
36
|
+
msgstr ""
|
37
|
+
|
38
|
+
msgid "Delete"
|
39
|
+
msgstr ""
|
40
|
+
|
41
|
+
msgid "Delete Snapshot \"%s\"?"
|
42
|
+
msgstr ""
|
43
|
+
|
44
|
+
msgid "Delete a snapshot"
|
45
|
+
msgstr ""
|
46
|
+
|
47
|
+
msgid "Description"
|
48
|
+
msgstr ""
|
49
|
+
|
50
|
+
msgid "Description of this snapshot"
|
51
|
+
msgstr ""
|
52
|
+
|
53
|
+
msgid "Error occurred while creating Snapshot for:%s"
|
54
|
+
msgstr ""
|
55
|
+
|
56
|
+
msgid "Error occurred while creating Snapshot: %s"
|
57
|
+
msgstr ""
|
58
|
+
|
59
|
+
msgid "Error occurred while removing Snapshot: %s"
|
60
|
+
msgstr ""
|
61
|
+
|
62
|
+
msgid "Error occurred while rolling back VM: %s"
|
63
|
+
msgstr ""
|
64
|
+
|
65
|
+
msgid "Error occurred while updating Snapshot: %s"
|
66
|
+
msgstr ""
|
67
|
+
|
68
|
+
msgid "Failed to load snapshot list"
|
69
|
+
msgstr ""
|
70
|
+
|
71
|
+
msgid "Failed to update Snapshot: %s"
|
72
|
+
msgstr ""
|
73
|
+
|
74
|
+
msgid "Foreman-plugin to manage snapshots in a virtual-hardware environments."
|
75
|
+
msgstr ""
|
76
|
+
|
77
|
+
msgid "Import Puppet classes"
|
78
|
+
msgstr ""
|
79
|
+
|
80
|
+
msgid "Import facts"
|
81
|
+
msgstr ""
|
82
|
+
|
83
|
+
msgid "Include RAM"
|
84
|
+
msgstr ""
|
85
|
+
|
86
|
+
msgid "List all snapshots"
|
87
|
+
msgstr ""
|
88
|
+
|
89
|
+
msgid "Loading Snapshots information ..."
|
90
|
+
msgstr ""
|
91
|
+
|
92
|
+
msgid "N/A"
|
93
|
+
msgstr ""
|
94
|
+
|
95
|
+
msgid "Name"
|
96
|
+
msgstr ""
|
97
|
+
|
98
|
+
msgid "Name must contain at least 2 characters starting with alphabet. Valid characters are A-Z a-z 0-9 _"
|
99
|
+
msgstr ""
|
100
|
+
|
101
|
+
msgid "Name of this snapshot"
|
102
|
+
msgstr ""
|
103
|
+
|
104
|
+
msgid "No capable hosts found."
|
105
|
+
msgstr ""
|
106
|
+
|
107
|
+
msgid "No capable hosts selected"
|
108
|
+
msgstr ""
|
109
|
+
|
110
|
+
msgid "No hosts were found with that id, name or query filter"
|
111
|
+
msgstr ""
|
112
|
+
|
113
|
+
msgid "Revert Host to a snapshot"
|
114
|
+
msgstr ""
|
115
|
+
|
116
|
+
msgid "Rollback"
|
117
|
+
msgstr ""
|
118
|
+
|
119
|
+
msgid "Rollback to \"%s\"?"
|
120
|
+
msgstr ""
|
121
|
+
|
122
|
+
msgid "Snapshot"
|
123
|
+
msgid_plural "Snapshots"
|
124
|
+
msgstr[0] ""
|
125
|
+
msgstr[1] ""
|
126
|
+
|
127
|
+
msgid "Snapshot name cannot be changed"
|
128
|
+
msgstr ""
|
129
|
+
|
130
|
+
msgid "Snapshot successfully created!"
|
131
|
+
msgstr ""
|
132
|
+
|
133
|
+
msgid "Snapshots"
|
134
|
+
msgstr ""
|
135
|
+
|
136
|
+
msgid "Something went wrong while selecting hosts - %s"
|
137
|
+
msgstr ""
|
138
|
+
|
139
|
+
msgid "Successfully removed Snapshot \"%s\" from host %s"
|
140
|
+
msgstr ""
|
141
|
+
|
142
|
+
msgid "Successfully rolled back Snapshot \"%s\" on host %s"
|
143
|
+
msgstr ""
|
144
|
+
|
145
|
+
msgid "Successfully updated Snapshot \"%s\""
|
146
|
+
msgstr ""
|
147
|
+
|
148
|
+
msgid "Unable to create Proxmox Snapshot"
|
149
|
+
msgstr ""
|
150
|
+
|
151
|
+
msgid "Unable to create VMWare Snapshot"
|
152
|
+
msgstr ""
|
153
|
+
|
154
|
+
msgid "Unable to remove Proxmox Snapshot"
|
155
|
+
msgstr ""
|
156
|
+
|
157
|
+
msgid "Unable to remove VMWare Snapshot"
|
158
|
+
msgstr ""
|
159
|
+
|
160
|
+
msgid "Unable to revert Proxmox Snapshot"
|
161
|
+
msgstr ""
|
162
|
+
|
163
|
+
msgid "Unable to revert VMWare Snapshot"
|
164
|
+
msgstr ""
|
165
|
+
|
166
|
+
msgid "Unable to update Proxmox Snapshot"
|
167
|
+
msgstr ""
|
168
|
+
|
169
|
+
msgid "Unable to update VMWare Snapshot"
|
170
|
+
msgstr ""
|
171
|
+
|
172
|
+
msgid "Update a snapshot"
|
173
|
+
msgstr ""
|
174
|
+
|
175
|
+
msgid "VM successfully rolled back."
|
176
|
+
msgstr ""
|
177
|
+
|
178
|
+
msgid "Whether to include the RAM state in the snapshot"
|
179
|
+
msgstr ""
|
180
|
+
|
181
|
+
msgid "edit entry"
|
182
|
+
msgstr ""
|
19
183
|
|
184
|
+
msgid "host"
|
185
|
+
msgid_plural "hosts"
|
186
|
+
msgstr[0] ""
|
187
|
+
msgstr[1] ""
|