hammer_cli_csv 1.0.0 → 1.0.1

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.
@@ -9,21 +9,6 @@
9
9
  # have received a copy of GPLv2 along with this software; if not, see
10
10
  # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
11
11
 
12
- #
13
- # -= Systems CSV =-
14
- #
15
- # Columns
16
- # Name
17
- # - System name
18
- # - May contain '%d' which will be replaced with current iteration number of Count
19
- # - eg. "os%d" -> "os1"
20
- # Count
21
- # - Number of times to iterate on this line of the CSV file
22
-
23
- require 'hammer_cli'
24
- require 'json'
25
- require 'csv'
26
- require 'uri'
27
12
 
28
13
  module HammerCLICsv
29
14
  class CsvCommand
@@ -31,6 +16,8 @@ module HammerCLICsv
31
16
  command_name 'subscriptions'
32
17
  desc 'import or export subscriptions'
33
18
 
19
+ option %w(--organization), 'ORGANIZATION', 'Only process organization matching this name'
20
+
34
21
  ORGANIZATION = 'Organization'
35
22
  MANIFEST = 'Manifest File'
36
23
  CONTENT_SET = 'Content Set'
@@ -41,6 +28,7 @@ module HammerCLICsv
41
28
  CSV.open(option_csv_file || '/dev/stdout', 'wb', {:force_quotes => false}) do |csv|
42
29
  csv << [NAME, COUNT, ORGANIZATION, MANIFEST, CONTENT_SET, ARCH, RELEASE]
43
30
  @api.resource(:organizations).call(:index, {:per_page => 999999})['results'].each do |organization|
