hammer_cli_foreman 0.0.18 → 0.1.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.
Potentially problematic release.
This version of hammer_cli_foreman might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/lib/hammer_cli_foreman.rb +39 -27
- data/lib/hammer_cli_foreman/architecture.rb +14 -14
- data/lib/hammer_cli_foreman/associating_commands.rb +46 -40
- data/lib/hammer_cli_foreman/auth.rb +49 -0
- data/lib/hammer_cli_foreman/commands.rb +82 -29
- data/lib/hammer_cli_foreman/common_parameter.rb +13 -17
- data/lib/hammer_cli_foreman/compute_resource.rb +23 -23
- data/lib/hammer_cli_foreman/credentials.rb +36 -0
- data/lib/hammer_cli_foreman/domain.rb +32 -35
- data/lib/hammer_cli_foreman/environment.rb +14 -19
- data/lib/hammer_cli_foreman/exception_handler.rb +30 -8
- data/lib/hammer_cli_foreman/fact.rb +5 -5
- data/lib/hammer_cli_foreman/host.rb +178 -105
- data/lib/hammer_cli_foreman/hostgroup.rb +59 -37
- data/lib/hammer_cli_foreman/i18n.rb +24 -0
- data/lib/hammer_cli_foreman/image.rb +24 -24
- data/lib/hammer_cli_foreman/location.rb +13 -13
- data/lib/hammer_cli_foreman/media.rb +21 -16
- data/lib/hammer_cli_foreman/model.rb +16 -16
- data/lib/hammer_cli_foreman/operating_system.rb +39 -39
- data/lib/hammer_cli_foreman/organization.rb +13 -13
- data/lib/hammer_cli_foreman/output/fields.rb +2 -2
- data/lib/hammer_cli_foreman/output/formatters.rb +15 -4
- data/lib/hammer_cli_foreman/parameter.rb +13 -11
- data/lib/hammer_cli_foreman/partition_table.rb +17 -18
- data/lib/hammer_cli_foreman/puppet_class.rb +9 -9
- data/lib/hammer_cli_foreman/report.rb +38 -38
- data/lib/hammer_cli_foreman/resource_supported_test.rb +1 -1
- data/lib/hammer_cli_foreman/smart_class_parameter.rb +36 -36
- data/lib/hammer_cli_foreman/smart_proxy.rb +22 -21
- data/lib/hammer_cli_foreman/subnet.rb +29 -31
- data/lib/hammer_cli_foreman/template.rb +45 -43
- data/lib/hammer_cli_foreman/user.rb +20 -23
- data/lib/hammer_cli_foreman/version.rb +1 -1
- data/locale/Makefile +64 -0
- data/locale/hammer-cli-foreman.pot +1573 -0
- data/locale/zanata.xml +29 -0
- data/test/unit/apipie_resource_mock.rb +44 -72
- data/test/unit/architecture_test.rb +1 -2
- data/test/unit/commands_test.rb +23 -21
- data/test/unit/common_parameter_test.rb +15 -10
- data/test/unit/compute_resource_test.rb +1 -2
- data/test/unit/credentials_test.rb +46 -0
- data/test/unit/data/1.4/foreman_api.json +10387 -0
- data/test/unit/domain_test.rb +2 -5
- data/test/unit/environment_test.rb +2 -3
- data/test/unit/exception_handler_test.rb +29 -4
- data/test/unit/fact_test.rb +0 -1
- data/test/unit/helpers/command.rb +20 -4
- data/test/unit/helpers/resource_disabled.rb +2 -2
- data/test/unit/host_test.rb +24 -12
- data/test/unit/hostgroup_test.rb +7 -8
- data/test/unit/image_test.rb +6 -7
- data/test/unit/location_test.rb +9 -5
- data/test/unit/media_test.rb +1 -9
- data/test/unit/model_test.rb +1 -3
- data/test/unit/operating_system_test.rb +7 -9
- data/test/unit/organization_test.rb +12 -6
- data/test/unit/output/formatters_test.rb +5 -0
- data/test/unit/partition_table_test.rb +1 -2
- data/test/unit/puppet_class_test.rb +2 -3
- data/test/unit/report_test.rb +1 -2
- data/test/unit/smart_class_parameter_test.rb +9 -4
- data/test/unit/smart_proxy_test.rb +1 -2
- data/test/unit/subnet_test.rb +2 -3
- data/test/unit/template_test.rb +23 -8
- data/test/unit/test_helper.rb +13 -0
- data/test/unit/test_output_adapter.rb +1 -1
- data/test/unit/user_test.rb +1 -2
- metadata +17 -7
@@ -1,5 +1,44 @@
|
|
1
1
|
module HammerCLIForeman
|
2
2
|
|
3
|
+
CONNECTION_NAME = 'foreman'
|
4
|
+
|
5
|
+
def self.credentials
|
6
|
+
@credentials ||= Credentials.new(
|
7
|
+
:username => (HammerCLI::Settings.get(:_params, :username) || ENV['FOREMAN_USERNAME'] || HammerCLI::Settings.get(:foreman, :username)),
|
8
|
+
:password => (HammerCLI::Settings.get(:_params, :password) || ENV['FOREMAN_PASSWORD'] || HammerCLI::Settings.get(:foreman, :password))
|
9
|
+
)
|
10
|
+
@credentials
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.resource_config
|
14
|
+
config = {}
|
15
|
+
config[:uri] = HammerCLI::Settings.get(:foreman, :host)
|
16
|
+
config[:credentials] = credentials
|
17
|
+
config[:logger] = Logging.logger['API']
|
18
|
+
config[:api_version] = 2
|
19
|
+
config[:aggressive_cache_checking] = HammerCLI::Settings.get(:foreman, :refresh_cache) || true
|
20
|
+
config[:headers] = { "Accept-Language" => HammerCLI::I18n.locale }
|
21
|
+
config[:timeout] = HammerCLI::Settings.get(:foreman, :request_timeout)
|
22
|
+
config
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.foreman_resource(resource)
|
26
|
+
HammerCLI::Connection.create(
|
27
|
+
CONNECTION_NAME,
|
28
|
+
HammerCLI::Apipie::Command.resource_config.merge(resource_config),
|
29
|
+
HammerCLI::Apipie::Command.connection_options).api.resource(resource)
|
30
|
+
end
|
31
|
+
|
32
|
+
module ConnectionSetup
|
33
|
+
def connection_name(resource_class)
|
34
|
+
CONNECTION_NAME
|
35
|
+
end
|
36
|
+
|
37
|
+
def resource_config
|
38
|
+
super.merge(HammerCLIForeman.resource_config)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
3
42
|
def self.collection_to_common_format(data)
|
4
43
|
if data.class <= Hash && data.has_key?('total') && data.has_key?('results')
|
5
44
|
col = HammerCLI::Output::RecordCollection.new(data['results'],
|
@@ -17,7 +56,7 @@ module HammerCLIForeman
|
|
17
56
|
# produce [ { 'attr' => 'val' }, ... ]
|
18
57
|
col = HammerCLI::Output::RecordCollection.new(data.map { |r| r.keys.length == 1 ? r[r.keys[0]] : r })
|
19
58
|
else
|
20
|
-
raise RuntimeError.new("Received data of unknown format")
|
59
|
+
raise RuntimeError.new(_("Received data of unknown format"))
|
21
60
|
end
|
22
61
|
col
|
23
62
|
end
|
@@ -26,15 +65,23 @@ module HammerCLIForeman
|
|
26
65
|
data.class <= Hash && data.keys.length == 1 ? data[data.keys[0]] : data
|
27
66
|
end
|
28
67
|
|
68
|
+
class ReadCommand < HammerCLI::Apipie::ReadCommand
|
69
|
+
extend HammerCLIForeman::ConnectionSetup
|
70
|
+
end
|
71
|
+
|
72
|
+
class Command < ReadCommand
|
73
|
+
end
|
74
|
+
|
29
75
|
class WriteCommand < HammerCLI::Apipie::WriteCommand
|
76
|
+
extend HammerCLIForeman::ConnectionSetup
|
30
77
|
|
31
78
|
def send_request
|
32
|
-
HammerCLIForeman.record_to_common_format(
|
79
|
+
HammerCLIForeman.record_to_common_format(super)
|
33
80
|
end
|
34
81
|
|
35
82
|
end
|
36
83
|
|
37
|
-
class ListCommand <
|
84
|
+
class ListCommand < ReadCommand
|
38
85
|
|
39
86
|
action :index
|
40
87
|
|
@@ -60,9 +107,9 @@ module HammerCLIForeman
|
|
60
107
|
end
|
61
108
|
|
62
109
|
def execute
|
63
|
-
if respond_to?(:
|
64
|
-
self.
|
65
|
-
self.
|
110
|
+
if respond_to?(:option_page) && respond_to?(:option_per_page)
|
111
|
+
self.option_page ||= 1
|
112
|
+
self.option_per_page ||= HammerCLI::Settings.get(:ui, :per_page) || DEFAULT_PER_PAGE
|
66
113
|
browse_collection
|
67
114
|
else
|
68
115
|
retrieve_and_print
|
@@ -79,10 +126,10 @@ module HammerCLIForeman
|
|
79
126
|
while list_next do
|
80
127
|
d = retrieve_and_print
|
81
128
|
|
82
|
-
if (d.size >= self.
|
83
|
-
answer = ask("List next page? (
|
129
|
+
if (d.size >= self.option_per_page.to_i) && interactive?
|
130
|
+
answer = ask(_("List next page? (%s): ") % 'Y/n').downcase
|
84
131
|
list_next = (answer == 'y' || answer == '')
|
85
|
-
self.
|
132
|
+
self.option_page += 1
|
86
133
|
else
|
87
134
|
list_next = false
|
88
135
|
end
|
@@ -99,7 +146,7 @@ module HammerCLIForeman
|
|
99
146
|
end
|
100
147
|
|
101
148
|
|
102
|
-
class InfoCommand <
|
149
|
+
class InfoCommand < ReadCommand
|
103
150
|
|
104
151
|
action :show
|
105
152
|
|
@@ -110,7 +157,8 @@ module HammerCLIForeman
|
|
110
157
|
identifiers :id, :name
|
111
158
|
|
112
159
|
def request_params
|
113
|
-
|
160
|
+
params = method_options
|
161
|
+
params.update('id' => get_identifier[0])
|
114
162
|
end
|
115
163
|
|
116
164
|
def retrieve_data
|
@@ -153,7 +201,7 @@ module HammerCLIForeman
|
|
153
201
|
|
154
202
|
def self.setup_identifier_options
|
155
203
|
super
|
156
|
-
option "--new-name", "NEW_NAME", "new name for the resource", :attribute_name => :option_name if identifier? :name
|
204
|
+
option "--new-name", "NEW_NAME", _("new name for the resource"), :attribute_name => :option_name if identifier? :name
|
157
205
|
end
|
158
206
|
|
159
207
|
def request_params
|
@@ -199,7 +247,7 @@ module HammerCLIForeman
|
|
199
247
|
end
|
200
248
|
|
201
249
|
def self.setup_associated_identifier_options
|
202
|
-
name = associated_resource.
|
250
|
+
name = associated_resource.singular_name
|
203
251
|
option_switch = "--"+name.gsub('_', '-')
|
204
252
|
|
205
253
|
option option_switch, name.upcase, " ", :attribute_name => :associated_name do |value|
|
@@ -210,11 +258,11 @@ module HammerCLIForeman
|
|
210
258
|
|
211
259
|
|
212
260
|
def associated_resource
|
213
|
-
|
261
|
+
self.class.associated_resource
|
214
262
|
end
|
215
263
|
|
216
264
|
def self.associated_resource(resource_class=nil)
|
217
|
-
@associated_api_resource =
|
265
|
+
@associated_api_resource = HammerCLIForeman.foreman_resource(resource_class) unless resource_class.nil?
|
218
266
|
return @associated_api_resource
|
219
267
|
end
|
220
268
|
|
@@ -241,41 +289,45 @@ module HammerCLIForeman
|
|
241
289
|
end
|
242
290
|
|
243
291
|
def get_current_ids
|
244
|
-
item = HammerCLIForeman.record_to_common_format(resource.call(
|
245
|
-
if item.has_key?(
|
246
|
-
item[
|
292
|
+
item = HammerCLIForeman.record_to_common_format(resource.call(:show, {:id => get_identifier[0]}))
|
293
|
+
if item.has_key?(association_name(true))
|
294
|
+
item[association_name(true)].map { |assoc| assoc['id'] }
|
247
295
|
else
|
248
|
-
item[
|
296
|
+
item[association_name+'_ids'] || []
|
249
297
|
end
|
250
298
|
end
|
251
299
|
|
252
300
|
def get_required_id
|
253
|
-
item = HammerCLIForeman.record_to_common_format(associated_resource.call(
|
301
|
+
item = HammerCLIForeman.record_to_common_format(associated_resource.call(:show, {:id => associated_id || associated_name}))
|
254
302
|
item['id']
|
255
303
|
end
|
256
304
|
|
257
305
|
def request_params
|
258
|
-
params =
|
259
|
-
if params.key?(resource.
|
260
|
-
params[resource.
|
306
|
+
params = super
|
307
|
+
if params.key?(resource.singular_name)
|
308
|
+
params[resource.singular_name] = {"#{association_name}_ids" => get_new_ids }
|
261
309
|
else
|
262
|
-
params["#{
|
310
|
+
params["#{association_name}_ids"] = get_new_ids
|
263
311
|
end
|
264
|
-
|
265
312
|
params['id'] = get_identifier[0]
|
266
313
|
params
|
267
314
|
end
|
268
315
|
|
316
|
+
def association_name(plural = false)
|
317
|
+
plural ? associated_resource.name.to_s : associated_resource.singular_name.to_s
|
318
|
+
end
|
319
|
+
|
269
320
|
end
|
270
321
|
|
271
322
|
class AddAssociatedCommand < AssociatedCommand
|
272
323
|
|
273
324
|
def self.command_name(name=nil)
|
274
|
-
super(name) || (associated_resource ? "
|
325
|
+
name = super(name) || (associated_resource ? "add-"+associated_resource.singular_name : nil)
|
326
|
+
name.respond_to?(:gsub) ? name.gsub('_', '-') : name
|
275
327
|
end
|
276
328
|
|
277
329
|
def self.desc(desc=nil)
|
278
|
-
"Associate a resource"
|
330
|
+
_("Associate a resource")
|
279
331
|
end
|
280
332
|
|
281
333
|
def get_new_ids
|
@@ -291,11 +343,12 @@ module HammerCLIForeman
|
|
291
343
|
class RemoveAssociatedCommand < AssociatedCommand
|
292
344
|
|
293
345
|
def self.command_name(name=nil)
|
294
|
-
super(name) || (associated_resource ? "
|
346
|
+
name = super(name) || (associated_resource ? "remove-"+associated_resource.singular_name : nil)
|
347
|
+
name.respond_to?(:gsub) ? name.gsub('_', '-') : name
|
295
348
|
end
|
296
349
|
|
297
350
|
def self.desc(desc=nil)
|
298
|
-
"Disassociate a resource"
|
351
|
+
_("Disassociate a resource")
|
299
352
|
end
|
300
353
|
|
301
354
|
def get_new_ids
|
@@ -1,17 +1,16 @@
|
|
1
1
|
require 'hammer_cli'
|
2
|
-
require 'foreman_api'
|
3
2
|
|
4
3
|
module HammerCLIForeman
|
5
4
|
|
6
|
-
class CommonParameter <
|
5
|
+
class CommonParameter < HammerCLIForeman::Command
|
7
6
|
|
7
|
+
resource :common_parameters
|
8
8
|
|
9
9
|
class ListCommand < HammerCLIForeman::ListCommand
|
10
|
-
resource ForemanApi::Resources::CommonParameter, "index"
|
11
10
|
|
12
11
|
output do
|
13
|
-
field :name, "Name"
|
14
|
-
field :value, "Value"
|
12
|
+
field :name, _("Name")
|
13
|
+
field :value, _("Value")
|
15
14
|
end
|
16
15
|
|
17
16
|
apipie_options
|
@@ -20,15 +19,13 @@ module HammerCLIForeman
|
|
20
19
|
class SetCommand < HammerCLIForeman::WriteCommand
|
21
20
|
|
22
21
|
command_name "set"
|
23
|
-
desc "Set a global parameter."
|
22
|
+
desc _("Set a global parameter.")
|
24
23
|
|
25
|
-
success_message_for :create, "Created parameter [%{name}s] with value [%{value}s]."
|
26
|
-
success_message_for :update, "Parameter [%{name}s] updated to [%{value}s]."
|
24
|
+
success_message_for :create, _("Created parameter [%{name}s] with value [%{value}s].")
|
25
|
+
success_message_for :update, _("Parameter [%{name}s] updated to [%{value}s].")
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
option "--name", "NAME", "parameter name", :required => true
|
31
|
-
option "--value", "VALUE", "parameter value", :required => true
|
27
|
+
option "--name", "NAME", _("parameter name"), :required => true
|
28
|
+
option "--value", "VALUE", _("parameter value"), :required => true
|
32
29
|
|
33
30
|
def action
|
34
31
|
@action ||= parameter_exist? ? :update : :create
|
@@ -40,7 +37,7 @@ module HammerCLIForeman
|
|
40
37
|
end
|
41
38
|
|
42
39
|
def parameter_exist?
|
43
|
-
params = resource.call(:index)
|
40
|
+
params = resource.call(:index)
|
44
41
|
params = HammerCLIForeman.collection_to_common_format(params)
|
45
42
|
params.find { |p| p["name"] == option_name }
|
46
43
|
end
|
@@ -58,9 +55,8 @@ module HammerCLIForeman
|
|
58
55
|
|
59
56
|
identifiers :name
|
60
57
|
|
61
|
-
success_message "Global parameter [%{name}s] deleted."
|
62
|
-
failure_message "Could not delete the global parameter [%{name}s]"
|
63
|
-
resource ForemanApi::Resources::CommonParameter, "destroy"
|
58
|
+
success_message _("Global parameter [%{name}s] deleted.")
|
59
|
+
failure_message _("Could not delete the global parameter [%{name}s]")
|
64
60
|
|
65
61
|
apipie_options :without => :id
|
66
62
|
end
|
@@ -69,4 +65,4 @@ module HammerCLIForeman
|
|
69
65
|
end
|
70
66
|
end
|
71
67
|
|
72
|
-
HammerCLI::MainCommand.subcommand '
|
68
|
+
HammerCLI::MainCommand.subcommand 'global-parameter', _("Manipulate global parameters."), HammerCLIForeman::CommonParameter
|
@@ -2,15 +2,15 @@ require 'hammer_cli_foreman/image'
|
|
2
2
|
|
3
3
|
module HammerCLIForeman
|
4
4
|
|
5
|
-
class ComputeResource <
|
6
|
-
resource
|
5
|
+
class ComputeResource < HammerCLIForeman::Command
|
6
|
+
resource :compute_resources
|
7
7
|
|
8
8
|
class ListCommand < HammerCLIForeman::ListCommand
|
9
9
|
|
10
10
|
output do
|
11
|
-
field :id, "Id"
|
12
|
-
field :name, "Name"
|
13
|
-
field :provider, "Provider"
|
11
|
+
field :id, _("Id")
|
12
|
+
field :name, _("Name")
|
13
|
+
field :provider, _("Provider")
|
14
14
|
end
|
15
15
|
|
16
16
|
apipie_options
|
@@ -21,31 +21,31 @@ module HammerCLIForeman
|
|
21
21
|
|
22
22
|
PROVIDER_SPECIFIC_FIELDS = {
|
23
23
|
'ovirt' => [
|
24
|
-
Fields::
|
24
|
+
Fields::Field.new(:label => _('UUID'), :path => ["compute_resource", "uuid"])
|
25
25
|
],
|
26
26
|
'ec2' => [
|
27
|
-
Fields::
|
27
|
+
Fields::Field.new(:label => _('Region'), :path => ["compute_resource", "region"])
|
28
28
|
],
|
29
29
|
'vmware' => [
|
30
|
-
Fields::
|
31
|
-
Fields::
|
30
|
+
Fields::Field.new(:label => _('UUID'), :path => ["compute_resource", "uuid"]),
|
31
|
+
Fields::Field.new(:label => _('Server'), :path => ["compute_resource", "server"])
|
32
32
|
],
|
33
33
|
'openstack' => [
|
34
|
-
Fields::
|
34
|
+
Fields::Field.new(:label => _('Tenant'), :path => ["compute_resource", "tenant"])
|
35
35
|
],
|
36
36
|
'rackspace' => [
|
37
|
-
Fields::
|
37
|
+
Fields::Field.new(:label => _('Region'), :path => ["compute_resource", "region"])
|
38
38
|
],
|
39
39
|
'libvirt' => [
|
40
40
|
]
|
41
41
|
}
|
42
42
|
|
43
43
|
output ListCommand.output_definition do
|
44
|
-
field :url, "Url"
|
45
|
-
field :description, "Description"
|
46
|
-
field :user, "User"
|
47
|
-
field :created_at, "Created at", Fields::Date
|
48
|
-
field :updated_at, "Updated at", Fields::Date
|
44
|
+
field :url, _("Url")
|
45
|
+
field :description, _("Description")
|
46
|
+
field :user, _("User")
|
47
|
+
field :created_at, _("Created at"), Fields::Date
|
48
|
+
field :updated_at, _("Updated at"), Fields::Date
|
49
49
|
end
|
50
50
|
|
51
51
|
def print_data(data)
|
@@ -60,8 +60,8 @@ module HammerCLIForeman
|
|
60
60
|
|
61
61
|
class CreateCommand < HammerCLIForeman::CreateCommand
|
62
62
|
|
63
|
-
success_message "Compute resource created"
|
64
|
-
failure_message "Could not create the compute resource"
|
63
|
+
success_message _("Compute resource created")
|
64
|
+
failure_message _("Could not create the compute resource")
|
65
65
|
|
66
66
|
apipie_options
|
67
67
|
|
@@ -73,8 +73,8 @@ module HammerCLIForeman
|
|
73
73
|
|
74
74
|
class UpdateCommand < HammerCLIForeman::UpdateCommand
|
75
75
|
|
76
|
-
success_message "Compute resource updated"
|
77
|
-
failure_message "Could not update the compute resource"
|
76
|
+
success_message _("Compute resource updated")
|
77
|
+
failure_message _("Could not update the compute resource")
|
78
78
|
|
79
79
|
apipie_options
|
80
80
|
end
|
@@ -82,8 +82,8 @@ module HammerCLIForeman
|
|
82
82
|
|
83
83
|
class DeleteCommand < HammerCLIForeman::DeleteCommand
|
84
84
|
|
85
|
-
success_message "Compute resource deleted"
|
86
|
-
failure_message "Could not delete the compute resource"
|
85
|
+
success_message _("Compute resource deleted")
|
86
|
+
failure_message _("Could not delete the compute resource")
|
87
87
|
|
88
88
|
apipie_options
|
89
89
|
end
|
@@ -95,6 +95,6 @@ module HammerCLIForeman
|
|
95
95
|
|
96
96
|
end
|
97
97
|
|
98
|
-
HammerCLI::MainCommand.subcommand '
|
98
|
+
HammerCLI::MainCommand.subcommand 'compute-resource', _("Manipulate compute resources."), HammerCLIForeman::ComputeResource
|
99
99
|
|
100
100
|
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module HammerCLIForeman
|
2
|
+
class Credentials < HammerCLI::Apipie::AbstractCredentials
|
3
|
+
|
4
|
+
def initialize(params={})
|
5
|
+
@username = params[:username]
|
6
|
+
@password = params[:password]
|
7
|
+
end
|
8
|
+
|
9
|
+
def username
|
10
|
+
@username ||= ask_user(_("[Foreman] username: ")) if HammerCLI.interactive?
|
11
|
+
@username
|
12
|
+
end
|
13
|
+
|
14
|
+
def password
|
15
|
+
@password ||= ask_user(_("[Foreman] password for %s: ") % @username, true) if HammerCLI.interactive?
|
16
|
+
@password
|
17
|
+
end
|
18
|
+
|
19
|
+
def empty?
|
20
|
+
!@username && !@password
|
21
|
+
end
|
22
|
+
|
23
|
+
def clear
|
24
|
+
@username = nil
|
25
|
+
@password = nil
|
26
|
+
end
|
27
|
+
|
28
|
+
def to_params
|
29
|
+
{
|
30
|
+
:username => username,
|
31
|
+
:password => password
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
@@ -1,12 +1,14 @@
|
|
1
1
|
module HammerCLIForeman
|
2
2
|
|
3
|
-
class Domain <
|
3
|
+
class Domain < HammerCLIForeman::Command
|
4
|
+
|
5
|
+
resource :domains
|
6
|
+
|
4
7
|
class ListCommand < HammerCLIForeman::ListCommand
|
5
|
-
resource ForemanApi::Resources::Domain, "index"
|
6
8
|
|
7
9
|
output do
|
8
|
-
field :id, "Id"
|
9
|
-
field :name, "Name"
|
10
|
+
field :id, _("Id")
|
11
|
+
field :name, _("Name")
|
10
12
|
end
|
11
13
|
|
12
14
|
apipie_options
|
@@ -15,14 +17,12 @@ module HammerCLIForeman
|
|
15
17
|
|
16
18
|
class InfoCommand < HammerCLIForeman::InfoCommand
|
17
19
|
|
18
|
-
resource ForemanApi::Resources::Domain, "show"
|
19
|
-
|
20
20
|
output ListCommand.output_definition do
|
21
|
-
field :fullname, "Description"
|
22
|
-
field :dns_id, "DNS Id"
|
23
|
-
field :created_at, "Created at", Fields::Date
|
24
|
-
field :updated_at, "Updated at", Fields::Date
|
25
|
-
collection :parameters, "Parameters" do
|
21
|
+
field :fullname, _("Description")
|
22
|
+
field :dns_id, _("DNS Id")
|
23
|
+
field :created_at, _("Created at"), Fields::Date
|
24
|
+
field :updated_at, _("Updated at"), Fields::Date
|
25
|
+
collection :parameters, _("Parameters") do
|
26
26
|
field nil, nil, Fields::KeyValue
|
27
27
|
end
|
28
28
|
end
|
@@ -38,31 +38,28 @@ module HammerCLIForeman
|
|
38
38
|
|
39
39
|
class CreateCommand < HammerCLIForeman::CreateCommand
|
40
40
|
|
41
|
-
success_message "Domain [%{name}s] created"
|
42
|
-
failure_message "Could not create the domain"
|
43
|
-
resource ForemanApi::Resources::Domain, "create"
|
41
|
+
success_message _("Domain [%{name}s] created")
|
42
|
+
failure_message _("Could not create the domain")
|
44
43
|
|
45
44
|
apipie_options :without => [:domain_parameters_attributes, :fullname]
|
46
|
-
option "--description", "DESC", "Full name describing the domain", :attribute_name => :option_fullname
|
45
|
+
option "--description", "DESC", _("Full name describing the domain"), :attribute_name => :option_fullname
|
47
46
|
end
|
48
47
|
|
49
48
|
|
50
49
|
class UpdateCommand < HammerCLIForeman::UpdateCommand
|
51
50
|
|
52
|
-
success_message "Domain [%{name}s] updated"
|
53
|
-
failure_message "Could not update the domain"
|
54
|
-
resource ForemanApi::Resources::Domain, "update"
|
51
|
+
success_message _("Domain [%{name}s] updated")
|
52
|
+
failure_message _("Could not update the domain")
|
55
53
|
|
56
54
|
apipie_options :without => [:domain_parameters_attributes, :name, :id, :fullname]
|
57
|
-
option "--description", "DESC", "Full name describing the domain", :attribute_name => :option_fullname
|
55
|
+
option "--description", "DESC", _("Full name describing the domain"), :attribute_name => :option_fullname
|
58
56
|
end
|
59
57
|
|
60
58
|
|
61
59
|
class DeleteCommand < HammerCLIForeman::DeleteCommand
|
62
60
|
|
63
|
-
success_message "Domain [%{name}s] deleted"
|
64
|
-
failure_message "Could not delete the domain"
|
65
|
-
resource ForemanApi::Resources::Domain, "destroy"
|
61
|
+
success_message _("Domain [%{name}s] deleted")
|
62
|
+
failure_message _("Could not delete the domain")
|
66
63
|
|
67
64
|
apipie_options
|
68
65
|
end
|
@@ -70,16 +67,16 @@ module HammerCLIForeman
|
|
70
67
|
|
71
68
|
class SetParameterCommand < HammerCLIForeman::Parameter::SetCommand
|
72
69
|
|
73
|
-
resource
|
70
|
+
resource :parameters
|
74
71
|
|
75
|
-
desc "Create or update parameter for a domain."
|
72
|
+
desc _("Create or update parameter for a domain.")
|
76
73
|
|
77
|
-
option "--domain-name", "DOMAIN_NAME", "name of the domain the parameter is being set for"
|
78
|
-
option "--domain-id", "DOMAIN_ID", "id of the domain the parameter is being set for"
|
74
|
+
option "--domain-name", "DOMAIN_NAME", _("name of the domain the parameter is being set for")
|
75
|
+
option "--domain-id", "DOMAIN_ID", _("id of the domain the parameter is being set for")
|
79
76
|
|
80
|
-
success_message_for :update, "Domain parameter updated"
|
81
|
-
success_message_for :create, "New domain parameter created"
|
82
|
-
failure_message "Could not set domain parameter"
|
77
|
+
success_message_for :update, _("Domain parameter updated")
|
78
|
+
success_message_for :create, _("New domain parameter created")
|
79
|
+
failure_message _("Could not set domain parameter")
|
83
80
|
|
84
81
|
def validate_options
|
85
82
|
super
|
@@ -96,14 +93,14 @@ module HammerCLIForeman
|
|
96
93
|
|
97
94
|
class DeleteParameterCommand < HammerCLIForeman::Parameter::DeleteCommand
|
98
95
|
|
99
|
-
resource
|
96
|
+
resource :parameters
|
100
97
|
|
101
|
-
desc "Delete parameter for a domain."
|
98
|
+
desc _("Delete parameter for a domain.")
|
102
99
|
|
103
|
-
option "--domain-name", "DOMAIN_NAME", "name of the domain the parameter is being deleted for"
|
104
|
-
option "--domain-id", "DOMAIN_ID", "id of the domain the parameter is being deleted for"
|
100
|
+
option "--domain-name", "DOMAIN_NAME", _("name of the domain the parameter is being deleted for")
|
101
|
+
option "--domain-id", "DOMAIN_ID", _("id of the domain the parameter is being deleted for")
|
105
102
|
|
106
|
-
success_message "Domain parameter deleted"
|
103
|
+
success_message _("Domain parameter deleted")
|
107
104
|
|
108
105
|
def validate_options
|
109
106
|
super
|
@@ -122,5 +119,5 @@ module HammerCLIForeman
|
|
122
119
|
|
123
120
|
end
|
124
121
|
|
125
|
-
HammerCLI::MainCommand.subcommand 'domain', "Manipulate domains.", HammerCLIForeman::Domain
|
122
|
+
HammerCLI::MainCommand.subcommand 'domain', _("Manipulate domains."), HammerCLIForeman::Domain
|
126
123
|
|