hammer_cli_katello 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +8 -8
  2. data/lib/hammer_cli_katello.rb +26 -6
  3. data/lib/hammer_cli_katello/activation_key.rb +176 -0
  4. data/lib/hammer_cli_katello/associating_commands.rb +67 -0
  5. data/lib/hammer_cli_katello/capsule.rb +100 -0
  6. data/lib/hammer_cli_katello/commands.rb +55 -0
  7. data/lib/hammer_cli_katello/content_host.rb +90 -0
  8. data/lib/hammer_cli_katello/content_view.rb +193 -0
  9. data/lib/hammer_cli_katello/content_view_puppet_module.rb +74 -0
  10. data/lib/hammer_cli_katello/content_view_version.rb +81 -0
  11. data/lib/hammer_cli_katello/exception_handler.rb +40 -0
  12. data/lib/hammer_cli_katello/filter.rb +83 -0
  13. data/lib/hammer_cli_katello/filter_rule.rb +73 -0
  14. data/lib/hammer_cli_katello/gpg_key.rb +34 -56
  15. data/lib/hammer_cli_katello/host_collection.rb +91 -0
  16. data/lib/hammer_cli_katello/i18n.rb +24 -0
  17. data/lib/hammer_cli_katello/id_resolver.rb +39 -0
  18. data/lib/hammer_cli_katello/lifecycle_environment.rb +63 -45
  19. data/lib/hammer_cli_katello/organization.rb +27 -23
  20. data/lib/hammer_cli_katello/ping.rb +20 -23
  21. data/lib/hammer_cli_katello/product.rb +69 -62
  22. data/lib/hammer_cli_katello/puppet_module.rb +47 -0
  23. data/lib/hammer_cli_katello/repository.rb +147 -0
  24. data/lib/hammer_cli_katello/repository_set.rb +88 -0
  25. data/lib/hammer_cli_katello/subscription.rb +59 -12
  26. data/lib/hammer_cli_katello/sync_plan.rb +74 -0
  27. data/lib/hammer_cli_katello/version.rb +1 -1
  28. data/locale/hammer-cli-katello.pot +1215 -0
  29. data/locale/zanata.xml +29 -0
  30. metadata +28 -13
  31. data/lib/hammer_cli_katello/provider.rb +0 -68
  32. data/lib/hammer_cli_katello/resource.rb +0 -0
  33. data/lib/hammer_cli_katello/system.rb +0 -94
  34. data/lib/hammer_cli_katello/system_group.rb +0 -48
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDU1YjI4NmM1OGNmNzJhZDM1ZGQ3ODIyNTBjMjM0ZDc0ZTcxOTY3Mw==
4
+ YzM5ZDExYmNkY2MxMDAyMTdjMGUwZTMyZWYyMTQwMmZlOTNjMDQyZQ==
5
5
  data.tar.gz: !binary |-
6
- ZGQzNDRlNTk0MjQ5NmVmZDYzOGI4Y2Y1YjMzZjQxNGM2MDRjZWVmMA==
6
+ ODYxMzRhMzNmMzQxZjYxOWJkOTY4OWNjYTcxMGRlNzY1OTA3ZTk1MQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OTBlYmExNzNhOWNiMmU3OTRiNDY4ODA2M2NlMjhiOTljNjQ1ZWJmMDNjNDM3
10
- YzMwM2NlNmEyYWIxZTM0MmQxZDY3OGIzZjdiNzY1NzczYjU0NjAwOTRhNzg5
11
- NDA2YzEwZGNhNjE4OTljOTRmY2FjODQ1MGEyMmNiMzdlNWY2ODI=
9
+ NjA1ODNmMzZmYzllNjMzNzExYmI1MjhlOTkyOGIyYTJlMWY2MGQzNzRlMGU1
10
+ OTUzN2ZkMjQ5MjQzYzc0NWI3MTIxYjhiZWMxMDFlZmM0M2ViOTljNTRmNDUw
11
+ OWViNWI0NmQ3YzJlNmQxYzJlOWYzMjU5ZmY3MGY1MjU1YWZjZmE=
12
12
  data.tar.gz: !binary |-