31
+ next if option_organization && organization['name'] != option_organization
44
32
  @api.resource(:products).call(:index, {
45
33
  'per_page' => 999999,
46
34
  'organization_id' => organization['id'],
@@ -78,6 +66,8 @@ module HammerCLICsv
78
66
  end
79
67
 
80
68
  def enable_products_from_csv(line)
69
+ return if option_organization && line[ORGANIZATION] != option_organization
70
+
81
71
  results = @api.resource(:products).call(:index, {
82
72
  'per_page' => 999999,
83
73
  'organization_id' => foreman_organization(:name => line[ORGANIZATION]),
@@ -122,7 +112,7 @@ module HammerCLICsv
122
112
 
123
113
  def import_manifest_from_csv(line)
124
114
  args = %W{
125
- --server #{ @server } --username #{ @username } --password #{ @server }
115
+ --server #{ @server } --username #{ @username } --password #{ @password }
126
116
  subscription upload --file #{ line[MANIFEST] }
127
117
  --organization-id #{ foreman_organization(:name => line[ORGANIZATION]) }
128
118
  }
@@ -0,0 +1,122 @@
1
+ # Copyright 2013-2014 Red Hat, Inc.
2
+ #
3
+ # This software is licensed to you under the GNU General Public
4
+ # License as published by the Free Software Foundation; either version
5
+ # 2 of the License (GPLv2) or (at your option) any later version.
6
+ # There is NO WARRANTY for this software, express or implied,
7
+ # including the implied warranties of MERCHANTABILITY,
8
+ # NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should
9
+ # have received a copy of GPLv2 along with this software; if not, see
10
+ # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
11
+
12
+
13
+ module HammerCLICsv
14
+ class CsvCommand
15
+ class SyncPlansCommand < BaseCommand
16
+ command_name 'sync-plans'
17
+ desc 'import or export repository sync plans'
18
+
19
+ option %w(--organization), 'ORGANIZATION', 'Only process organization matching this name'
20
+
21
+ ORGANIZATION = 'Organization'
22
+ DESCRIPTION = 'Description'
23
+ ENABLED = 'Enabled'
24
+ STARTDATE = 'Start Date'
25
+ INTERVAL = 'Interval'
26
+ PRODUCTS = 'Products'
27
+
28
+ def export
29
+ CSV.open(option_csv_file || '/dev/stdout', 'wb', {:force_quotes => false}) do |csv|
30
+ csv << [NAME, COUNT, ORGANIZATION, DESCRIPTION, ENABLED, STARTDATE, INTERVAL, PRODUCTS]
31
+
32
+ @api.resource(:organizations).call(:index, {:per_page => 999999})['results'].each do |organization|
33
+ next if option_organization && organization['name'] != option_organization
34
+
35
+ @api.resource(:sync_plans).call(:index, {
36
+ 'per_page' => 999999,
37
+ 'organization_id' => foreman_organization(:name => organization['name'])
38
+ })['results'].each do |sync_plan|
39
+ name = sync_plan['name']
40
+ count = 1
41
+ organization_name = organization['name']
42
+ description = sync_plan['description']
43
+ enabled = sync_plan['enabled'] ? 'Yes' : 'No'
44
+ start_date = sync_plan['sync_date']
45
+ interval = sync_plan['interval']
46
+ products = CSV.generate do |column|
47
+ column << sync_plan['products'].collect do |product|
48
+ product['name']
49
+ end
50
+ end
51
+ products.delete!("\n")
52
+ csv << [name, count, organization_name, description, enabled, start_date, interval,
53
+ products]
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ def import
60
+ @existing = {}
61
+
62
+ thread_import do |line|
63
+ create_content_hosts_from_csv(line)
64
+ end
65
+ end
66
+
67
+ def create_content_hosts_from_csv(line)
68
+ return if option_organization && line[ORGANIZATION] != option_organization
69
+
70
+ if !@existing[line[ORGANIZATION]]
71
+ @existing[line[ORGANIZATION]] = {}
72
+ @api.resource(:sync_plans).call(:index, {
73
+ 'per_page' => 999999,
74
+ 'organization_id' => foreman_organization(:name => line[ORGANIZATION])
75
+ })['results'].each do |sync_plan|
76
+ @existing[line[ORGANIZATION]][sync_plan['name']] = sync_plan['id']
77
+ end
78
+ end
79
+
80
+ line[COUNT].to_i.times do |number|
81
+ name = namify(line[NAME], number)
82
+ if !@existing[line[ORGANIZATION]].include? name
83
+ print "Creating sync plan '#{name}'..." if option_verbose?
84
+ @api.resource(:sync_plans).call(:create, {
85
+ 'organization_id' => foreman_organization(:name => line[ORGANIZATION]),
86
+ 'name' => name,
87
+ 'description' => line[DESCRIPTION],
88
+ 'enabled' => line[ENABLED] == 'Yes' ? true : false,
89
+ 'sync_date' => line[STARTDATE],
90
+ 'interval' => line[INTERVAL],
91
+ 'products' => products(line)
92
+ })
93
+ else
94
+ print "Updating sync plan '#{name}'..." if option_verbose?
95
+ # TODO
96
+ # @api.resource(:host_collections).call(:update, {
97
+ # 'organization_id' => line[ORGANIZATION],
98
+ # 'id' => @existing[line[ORGANIZATION]][name],
99
+ # 'name' => name,
100
+ # 'max_systems' => (line[LIMIT] == 'Unlimited') ? -1 : line[LIMIT],
101
+ # 'description' => line[DESCRIPTION]
102
+ # })
103
+ end
104
+ puts "done" if option_verbose?
105
+ end
106
+
107
+ rescue RuntimeError => e
108
+ raise "#{e}\n #{line}"
109
+ end
110
+
111
+ private
112
+
113
+ def products(line)
114
+ return nil if !line[PRODUCTS] || line[PRODUCTS].empty?
115
+ CSV.parse_line(line[PRODUCTS]).collect do |name|
116
+ katello_product(line[ORGANIZATION], :name => name)
117
+ end
118
+ end
119
+
120
+ end
121
+ end
122
+ end
@@ -20,11 +20,12 @@ module HammerCLICsv
20
20
  EMAIL = 'Email'
21
21
  ORGANIZATIONS = 'Organizations'
22
22
  LOCATIONS = 'Locations'
23
+ ADMIN = 'Administrator'
23
24
  ROLES = 'Roles'
24
25
 
25
26
  def export
26
27
  CSV.open(option_csv_file || '/dev/stdout', 'wb', {:force_quotes => true}) do |csv|
27
- csv << [NAME, COUNT, FIRSTNAME, LASTNAME, EMAIL, ORGANIZATIONS, LOCATIONS, ROLES]
28
+ csv << [NAME, COUNT, FIRSTNAME, LASTNAME, EMAIL, ORGANIZATIONS, LOCATIONS, ADMIN, ROLES]
28
29
  @api.resource(:users).call(:index, {:per_page => 999999})['results'].each do |user|
29
30
  if user['organizations']
30
31
  organizations = CSV.generate do |column|
@@ -50,9 +51,10 @@ module HammerCLICsv
50
51
  end
51
52
  roles.delete!("\n")
52
53
  end
54
+ admin = user['admin'] ? 'Yes' : 'No'
53
55
  if user['login'] != 'admin' && !user['login'].start_with?('hidden-')
54
56
  csv << [user['login'], 1, user['firstname'], user['lastname'], user['mail'],
55
- organizations, locations, roles]
57
+ organizations, locations, admin, roles]
56
58
  end
57
59
  end
58
60
  end
@@ -104,6 +106,7 @@ module HammerCLICsv
104
106
  'mail' => line[EMAIL],
105
107
  'password' => 'redhat',
106
108
  'auth_source_id' => 1, # INTERNAL auth
109
+ 'admin' => line[ADMIN] == 'Yes' ? true : false,
107
110
  'role_ids' => roles,
108
111
  'organization_ids' => organizations,
109
112
  'location_ids' => locations
@@ -122,6 +125,7 @@ module HammerCLICsv
122
125
  'password' => 'redhat',
123
126
  'mail' => line[EMAIL],
124
127
  'role_ids' => roles,
128
+ 'admin' => line[ADMIN] == 'Yes' ? true : false,
125
129
  'organization_ids' => organizations,
126
130
  'location_ids' => locations
127
131
  }
@@ -11,6 +11,6 @@
11
11
 
12
12
  module HammerCLICsv
13
13
  def self.version
14
- @version ||= Gem::Version.new('1.0.0')
14
+ @version ||= Gem::Version.new('1.0.1')
15
15
  end
16
16
  end
@@ -1,4 +1,4 @@
1
1
  Name,Count,Organization,Environment,Content View,Host Collections,Virtual,Host,OS,Arch,Sockets,RAM,Cores,SLA,Products,Subscriptions
2
- host%d,1,Mega Corporation,Library,Default Organization View,"Mega Corp HQ",No,,RHEL 6.4,x86_64,1,4GB,1,Standard,"69|Red Hat Enterprise Linux Server,79|Red Hat Enterprise Linux Server",|RH0103708|Red Hat Enterprise Linux Server Premium (8 sockets) (Up to 4 guests)
3
- guest%d,1,Mega Corporation,Library,Default Organization View,"Mega Corp HQ,Accounting",Yes,host0,RHEL 6.4,x86_64,1,4GB,1,Standard,"69|Red Hat Enterprise Linux Server,79|Red Hat Enterprise Linux Server",|RH0103708|Red Hat Enterprise Linux Server Premium (8 sockets) (Up to 4 guests)
4
- dhcp129-%03d.megacorp.com,255,Mega Corporation,Library,Default Organization View,"Mega Corp HQ",No,,RHEL 6.4,x86_64,1,4GB,1,Standard,"69|Red Hat Enterprise Linux Server,79|Red Hat Enterprise Linux Server",|RH0103708|Red Hat Enterprise Linux Server Premium (8 sockets) (Up to 4 guests)
2
+ host%d,1,Mega Corporation,Library,Default Organization View,"Mega Corp HQ",No,,RHEL 6.4,x86_64,1,4 GB,1,Standard,"69|Red Hat Enterprise Linux Server",
3
+ guest%d,4,Mega Corporation,Library,Default Organization View,"Mega Corp HQ,Accounting",Yes,host0,RHEL 6.4,x86_64,1,4 GB,1,Standard,"69|Red Hat Enterprise Linux Server",
4
+ dhcp129-%03d.megacorp.com,999,Mega Corporation,Library,Default Organization View,"Mega Corp HQ",No,,RHEL 6.4,x86_64,1,4 GB,1,Standard,"69|Red Hat Enterprise Linux Server",
@@ -1,2 +1,2 @@
1
1
  Name,Count,Content View,Organization,Type,Description,Repositories,Rules
2
- Minimal Package Set,1,RHEL 6Server (Minimal),Mega Corporation,Include RPM,"Specific list of packages making up minimal server install",,"setup|=|2.8.14-20,tzdata|=|2013g-1,ncurses-base|=|5.7-3.20090208,nss-softokn-freebl|=|3.14.3-9,ncurses-libs|=|5.7-3.20090208,libattr|=|2.4.44-7,zlib|=|1.2.3-29,audit-libs|=|2.2-2,chkconfig|=|1.3.49.3-2,libcom_err|=|1.41.12-18,nspr|=|4.10.0-1,libsepol|=|2.0.41-4,sed|=|4.2.1-10,bzip2-libs|=|1.0.5-7,readline|=|6.0-4,dbus-libs|=|1.2.24-7,gawk|=|3.1.7-10,libgpg-error|=|1.7-4,grep|=|2.6.3-4,sqlite|=|3.6.20-1,libidn|=|1.18-2,libblkid|=|2.17.2-12.14,elfutils-libelf|=|0.152-1,libgcrypt|=|1.4.5-11,findutils|=|4.4.2-6,checkpolicy|=|2.0.22-1,tcp_wrappers-libs|=|7.6-57,pth|=|2.0.7-9.3,p11-kit|=|0.18.5-2,ca-certificates|=|2013.1.94-65.0,device-mapper-persistent-data|=|0.2.8-r2,file|=|5.04-15,libusb|=|0.1.12-23,upstart|=|0.6.5-12,MAKEDEV|=|3.24-6,procps|=|3.2.8-25,psmisc|=|22.6-15,db4-utils|=|4.7.25-18,e2fsprogs-libs|=|1.41.12-18,diffutils|=|2.8.1-28,make|=|3.81-20,which|=|2.19-6,ncurses|=|5.7-3.20090208,less|=|436-10,gzip|=|1.3.12-19,cracklib-dicts|=|2.8.16-4,pam|=|1.1.1-17,hwdata|=|0.233-9.1,plymouth-scripts|=|0.8.3-27,logrotate|=|3.7.8-17,nss-sysinit|=|3.15.1-15,openldap|=|2.4.23-32,pciutils-libs|=|3.1.10-2,mingetty|=|1.08-5,krb5-libs|=|1.10.3-10,libssh2|=|1.4.2-1,gnupg2|=|2.0.14-6,curl|=|7.19.7-37,rpm|=|4.8.0-37,fipscheck-lib|=|1.2.0-7,ustr|=|1.0.4-9.1,libnl|=|1.1.4-2,slang|=|2.2.1-1,gdbm|=|1.8.0-36,python|=|2.6.6-51,rpm-python|=|4.8.0-37,m2crypto|=|0.20.2-9,python-dateutil|=|1.4.1-6,python-simplejson|=|2.0.9-3.1,libxml2-python|=|2.7.6-14,python-rhsm|=|1.9.6-1,pygpgme|=|0.1-18.20090824bzr68,python-urlgrabber|=|3.9.1-9,rhnlib|=|2.5.22-15,gamin|=|0.1.10-9,shared-mime-info|=|0.70-4,dbus-glib|=|0.86-6,pygobject2|=|2.20.0-5,grubby|=|7.0.15-5,yum|=|3.2.29-40,python-gudev|=|147.1-4,plymouth-core-libs|=|0.8.3-27,redhat-release-server-6Server|=|6.5.0.1,iptables|=|1.4.7-11,iputils|=|20071127-17,initscripts|=|9.03.40-2,device-mapper-libs|=|1.02.79-8,device-mapper-event-libs|=|1.02.79-8,rhnsd|=|4.9.3-2,yum-rhn-plugin|=|0.9.1-48,device-mapper-event|=|1.02.79-8,libdrm|=|2.4.45-2,kbd|=|1.15-11,dracut-kernel|=|004-335,openssh|=|5.3p1-94,postfix|=|2.6.6-2.2,cronie|=|1.4.4-12,virt-what|=|1.11-1.2,selinux-policy|=|3.7.19-231,kernel-firmware|=|2.6.32-431,dhclient|=|4.1.1-38.P1,system-config-firewall-base|=|1.2.27-5,openssh-server|=|5.3p1-94,bfa-firmware|=|3.2.21.1-2,iwl100-firmware|=|39.31.5.1-1,b43-openfwwf|=|5.2-4,aic94xx-firmware|=|30-2,iwl1000-firmware|=|39.31.5.1-1,authconfig|=|6.1.12-13,efibootmgr|=|0.5.4-11,audit|=|2.2-2,acl|=|2.2.49-6,ql2400-firmware|=|7.00.01-1,ql2100-firmware|=|1.19.38-3.1,libertas-usb8388-firmware|=|5.110.22.p23-3.1,ql2500-firmware|=|7.00.01-1,zd1211-firmware|=|1.4-4,rt61pci-firmware|=|1.2-7,ql2200-firmware|=|2.02.08-3.1,ipw2100-firmware|=|1.3-11,ipw2200-firmware|=|3.1-4,libgcc|=|4.4.7-4,filesystem|=|2.4.30-3,basesystem|=|10.0-4,glibc-common|=|2.12-1.132,glibc|=|2.12-1.132,bash|=|4.1.2-15,libcap|=|2.16-5.5,info|=|4.13a-8,popt|=|1.13-7,libacl|=|2.2.49-6,db4|=|4.7.25-18,nss-util|=|3.15.1-3,libselinux|=|2.0.94-5.3,shadow-utils|=|4.1.4.2-13,libxml2|=|2.7.6-14,libudev|=|147-2.51,libstdc++|=|4.4.7-4,file-libs|=|5.04-15,pcre|=|7.8-6,lua|=|5.1.4-4.1,cyrus-sasl-lib|=|2.1.23-13,libuuid|=|2.17.2-12.14,xz-libs|=|4.999.9-0.3.beta.20091007git,expat|=|2.0.1-11,bzip2|=|1.0.5-7,libselinux-utils|=|2.0.94-5.3,cpio|=|2.10-11,sysvinit-tools|=|2.87-5.dsf,libtasn1|=|2.3-3,p11-kit-trust|=|0.18.5-2,libxslt|=|1.1.26-2,nss-softokn|=|3.14.3-9,gmp|=|4.3.1-7,libnih|=|1.0.1-7,libutempter|=|1.1.5-4.1,vim-minimal|=|7.2.411-1.8,net-tools|=|1.60-110,tar|=|1.23-11,libss|=|1.41.12-18,pinentry|=|0.7.6-6,binutils|=|2.20.51.0.2-5.36,m4|=|1.4.13-5,dash|=|0.5.5.1-4,groff|=|1.18.1.4-21,coreutils-libs|=|8.4-31,cracklib|=|2.8.16-4,coreutils|=|8.4-31,module-init-tools|=|3.9-21,redhat-logos|=|60.0.14-1,libpciaccess|=|0.13.1-2,nss|=|3.15.1-15,nss-tools|=|3.15.1-15,libcap-ng|=|0.6.4-3,ethtool|=|3.5-1,keyutils-libs|=|1.4-4,openssl|=|1.0.1e-15,libcurl|=|7.19.7-37,gpgme|=|1.1.8-3,rpm-libs|=|4.8.0-37,mysql-libs|=|5.1.71-1,fipscheck|=|1.2.0-7,libsemanage|=|2.0.43-4.2,dmidecode|=|2.11-2,newt|=|0.52.11-3,libffi|=|3.0.5-3.2,python-libs|=|2.6.6-51,python-iniparse|=|0.3.1-2.1,newt-python|=|0.52.11-3,python-lxml|=|2.2.3-1.1,python-ethtool|=|0.6-5,python-dmidecode|=|3.10.13-3,redhat-support-lib-python|=|0.9.5-9,python-pycurl|=|7.19.0-8,pyOpenSSL|=|0.10-2,pkgconfig|=|0.23-9.1,glib2|=|2.26.1-3,libuser|=|0.56.13-5,dbus-python|=|0.83.0-6.1,passwd|=|0.77-4,yum-metadata-parser|=|1.1.2-16,libgudev1|=|147-2.51,rhn-client-tools|=|1.0.0.1-16,kbd-misc|=|1.15-11,policycoreutils|=|2.0.83-19.39,iproute|=|2.6.32-31,util-linux-ng|=|2.17.2-12.14,udev|=|147-2.51,device-mapper|=|1.02.79-8,usermode|=|1.102-3,rhn-setup|=|1.0.0.1-16,rhn-check|=|1.0.0.1-16,lvm2-libs|=|2.02.100-8,plymouth|=|0.8.3-27,dracut|=|004-335,rsyslog|=|5.8.10-8,cyrus-sasl|=|2.1.23-13,cronie-anacron|=|1.4.4-12,crontabs|=|1.10-33,iptables-ipv6|=|1.4.7-11,dhcp-common|=|4.1.1-38.P1,kernel|=|2.6.32-431,selinux-policy-targeted|=|3.7.19-231,subscription-manager|=|1.9.11-1,lvm2|=|2.02.100-8,iwl5150-firmware|=|8.24.2.2-1,iwl6050-firmware|=|41.28.5.1-2,iwl6000g2a-firmware|=|17.168.5.3-1,iwl6000-firmware|=|9.221.4.1-1,redhat-support-tool|=|0.9.5-8,grub|=|0.97-83,sudo|=|1.8.6p3-12,e2fsprogs|=|1.41.12-18,attr|=|2.4.44-7,iwl5000-firmware|=|8.83.5.1_1-1,ivtv-firmware|=|20080701-20.2.noarch,xorg-x11-drv-ati-firmware|=|7.1.0-3,atmel-firmware|=|1.3-7,iwl4965-firmware|=|228.61.2.24-2.1,iwl3945-firmware|=|15.32.2.9-4,rt73usb-firmware|=|1.8-7,ql23xx-firmware|=|3.03.27-3.1,rootfiles|=|8.1-6.1"
2
+ Minimal Package Set,1,RHEL 6Server (Minimal),Mega Corporation,Include RPM,"Specific list of packages making up minimal server install",,"setup|=|2.8.14-20.el6_4.1,tzdata|=|2014g-1.el6,ncurses-base|=|5.7-3.20090208.el6,nss-softokn-freebl|=|3.14.3-17.el6,ncurses-libs|=|5.7-3.20090208.el6,libattr|=|2.4.44-7.el6,zlib|=|1.2.3-29.el6,audit-libs|=|2.3.7-5.el6,chkconfig|=|1.3.49.3-2.el6_4.1,libcom_err|=|1.41.12-21.el6,bzip2-libs|=|1.0.5-7.el6_0,nss-util|=|3.16.1-3.el6,libselinux|=|2.0.94-5.8.el6,shadow-utils|=|4.1.4.2-19.el6,libxml2|=|2.7.6-14.el6_5.2,elfutils-libelf|=|0.158-3.2.el6,dbus-libs|=|1.2.24-7.el6_3,file-libs|=|5.04-21.el6,libgpg-error|=|1.7-4.el6,grep|=|2.6.3-6.el6,sqlite|=|3.6.20-1.el6,libidn|=|1.18-2.el6,libblkid|=|2.17.2-12.18.el6,nss-softokn|=|3.14.3-17.el6,findutils|=|4.4.2-6.el6,bzip2|=|1.0.5-7.el6_0,tcp_wrappers-libs|=|7.6-57.el6,pth|=|2.0.7-9.3.el6,p11-kit|=|0.18.5-2.el6_5.2,ca-certificates|=|2014.1.98-65.1.el6,device-mapper-persistent-data|=|0.3.2-1.el6,file|=|5.04-21.el6,upstart|=|0.6.5-13.el6_5.3,snappy|=|1.1.0-1.el6,bc|=|1.06.95-1.el6,MAKEDEV|=|3.24-6.el6,procps|=|3.2.8-30.el6,net-tools|=|1.60-110.el6_2,tar|=|1.23-11.el6,e2fsprogs-libs|=|1.41.12-21.el6,pinentry|=|0.7.6-6.el6,which|=|2.19-6.el6,make|=|3.81-20.el6,dash|=|0.5.5.1-4.el6,groff|=|1.18.1.4-21.el6,coreutils-libs|=|8.4-37.el6,cracklib|=|2.8.16-4.el6,coreutils|=|8.4-37.el6,module-init-tools|=|3.9-24.el6,redhat-logos|=|60.0.14-1.el6,libpciaccess|=|0.13.3-0.1.el6,nss|=|3.16.1-14.el6,nss-tools|=|3.16.1-14.el6,pciutils-libs|=|3.1.10-4.el6,mingetty|=|1.08-5.el6,keyutils-libs|=|1.4-5.el6,openssl|=|1.0.1e-30.el6,libcurl|=|7.19.7-37.el6_5.3,rpm-libs|=|4.8.0-37.el6,openldap|=|2.4.39-8.el6,gpgme|=|1.1.8-3.el6,fipscheck-lib|=|1.2.0-7.el6,ustr|=|1.0.4-9.1.el6,libnl|=|1.1.4-2.el6,plymouth-core-libs|=|0.8.3-27.el6_5.1,gdbm|=|1.8.0-36.el6,python-libs|=|2.6.6-52.el6,python-dateutil|=|1.4.1-6.el6,m2crypto|=|0.20.2-9.el6,python-ethtool|=|0.6-5.el6,python-dmidecode|=|3.10.13-3.el6_4,python-rhsm|=|1.12.5-2.el6,python-pycurl|=|7.19.0-8.el6,pyOpenSSL|=|0.10-2.el6,pkgconfig|=|0.23-9.1.el6,glib2|=|2.28.8-4.el6,libuser|=|0.56.13-5.el6,dbus-python|=|0.83.0-6.1.el6,passwd|=|0.77-4.el6_2.2,yum-metadata-parser|=|1.1.2-16.el6,libgudev1|=|147-2.57.el6,slang|=|2.2.1-1.el6,newt-python|=|0.52.11-3.el6,busybox|=|1.15.1-20.el6,redhat-release-server|=|6Server-6.6.0.2.el6,iptables|=|1.4.7-14.el6,iputils|=|20071127-17.el6_4.2,initscripts|=|9.03.46-1.el6,device-mapper-libs|=|1.02.90-2.el6,device-mapper-event-libs|=|1.02.90-2.el6,rhnsd|=|4.9.3-2.el6,yum-rhn-plugin|=|0.9.1-50.el6,device-mapper-event|=|1.02.90-2.el6,kpartx|=|0.4.9-80.el6,libdrm|=|2.4.52-4.el6,rsyslog|=|5.8.10-8.el6,dracut|=|004-356.el6,openssh|=|5.3p1-104.el6,postfix|=|2.6.6-6.el6_5,cronie|=|1.4.4-12.el6,virt-what|=|1.11-1.2.el6,dhcp-common|=|4.1.1-43.P1.el6,kernel|=|2.6.32-504.el6,selinux-policy-targeted|=|3.7.19-260.el6,openssh-server|=|5.3p1-104.el6,lvm2|=|2.02.111-2.el6,iwl5150-firmware|=|8.24.2.2-1.el6,iwl6050-firmware|=|41.28.5.1-2.el6,iwl6000g2a-firmware|=|17.168.5.3-1.el6,iwl6000-firmware|=|9.221.4.1-1.el6,iptables-ipv6|=|1.4.7-14.el6,grub|=|0.97-93.el6,efibootmgr|=|0.5.4-12.el6,e2fsprogs|=|1.41.12-21.el6,attr|=|2.4.44-7.el6,iwl5000-firmware|=|8.83.5.1_1-1.el6_1.1,ivtv-firmware|=|20080701-20.2,xorg-x11-drv-ati-firmware|=|7.3.99-2.el6,atmel-firmware|=|1.3-7.el6,iwl4965-firmware|=|228.61.2.24-2.1.el6,iwl3945-firmware|=|15.32.2.9-4.el6,rt73usb-firmware|=|1.8-7.el6,ql23xx-firmware|=|3.03.27-3.1.el6,rootfiles|=|8.1-6.1.el6,katello-ca-consumer-katello-dev-katello.example.com|=|1.0-1,libgcc|=|4.4.7-11.el6,filesystem|=|2.4.30-3.el6,basesystem|=|10.0-4.el6,glibc-common|=|2.12-1.149.el6,glibc|=|2.12-1.149.el6,bash|=|4.1.2-29.el6,libcap|=|2.16-5.5.el6,info|=|4.13a-8.el6,popt|=|1.13-7.el6,libacl|=|2.2.49-6.el6,db4|=|4.7.25-18.el6_4,nspr|=|4.10.6-1.el6_5,libsepol|=|2.0.41-4.el6,sed|=|4.2.1-10.el6,readline|=|6.0-4.el6,libstdc++|=|4.4.7-11.el6,libudev|=|147-2.57.el6,gawk|=|3.1.7-10.el6,xz-libs|=|4.999.9-0.5.beta.20091007git.el6,pcre|=|7.8-6.el6,lua|=|5.1.4-4.1.el6,cyrus-sasl-lib|=|2.1.23-15.el6,libuuid|=|2.17.2-12.18.el6,expat|=|2.0.1-11.el6_2,libgcrypt|=|1.4.5-11.el6_4,checkpolicy|=|2.0.22-1.el6,cpio|=|2.10-12.el6_5,sysvinit-tools|=|2.87-5.dsf.el6,libtasn1|=|2.3-6.el6_5,p11-kit-trust|=|0.18.5-2.el6_5.2,libxslt|=|1.1.26-2.el6_3.1,elfutils-libs|=|0.158-3.2.el6,libnih|=|1.0.1-7.el6,gmp|=|4.3.1-7.el6_2.2,libusb|=|0.1.12-23.el6,libutempter|=|1.1.5-4.1.el6,vim-minimal|=|7.2.411-1.8.el6,psmisc|=|22.6-19.el6_5,libselinux-utils|=|2.0.94-5.8.el6,db4-utils|=|4.7.25-18.el6_4,libss|=|1.41.12-21.el6,diffutils|=|2.8.1-28.el6,binutils|=|2.20.51.0.2-5.42.el6,m4|=|1.4.13-5.el6,ncurses|=|5.7-3.20090208.el6,less|=|436-13.el6,gzip|=|1.3.12-22.el6,cracklib-dicts|=|2.8.16-4.el6,pam|=|1.1.1-20.el6,hwdata|=|0.233-11.1.el6,plymouth-scripts|=|0.8.3-27.el6_5.1,logrotate|=|3.7.8-17.el6,nss-sysinit|=|3.16.1-14.el6,libcap-ng|=|0.6.4-3.el6_0.1,ethtool|=|3.5-5.el6,lzo|=|2.03-3.1.el6_5.1,krb5-libs|=|1.10.3-33.el6,libssh2|=|1.4.2-1.el6,curl|=|7.19.7-37.el6_5.3,rpm|=|4.8.0-37.el6,gnupg2|=|2.0.14-8.el6,mysql-libs|=|5.1.73-3.el6_5,fipscheck|=|1.2.0-7.el6,libsemanage|=|2.0.43-4.2.el6,dmidecode|=|2.12-5.el6_5,libffi|=|3.0.5-3.2.el6,python|=|2.6.6-52.el6,rpm-python|=|4.8.0-37.el6,python-iniparse|=|0.3.1-2.1.el6,python-lxml|=|2.2.3-1.1.el6,libxml2-python|=|2.7.6-14.el6_5.2,redhat-support-lib-python|=|0.9.6-1.el6,pygpgme|=|0.1-18.20090824bzr68.el6,python-urlgrabber|=|3.9.1-9.el6,rhnlib|=|2.5.22-15.el6,gamin|=|0.1.10-9.el6,shared-mime-info|=|0.70-6.el6,dbus-glib|=|0.86-6.el6_4,pygobject2|=|2.20.0-5.el6,grubby|=|7.0.15-7.el6,yum|=|3.2.29-60.el6,python-gudev|=|147.1-4.el6_0.1,newt|=|0.52.11-3.el6,rhn-client-tools|=|1.0.0.1-18.el6,kbd-misc|=|1.15-11.el6,policycoreutils|=|2.0.83-19.47.el6,iproute|=|2.6.32-32.el6_5,util-linux-ng|=|2.17.2-12.18.el6,udev|=|147-2.57.el6,device-mapper|=|1.02.90-2.el6,usermode|=|1.102-3.el6,rhn-setup|=|1.0.0.1-18.el6,rhn-check|=|1.0.0.1-18.el6,lvm2-libs|=|2.02.111-2.el6,mdadm|=|3.3-6.el6,plymouth|=|0.8.3-27.el6_5.1,kbd|=|1.15-11.el6,dracut-kernel|=|004-356.el6,cyrus-sasl|=|2.1.23-15.el6,cronie-anacron|=|1.4.4-12.el6,crontabs|=|1.10-33.el6,selinux-policy|=|3.7.19-260.el6,kernel-firmware|=|2.6.32-504.el6,dhclient|=|4.1.1-43.P1.el6,subscription-manager|=|1.12.14-7.el6,kexec-tools|=|2.0.0-280.el6,bfa-firmware|=|3.2.23.0-2.el6,iwl100-firmware|=|39.31.5.1-1.el6,b43-openfwwf|=|5.2-4.el6,aic94xx-firmware|=|30-2.el6,iwl1000-firmware|=|39.31.5.1-1.el6,redhat-support-tool|=|0.9.6-2.el6,sudo|=|1.8.6p3-15.el6,audit|=|2.3.7-5.el6,acl|=|2.2.49-6.el6,ql2400-firmware|=|7.03.00-1.el6,ql2100-firmware|=|1.19.38-3.1.el6,libertas-usb8388-firmware|=|5.110.22.p23-3.1.el6,ql2500-firmware|=|7.03.00-1.el6,zd1211-firmware|=|1.4-4.el6,rt61pci-firmware|=|1.2-7.el6,ql2200-firmware|=|2.02.08-3.1.el6,ipw2100-firmware|=|1.3-11.el6,ipw2200-firmware|=|3.1-4.el6,candlepin-cert-consumer-thomasmckay-vm5.released-el7.satellite.lab.eng.rdu2.redhat.com|=|1.0-1"
@@ -1,5 +1,4 @@
1
1
  "Name","Count","Label","Description"
2
2
  "Mega Corporation","1","megacorp","The number one mega company in the world!"
3
- "Mega Subsidiary","1","subcorp","The number one subsidiary of the number one mega company in the world!"
4
3
 
5
4
 
@@ -15,7 +15,6 @@ chelseacalaway,1,ActivationKey,name = chelsea.calaway@megacorp.com,"view_activat
15
15
  cinthiacadieux,1,ActivationKey,name = cinthia.cadieux@megacorp.com,"view_activation_keys",Mega Corporation,
16
16
  coraleeculbert,1,ActivationKey,name = coralee.culbert@megacorp.com,"view_activation_keys",Mega Corporation,
17
17
  damondials,1,ActivationKey,name = damon.dials@megacorp.com,"view_activation_keys",Mega Corporation,
18
- damondials,1,Organization,"name = ""Mega Corporation""","view_organizations",,
19
18
  danaedrayer,1,ActivationKey,name = danae.drayer@megacorp.com,"view_activation_keys",Mega Corporation,
20
19
  danettedewitt,1,ActivationKey,name = danette.dewitt@megacorp.com,"view_activation_keys",Mega Corporation,
21
20
  danilodilbeck,1,ActivationKey,name = danilo.dilbeck@megacorp.com,"view_activation_keys",Mega Corporation,
@@ -6,7 +6,6 @@ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 S
6
6
  Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (RPMs),x86_64,6.3
7
7
  Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (RPMs),x86_64,6.4
8
8
  Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (RPMs),x86_64,6.5
9
- Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (Kickstart),x86_64,6Server
10
9
  Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (Kickstart),x86_64,6.1
11
10
  Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (Kickstart),x86_64,6.2
12
11
  Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 Server (Kickstart),x86_64,6.3
@@ -15,5 +14,4 @@ Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 6 S
15
14
  Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 7 Server (RPMs),x86_64,7Server
16
15
  Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 7 Server (RPMs),x86_64,7.0
17
16
  Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 7 Server (Kickstart),x86_64,7.0
18
- Red Hat Enterprise Linux Server,1,Mega Corporation,,Red Hat Enterprise Linux 7 Server (Kickstart),x86_64,7Server
19
17
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hammer_cli_csv
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom McKay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-04 00:00:00.000000000 Z
11
+ date: 2015-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hammer_cli_katello
@@ -60,6 +60,8 @@ executables: []
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
+ - config/cli_config.yml
64
+ - config/csv.yml
63
65
  - lib/hammer_cli_csv.rb
64
66
  - lib/hammer_cli_csv/activation_keys.rb
65
67
  - lib/hammer_cli_csv/architectures.rb
@@ -92,8 +94,10 @@ files:
92
94
  - lib/hammer_cli_csv/reports.rb
93
95
  - lib/hammer_cli_csv/roles.rb
94
96
  - lib/hammer_cli_csv/smart_proxies.rb
97
+ - lib/hammer_cli_csv/splice.rb
95
98
  - lib/hammer_cli_csv/subnets.rb
96
99
  - lib/hammer_cli_csv/subscriptions.rb
100
+ - lib/hammer_cli_csv/sync_plans.rb
97
101
  - lib/hammer_cli_csv/users.rb
98
102
  - lib/hammer_cli_csv/version.rb
99
103
  - test/activation_keys_test.rb