hammer_cli_katello 0.0.3 → 0.0.4

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.
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