hammer_cli_foreman 0.0.18 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4664c32a15e81c3db327542d918d9eaebf516e11
|
4
|
+
data.tar.gz: 324c167ab2dba9419c86d16bec1b59ab313df949
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d5b642b1ba7581539d667ac94de9ed9cc27daaa194d4d26e5101b0983dba77ab3d184e628359d8b32c2e90b72b4c66624a322ce02dab081a01bb3fde6397e703
|
7
|
+
data.tar.gz: 62f07b9d348b8ec921380b17b900a26622dff382733ce28d1d52908a684bd303f40b9617a9f46b4681286482ce5840ac5dbfca1f15b9a387e905d70de8d4c045
|
data/lib/hammer_cli_foreman.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'hammer_cli'
|
2
2
|
require 'hammer_cli/exit_codes'
|
3
|
-
|
4
|
-
require 'foreman_api'
|
3
|
+
require 'apipie_bindings'
|
5
4
|
|
6
5
|
module HammerCLIForeman
|
7
6
|
|
@@ -9,34 +8,47 @@ module HammerCLIForeman
|
|
9
8
|
HammerCLIForeman::ExceptionHandler
|
10
9
|
end
|
11
10
|
|
11
|
+
require 'hammer_cli_foreman/i18n'
|
12
|
+
|
12
13
|
require 'hammer_cli_foreman/version'
|
13
14
|
require 'hammer_cli_foreman/output'
|
14
|
-
require 'hammer_cli_foreman/
|
15
|
-
require 'hammer_cli_foreman/associating_commands'
|
16
|
-
require 'hammer_cli_foreman/parameter'
|
15
|
+
require 'hammer_cli_foreman/credentials'
|
17
16
|
require 'hammer_cli_foreman/exception_handler'
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
17
|
+
|
18
|
+
begin
|
19
|
+
require 'hammer_cli_foreman/commands'
|
20
|
+
require 'hammer_cli_foreman/associating_commands'
|
21
|
+
require 'hammer_cli_foreman/parameter'
|
22
|
+
require 'hammer_cli_foreman/common_parameter'
|
23
|
+
|
24
|
+
require 'hammer_cli_foreman/architecture'
|
25
|
+
require 'hammer_cli_foreman/auth'
|
26
|
+
require 'hammer_cli_foreman/compute_resource'
|
27
|
+
require 'hammer_cli_foreman/domain'
|
28
|
+
require 'hammer_cli_foreman/environment'
|
29
|
+
require 'hammer_cli_foreman/fact'
|
30
|
+
require 'hammer_cli_foreman/host'
|
31
|
+
require 'hammer_cli_foreman/hostgroup'
|
32
|
+
require 'hammer_cli_foreman/location'
|
33
|
+
require 'hammer_cli_foreman/media'
|
34
|
+
require 'hammer_cli_foreman/model'
|
35
|
+
require 'hammer_cli_foreman/operating_system'
|
36
|
+
require 'hammer_cli_foreman/organization'
|
37
|
+
require 'hammer_cli_foreman/output/fields'
|
38
|
+
require 'hammer_cli_foreman/partition_table'
|
39
|
+
require 'hammer_cli_foreman/report'
|
40
|
+
require 'hammer_cli_foreman/puppet_class'
|
41
|
+
require 'hammer_cli_foreman/smart_proxy'
|
42
|
+
require 'hammer_cli_foreman/smart_class_parameter'
|
43
|
+
require 'hammer_cli_foreman/subnet'
|
44
|
+
require 'hammer_cli_foreman/template'
|
45
|
+
require 'hammer_cli_foreman/user'
|
46
|
+
|
47
|
+
rescue => e
|
48
|
+
handler = HammerCLIForeman::ExceptionHandler.new(:context => {}, :adapter => :base)
|
49
|
+
handler.handle_exception(e)
|
50
|
+
raise HammerCLI::ModuleLoadingError.new(e)
|
51
|
+
end
|
40
52
|
|
41
53
|
end
|
42
54
|
|
@@ -1,14 +1,14 @@
|
|
1
1
|
module HammerCLIForeman
|
2
2
|
|
3
|
-
class Architecture <
|
3
|
+
class Architecture < HammerCLIForeman::Command
|
4
4
|
|
5
|
-
resource
|
5
|
+
resource :architectures
|
6
6
|
|
7
7
|
class ListCommand < HammerCLIForeman::ListCommand
|
8
8
|
|
9
9
|
output do
|
10
|
-
field :id, "Id"
|
11
|
-
field :name, "Name"
|
10
|
+
field :id, _("Id")
|
11
|
+
field :name, _("Name")
|
12
12
|
end
|
13
13
|
|
14
14
|
apipie_options
|
@@ -18,9 +18,9 @@ module HammerCLIForeman
|
|
18
18
|
class InfoCommand < HammerCLIForeman::InfoCommand
|
19
19
|
|
20
20
|
output ListCommand.output_definition do
|
21
|
-
field :operatingsystem_ids, "OS ids", Fields::List
|
22
|
-
field :created_at, "Created at", Fields::Date
|
23
|
-
field :updated_at, "Updated at", Fields::Date
|
21
|
+
field :operatingsystem_ids, _("OS ids"), Fields::List
|
22
|
+
field :created_at, _("Created at"), Fields::Date
|
23
|
+
field :updated_at, _("Updated at"), Fields::Date
|
24
24
|
end
|
25
25
|
|
26
26
|
apipie_options
|
@@ -28,24 +28,24 @@ module HammerCLIForeman
|
|
28
28
|
|
29
29
|
|
30
30
|
class CreateCommand < HammerCLIForeman::CreateCommand
|
31
|
-
success_message "Architecture created"
|
32
|
-
failure_message "Could not create the architecture"
|
31
|
+
success_message _("Architecture created")
|
32
|
+
failure_message _("Could not create the architecture")
|
33
33
|
|
34
34
|
apipie_options
|
35
35
|
end
|
36
36
|
|
37
37
|
|
38
38
|
class DeleteCommand < HammerCLIForeman::DeleteCommand
|
39
|
-
success_message "Architecture deleted"
|
40
|
-
failure_message "Could not delete the architecture"
|
39
|
+
success_message _("Architecture deleted")
|
40
|
+
failure_message _("Could not delete the architecture")
|
41
41
|
|
42
42
|
apipie_options
|
43
43
|
end
|
44
44
|
|
45
45
|
|
46
46
|
class UpdateCommand < HammerCLIForeman::UpdateCommand
|
47
|
-
success_message "Architecture updated"
|
48
|
-
failure_message "Could not update the architecture"
|
47
|
+
success_message _("Architecture updated")
|
48
|
+
failure_message _("Could not update the architecture")
|
49
49
|
|
50
50
|
apipie_options
|
51
51
|
end
|
@@ -57,5 +57,5 @@ module HammerCLIForeman
|
|
57
57
|
|
58
58
|
end
|
59
59
|
|
60
|
-
HammerCLI::MainCommand.subcommand 'architecture', "Manipulate architectures.", HammerCLIForeman::Architecture
|
60
|
+
HammerCLI::MainCommand.subcommand 'architecture', _("Manipulate architectures."), HammerCLIForeman::Architecture
|
61
61
|
|
@@ -3,92 +3,92 @@ module HammerCLIForeman
|
|
3
3
|
|
4
4
|
module Hostgroup
|
5
5
|
class AddHostgroupCommand < HammerCLIForeman::AddAssociatedCommand
|
6
|
-
associated_resource
|
6
|
+
associated_resource :hostgroups
|
7
7
|
apipie_options
|
8
8
|
end
|
9
9
|
|
10
10
|
class RemoveHostgroupCommand < HammerCLIForeman::RemoveAssociatedCommand
|
11
|
-
associated_resource
|
11
|
+
associated_resource :hostgroups
|
12
12
|
apipie_options
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
16
|
module Environment
|
17
17
|
class AddEnvironmentCommand < HammerCLIForeman::AddAssociatedCommand
|
18
|
-
associated_resource
|
18
|
+
associated_resource :environments
|
19
19
|
apipie_options
|
20
20
|
end
|
21
21
|
|
22
22
|
class RemoveEnvironmentCommand < HammerCLIForeman::RemoveAssociatedCommand
|
23
|
-
associated_resource
|
23
|
+
associated_resource :environments
|
24
24
|
apipie_options
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
28
|
module Domain
|
29
29
|
class AddDomainCommand < HammerCLIForeman::AddAssociatedCommand
|
30
|
-
associated_resource
|
30
|
+
associated_resource :domains
|
31
31
|
apipie_options
|
32
32
|
end
|
33
33
|
|
34
34
|
class RemoveDomainCommand < HammerCLIForeman::RemoveAssociatedCommand
|
35
|
-
associated_resource
|
35
|
+
associated_resource :domains
|
36
36
|
apipie_options
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
40
|
module Medium
|
41
41
|
class AddMediumCommand < HammerCLIForeman::AddAssociatedCommand
|
42
|
-
associated_resource
|
42
|
+
associated_resource :media
|
43
43
|
apipie_options
|
44
44
|
end
|
45
45
|
|
46
46
|
class RemoveMediumCommand < HammerCLIForeman::RemoveAssociatedCommand
|
47
|
-
associated_resource
|
47
|
+
associated_resource :media
|
48
48
|
apipie_options
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
52
|
module Subnet
|
53
53
|
class AddSubnetCommand < HammerCLIForeman::AddAssociatedCommand
|
54
|
-
associated_resource
|
54
|
+
associated_resource :subnets
|
55
55
|
apipie_options
|
56
56
|
end
|
57
57
|
|
58
58
|
class RemoveSubnetCommand < HammerCLIForeman::RemoveAssociatedCommand
|
59
|
-
associated_resource
|
59
|
+
associated_resource :subnets
|
60
60
|
apipie_options
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
64
|
module ComputeResource
|
65
65
|
class AddComputeResourceCommand < HammerCLIForeman::AddAssociatedCommand
|
66
|
-
associated_resource
|
66
|
+
associated_resource :compute_resources
|
67
67
|
apipie_options
|
68
68
|
end
|
69
69
|
|
70
70
|
class RemoveComputeResourceCommand < HammerCLIForeman::RemoveAssociatedCommand
|
71
|
-
associated_resource
|
71
|
+
associated_resource :compute_resources
|
72
72
|
apipie_options
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
76
|
module SmartProxy
|
77
77
|
class AddSmartProxyCommand < HammerCLIForeman::AddAssociatedCommand
|
78
|
-
associated_resource
|
78
|
+
associated_resource :smart_proxies
|
79
79
|
apipie_options
|
80
80
|
|
81
81
|
def associated_resource_name
|
82
|
-
"
|
82
|
+
"smart-proxy"
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
86
86
|
class RemoveSmartProxyCommand < HammerCLIForeman::RemoveAssociatedCommand
|
87
|
-
associated_resource
|
87
|
+
associated_resource :smart_proxies
|
88
88
|
apipie_options
|
89
89
|
|
90
90
|
def associated_resource_name
|
91
|
-
"
|
91
|
+
"smart-proxy"
|
92
92
|
end
|
93
93
|
end
|
94
94
|
end
|
@@ -97,100 +97,106 @@ module HammerCLIForeman
|
|
97
97
|
class AddUserCommand < HammerCLIForeman::AddAssociatedCommand
|
98
98
|
associated_identifiers :id
|
99
99
|
|
100
|
-
associated_resource
|
100
|
+
associated_resource :users
|
101
101
|
apipie_options
|
102
|
+
|
103
|
+
success_message "The user has been associated"
|
104
|
+
failure_message "Could not associate the user"
|
102
105
|
end
|
103
106
|
|
104
107
|
class RemoveUserCommand < HammerCLIForeman::RemoveAssociatedCommand
|
105
108
|
associated_identifiers :id
|
106
109
|
|
107
|
-
associated_resource
|
110
|
+
associated_resource :users
|
108
111
|
apipie_options
|
112
|
+
|
113
|
+
success_message "The user has been disassociated"
|
114
|
+
failure_message "Could not disassociate the user"
|
109
115
|
end
|
110
116
|
end
|
111
117
|
|
112
118
|
module ConfigTemplate
|
113
119
|
class AddConfigTemplateCommand < HammerCLIForeman::AddAssociatedCommand
|
114
|
-
associated_resource
|
120
|
+
associated_resource :config_templates
|
115
121
|
apipie_options
|
116
122
|
end
|
117
123
|
|
118
124
|
class RemoveConfigTemplateCommand < HammerCLIForeman::RemoveAssociatedCommand
|
119
|
-
associated_resource
|
125
|
+
associated_resource :config_templates
|
120
126
|
apipie_options
|
121
127
|
end
|
122
128
|
end
|
123
129
|
|
124
130
|
module Organization
|
125
131
|
class AddOrganizationCommand < HammerCLIForeman::AddAssociatedCommand
|
126
|
-
associated_resource
|
132
|
+
associated_resource :organizations
|
127
133
|
apipie_options
|
128
134
|
end
|
129
135
|
|
130
136
|
class RemoveOrganizationCommand < HammerCLIForeman::RemoveAssociatedCommand
|
131
|
-
associated_resource
|
137
|
+
associated_resource :organizations
|
132
138
|
apipie_options
|
133
139
|
end
|
134
140
|
end
|
135
141
|
|
136
142
|
module OperatingSystem
|
137
143
|
class AddOSCommand < HammerCLIForeman::AddAssociatedCommand
|
138
|
-
associated_resource
|
144
|
+
associated_resource :operatingsystems
|
139
145
|
|
140
146
|
associated_identifiers :id
|
141
147
|
apipie_options
|
142
148
|
|
143
|
-
success_message "Operating system has been associated"
|
144
|
-
failure_message "Could not associate the operating system"
|
149
|
+
success_message _("Operating system has been associated")
|
150
|
+
failure_message _("Could not associate the operating system")
|
145
151
|
end
|
146
152
|
|
147
153
|
|
148
154
|
class RemoveOSCommand < HammerCLIForeman::RemoveAssociatedCommand
|
149
|
-
associated_resource
|
155
|
+
associated_resource :operatingsystems
|
150
156
|
|
151
157
|
associated_identifiers :id
|
152
158
|
apipie_options
|
153
159
|
|
154
|
-
success_message "Operating system has been disassociated"
|
155
|
-
failure_message "Could not disassociate the operating system"
|
160
|
+
success_message _("Operating system has been disassociated")
|
161
|
+
failure_message _("Could not disassociate the operating system")
|
156
162
|
end
|
157
163
|
end
|
158
164
|
|
159
165
|
module Architecture
|
160
166
|
class AddArchitectureCommand < HammerCLIForeman::AddAssociatedCommand
|
161
|
-
associated_resource
|
167
|
+
associated_resource :architectures
|
162
168
|
apipie_options
|
163
169
|
|
164
|
-
success_message "Architecture has been associated"
|
165
|
-
failure_message "Could not associate the architecture"
|
170
|
+
success_message _("Architecture has been associated")
|
171
|
+
failure_message _("Could not associate the architecture")
|
166
172
|
end
|
167
173
|
|
168
174
|
|
169
175
|
class RemoveArchitectureCommand < HammerCLIForeman::RemoveAssociatedCommand
|
170
|
-
associated_resource
|
176
|
+
associated_resource :architectures
|
171
177
|
apipie_options
|
172
178
|
|
173
|
-
success_message "Architecture has been disassociated"
|
174
|
-
failure_message "Could not disassociate the architecture"
|
179
|
+
success_message _("Architecture has been disassociated")
|
180
|
+
failure_message _("Could not disassociate the architecture")
|
175
181
|
end
|
176
182
|
end
|
177
183
|
|
178
184
|
module PartitionTable
|
179
185
|
class AddPartitionTableCommand < HammerCLIForeman::AddAssociatedCommand
|
180
|
-
associated_resource
|
186
|
+
associated_resource :ptables
|
181
187
|
apipie_options
|
182
188
|
|
183
|
-
success_message "Partition table has been associated"
|
184
|
-
failure_message "Could not associate the partition table"
|
189
|
+
success_message _("Partition table has been associated")
|
190
|
+
failure_message _("Could not associate the partition table")
|
185
191
|
end
|
186
192
|
|
187
193
|
|
188
194
|
class RemovePartitionTableCommand < HammerCLIForeman::RemoveAssociatedCommand
|
189
|
-
associated_resource
|
195
|
+
associated_resource :ptables
|
190
196
|
apipie_options
|
191
197
|
|
192
|
-
success_message "Partition table has been disassociated"
|
193
|
-
failure_message "Could not disassociate the partition table"
|
198
|
+
success_message _("Partition table has been disassociated")
|
199
|
+
failure_message _("Could not disassociate the partition table")
|
194
200
|
end
|
195
201
|
end
|
196
202
|
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module HammerCLIForeman
|
2
|
+
|
3
|
+
class Auth < HammerCLI::AbstractCommand
|
4
|
+
|
5
|
+
class LoginCommand < HammerCLI::AbstractCommand
|
6
|
+
command_name "login"
|
7
|
+
desc _("Set credentials")
|
8
|
+
|
9
|
+
def execute
|
10
|
+
HammerCLIForeman.credentials.clear
|
11
|
+
HammerCLI::Connection.drop_all
|
12
|
+
HammerCLIForeman.credentials.username
|
13
|
+
HammerCLIForeman.credentials.password
|
14
|
+
HammerCLI::EX_OK
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
class LogoutCommand < HammerCLI::AbstractCommand
|
19
|
+
command_name "logout"
|
20
|
+
desc _("Wipe your credentials")
|
21
|
+
|
22
|
+
def execute
|
23
|
+
#NOTE: we will change that to drop(:foreman) once dynamic bindings are implemented
|
24
|
+
HammerCLIForeman.credentials.clear
|
25
|
+
HammerCLI::Connection.drop_all
|
26
|
+
print_message(_("Credentials deleted."))
|
27
|
+
HammerCLI::EX_OK
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class InfoCommand < HammerCLI::AbstractCommand
|
32
|
+
command_name "status"
|
33
|
+
desc _("Information about current connections")
|
34
|
+
|
35
|
+
def execute
|
36
|
+
unless HammerCLIForeman.credentials.empty?
|
37
|
+
print_message(_("You are logged in as '%s'") % HammerCLIForeman.credentials.username)
|
38
|
+
else
|
39
|
+
print_message(_("You are currently not logged in to any service.\nUse the service to set credentials."))
|
40
|
+
end
|
41
|
+
HammerCLI::EX_OK
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
autoload_subcommands
|
46
|
+
end
|
47
|
+
|
48
|
+
HammerCLI::ShellMainCommand.subcommand 'auth', _("Foreman connection login/logout."), HammerCLIForeman::Auth
|
49
|
+
end
|