13
- ZmI5N2U0NTc0YzNhODIwZTQ4OGQ0ODFkY2NjMGE0NmM2NGZhNGJlYzdiZGFh
14
- NzNjNzZkMWQ0YjZiNmIyZDQ1OTNhNjlmY2IzNzhhODNiY2I4M2Q1MGQ3NDgx
15
- NDFjZjMxOTEzOWRiYjIxYTcxODhlMWU5NzkxNThkZTI5MjkzMmU=
13
+ YjZmMDRiMGJiMjQ3OTczY2VlMzBmNmM3YzNjYWExMzUzMDM5MDNmMmM3MmZk
14
+ MTIyNzAxYjE1NmE2YTQ3YTI2ZjA2MDgyYTE0OWUzZGM5ZDkyZGY5ZGE4MjA5
15
+ NTNhOGZiYzc5ZTA3ZGZmNzViMmIwMTU0OThmODMyNDI0MTMyN2I=
@@ -3,17 +3,37 @@ require 'hammer_cli_foreman'
3
3
  require 'hammer_cli/exit_codes'
4
4
  require 'hammer_cli_foreman/commands'
5
5
  require 'hammer_cli_foreman/output/fields'
6
-
7
- require 'katello_api'
6
+ require 'hammer_cli_foreman_tasks'
8
7
 
9
8
  module HammerCLIKatello
10
9
 
11
10
  def self.exception_handler_class
12
- HammerCLIForeman::ExceptionHandler
11
+ HammerCLIKatello::ExceptionHandler
13
12
  end
14
13
 
15
- Dir["#{File.dirname(__FILE__)}/hammer_cli_katello/*.rb"].each do |f|
16
- require f
17
- end
14
+ require "hammer_cli_katello/commands"
15
+ require "hammer_cli_katello/associating_commands"
16
+ require "hammer_cli_katello/version"
17
+ require "hammer_cli_katello/exception_handler"
18
+ require 'hammer_cli_katello/i18n'
19
+ require "hammer_cli_katello/version"
20
+ require 'hammer_cli_katello/id_resolver'
21
+
22
+ # commands
23
+ require "hammer_cli_katello/activation_key"
24
+ require "hammer_cli_katello/gpg_key"
25
+ require "hammer_cli_katello/lifecycle_environment"
26
+ require "hammer_cli_katello/organization"
27
+ require "hammer_cli_katello/ping"
28
+ require "hammer_cli_katello/product"
29
+ require "hammer_cli_katello/puppet_module"
30
+ require "hammer_cli_katello/repository"
31
+ require "hammer_cli_katello/repository_set"
32
+ require "hammer_cli_katello/subscription"
33
+ require "hammer_cli_katello/sync_plan"
34
+ require "hammer_cli_katello/host_collection"
35
+ require "hammer_cli_katello/content_host"
36
+ require "hammer_cli_katello/content_view"
37
+ require "hammer_cli_katello/capsule"
18
38
 
19
39
  end
@@ -0,0 +1,176 @@
1
+ module HammerCLIKatello
2
+
3
+ class ActivationKeyCommand < HammerCLIKatello::Command
4
+ resource :activation_keys
5
+
6
+ class ListCommand < HammerCLIKatello::ListCommand
7
+ action :index
8
+
9
+ output do
10
+ field :id, _("ID")
11
+ field :name, _("Name")
12
+ field :format_consumed, _("Consumed")
13
+ from :environment do
14
+ field :name, _("Lifecycle Environment")
15
+ end
16
+ from :content_view do
17
+ field :name, _("Content View")
18
+ end
19
+ end
20
+
21
+ def extend_data(data)
22
+ data["format_consumed"] = _("%{consumed} of %{limit}") %
23
+ {
24
+ :consumed => data["usage_count"],
25
+ :limit => data["usage_limit"] == -1 ? _("Unlimited") : data["usage_limit"]
26
+ }
27
+ data
28
+ end
29
+
30
+ build_options
31
+ end
32
+
33
+ class InfoCommand < HammerCLIKatello::InfoCommand
34
+ action :show
35
+
36
+ output do
37
+ field :name, _("Name")
38
+ field :id, _("ID")
39
+ field :description, _("Description")
40
+ from :environment do
41
+ field :name, _("Lifecycle Environment")
42
+ end
43
+ from :content_view do
44
+ field :name, _("Content View")
45
+ end
46
+
47
+ collection :host_collections, _("Host Collections") do
48
+ field :id, _("ID")
49
+ field :name, _("Name")
50
+ end
51
+ end
52
+
53
+ build_options
54
+ end
55
+
56
+ class CreateCommand < HammerCLIKatello::CreateCommand
57
+ action :create
58
+ success_message _("Activation key created")
59
+ failure_message _("Could not create the activation key")
60
+
61
+ build_options
62
+ end
63
+
64
+ class UpdateCommand < HammerCLIKatello::UpdateCommand
65
+ action :update
66
+ success_message _("Activation key updated")
67
+ failure_message _("Could not update the activation key")
68
+
69
+ build_options
70
+ end
71
+
72
+ class SubscriptionsCommand < HammerCLIKatello::ListCommand
73
+ resource :subscriptions, :index
74
+ desc _("List associated subscriptions")
75
+ command_name "subscriptions"
76
+
77
+ output do
78
+ field :id, _("ID")
79
+ field :product_name, _("Name")
80
+ end
81
+
82
+ option '--id', 'ID', _("resource ID")
83
+
84
+ def request_params
85
+ {
86
+ 'activation_key_id' => option_id
87
+ }
88
+ end
89
+
90
+ validate_options do
91
+ all(:option_id).required
92
+ end
93
+ end
94
+
95
+ class AddSubscriptionCommand < HammerCLIKatello::UpdateCommand
96
+ resource :subscriptions, :create
97
+
98
+ desc "Add subscription"
99
+ command_name "add-subscription"
100
+
101
+ option '--id', 'ID', _("resource ID")
102
+ option '--subscription-id', 'ID', _("subscription ID")
103
+ option '--quantity', 'QUANTITY', _("subscription quantity")
104
+
105
+ def request_params
106
+ {
107
+ 'activation_key_id' => option_id,
108
+ 'id' => option_subscription_id,
109
+ 'quantity' => option_quantity
110
+ }
111
+ end
112
+
113
+ validate_options do
114
+ all(:option_id, :option_subscription_id).required
115
+ end
116
+
117
+ success_message _("Subscription added to activation key")
118
+ failure_message _("Could not add subscription to activation key")
119
+ end
120
+
121
+ class RemoveSubscriptionCommand < HammerCLIKatello::UpdateCommand
122
+ resource :subscriptions, :destroy
123
+
124
+ desc _("Remove subscription")
125
+ command_name "remove-subscription"
126
+
127
+ option '--id', 'ID', _("resource ID")
128
+ option '--subscription-id', 'ID', _("subscription ID")
129
+
130
+ def request_params
131
+ {
132
+ 'id' => option_subscription_id,
133
+ 'activation_key_id' => option_id
134
+ }
135
+ end
136
+
137
+ validate_options do
138
+ all(:option_id, :option_subscription_id).required
139
+ end
140
+ success_message _("Subscription removed from activation key")
141
+ failure_message _("Could not remove subscription from activation key")
142
+ end
143
+
144
+ class HostCollectionsCommand < HammerCLIKatello::ListCommand
145
+ resource :host_collections, :index
146
+
147
+ desc _("List associated host collections")
148
+ command_name "host-collections"
149
+
150
+ output do
151
+ field :id, _("ID")
152
+ field :name, _("Name")
153
+ end
154
+
155
+ option '--id', 'ID', _("resource ID")
156
+
157
+ def request_params
158
+ {
159
+ 'activation_key_id' => option_id
160
+ }
161
+ end
162
+
163
+ validate_options do
164
+ all(:option_id).required
165
+ end
166
+ end
167
+
168
+ HammerCLIKatello::AssociatingCommands::HostCollection.extend_command(self)
169
+
170
+ autoload_subcommands
171
+ end
172
+
173
+ end
174
+
175
+ HammerCLI::MainCommand.subcommand("activation-key", _("Manipulate activation keys."),
176
+ HammerCLIKatello::ActivationKeyCommand)
@@ -0,0 +1,67 @@
1
+ module HammerCLIKatello
2
+ module AssociatingCommands
3
+
4
+ module Repository
5
+ extend HammerCLIForeman::AssociatingCommands::CommandExtension
6
+
7
+ class AddRepositoryCommand < HammerCLIKatello::AddAssociatedCommand
8
+ command_name 'add-repository'
9
+ associated_resource :repositories
10
+
11
+ success_message _("The repository has been associated")
12
+ failure_message _("Could not add repository")
13
+ end
14
+
15
+ class RemoveRepositoryCommand < HammerCLIKatello::RemoveAssociatedCommand
16
+ command_name 'remove-repository'
17
+ associated_resource :repositories
18
+
19
+ success_message _("The repository has been removed")
20
+ failure_message _("Could not remove repository")
21
+ end
22
+
23
+ end
24
+
25
+ module HostCollection
26
+ extend HammerCLIForeman::AssociatingCommands::CommandExtension
27
+
28
+ class AddHostCollectionCommand < HammerCLIKatello::AddAssociatedCommand
29
+ command_name 'add-host-collection'
30
+ associated_resource :host_collections
31
+
32
+ success_message _("The host collection has been associated")
33
+ failure_message _("Could not add host collection")
34
+ end
35
+
36
+ class RemoveHostCollectionCommand < HammerCLIKatello::RemoveAssociatedCommand
37
+ command_name 'remove-repository'
38
+ associated_resource :host_collections
39
+
40
+ success_message _("The host collection has been removed")
41
+ failure_message _("Could not remove host collection")
42
+ end
43
+
44
+ end
45
+
46
+ module ContentHost
47
+ extend HammerCLIForeman::AssociatingCommands::CommandExtension
48
+
49
+ class AddContentHostCommand < HammerCLIKatello::AddAssociatedCommand
50
+ command_name 'add-content-host'
51
+ associated_resource :systems
52
+
53
+ success_message _("The content host has been added")
54
+ failure_message _("Could not add content host")
55
+ end
56
+
57
+ class RemoveContentHostCommand < HammerCLIKatello::RemoveAssociatedCommand
58
+ command_name 'remove-content-host'
59
+ associated_resource :systems
60
+
61
+ success_message _("The content host has been removed")
62
+ failure_message _("Could not remove content host")
63
+ end
64
+
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,100 @@
1
+ module HammerCLIKatello
2
+ class Capsule < HammerCLIForeman::Command
3
+ resource :capsules
4
+
5
+ class ListCommand < HammerCLIKatello::ListCommand
6
+ action :index
7
+
8
+ output do
9
+ field :id, _("Id")
10
+ field :name, _("Name")
11
+ field :url, _("URL")
12
+ end
13
+
14
+ build_options
15
+ end
16
+
17
+ class InfoCommand < HammerCLIKatello::InfoCommand
18
+
19
+ action :show
20
+
21
+ output ListCommand.output_definition do
22
+ field :_features, _("Features"), Fields::List
23
+ field :created_at, _("Created at"), Fields::Date
24
+ field :updated_at, _("Updated at"), Fields::Date
25
+ end
26
+
27
+ def extend_data(proxy)
28
+ proxy['_features'] = proxy['features'].map { |f| f['name'] }
29
+ proxy
30
+ end
31
+
32
+ build_options
33
+ end
34
+
35
+ class Content < HammerCLI::AbstractCommand
36
+ command_name 'content'
37
+ desc _('Manage the capsule content')
38
+
39
+ class ListLifecycleEnvironmentsCommand < HammerCLIKatello::ListCommand
40
+ resource :capsule_content, :lifecycle_environments
41
+ command_name 'lifecycle-environments'
42
+
43
+ output do
44
+ field :id, _("ID")
45
+ field :name, _("Name")
46
+ end
47
+
48
+ build_options
49
+ end
50
+
51
+ class ListAvailableLifecycleEnvironmentsCommand < HammerCLIKatello::ListCommand
52
+ resource :capsule_content, :available_lifecycle_environments
53
+ command_name 'available-lifecycle-environments'
54
+
55
+ output do
56
+ field :id, _("ID")
57
+ field :name, _("Name")
58
+ end
59
+
60
+ build_options
61
+ end
62
+
63
+ class AddLifecycleEnvironmentCommand < HammerCLIKatello::Command
64
+ resource :capsule_content, :add_lifecycle_environment
65
+ command_name 'add-lifecycle-environment'
66
+
67
+ success_message _("Lifecycle environment successfully added to the capsule")
68
+ failure_message _("Could not add the lifecycle environment to the capsule")
69
+
70
+ build_options
71
+ end
72
+
73
+ class RemoveLifecycleEnvironmentCommand < HammerCLIKatello::Command
74
+ resource :capsule_content, :remove_lifecycle_environment
75
+ command_name 'remove-lifecycle-environment'
76
+
77
+ success_message _("Lifecycle environment successfully removed from the capsule")
78
+ failure_message _("Could not remove the lifecycle environment from the capsule")
79
+
80
+ build_options
81
+ end
82
+
83
+ class SyncCommand < HammerCLIForemanTasks::AsyncCommand
84
+ resource :capsule_content, :sync
85
+ command_name "synchronize"
86
+
87
+ success_message _("Capsule content is being synchronized in task %{id}")
88
+ failure_message _("Could not synchronize capsule content")
89
+
90
+ build_options
91
+ end
92
+
93
+ autoload_subcommands
94
+ end
95
+
96
+ autoload_subcommands
97
+ end
98
+
99
+ HammerCLI::MainCommand.subcommand "capsule", _("Manipulate capsule"), Capsule
100
+ end
@@ -0,0 +1,55 @@
1
+ module HammerCLIKatello
2
+
3
+ module ResolverCommons
4
+
5
+ def self.included(base)
6
+ base.extend(ClassMethods)
7
+ end
8
+
9
+ module ClassMethods
10
+
11
+ def resolver
12
+ api = HammerCLI::Connection.get("foreman").api
13
+ HammerCLIKatello::IdResolver.new(api, HammerCLIKatello::Searchables.new)
14
+ end
15
+
16
+ def searchables
17
+ @searchables ||= HammerCLIKatello::Searchables.new
18
+ @searchables
19
+ end
20
+
21
+ end
22
+ end
23
+
24
+ class Command < HammerCLIForeman::Command
25
+ include HammerCLIKatello::ResolverCommons
26
+ end
27
+
28
+ class ListCommand < HammerCLIForeman::ListCommand
29
+ include HammerCLIKatello::ResolverCommons
30
+ end
31
+
32
+ class InfoCommand < HammerCLIForeman::InfoCommand
33
+ include HammerCLIKatello::ResolverCommons
34
+ end
35
+
36
+ class CreateCommand < HammerCLIForeman::CreateCommand
37
+ include HammerCLIKatello::ResolverCommons
38
+ end
39
+
40
+ class UpdateCommand < HammerCLIForeman::UpdateCommand
41
+ include HammerCLIKatello::ResolverCommons
42
+ end
43
+
44
+ class DeleteCommand < HammerCLIForeman::DeleteCommand
45
+ include HammerCLIKatello::ResolverCommons
46
+ end
47
+
48
+ class AddAssociatedCommand < HammerCLIForeman::AddAssociatedCommand
49
+ include HammerCLIKatello::ResolverCommons
50
+ end
51
+
52
+ class RemoveAssociatedCommand < HammerCLIForeman::RemoveAssociatedCommand
53
+ include HammerCLIKatello::ResolverCommons
54
+ end
55
+ end