class HammerCLICsv::CsvCommand::SmartProxiesCommand
Constants
- LIFECYCLE_ENVIRONMENTS
- LOCATIONS
- ORGANIZATIONS
- URL
Public Instance Methods
create_smart_proxies_from_csv(line)
click to toggle source
# File lib/hammer_cli_csv/smart_proxies.rb, line 38 def create_smart_proxies_from_csv(line) count(line[COUNT]).times do |number| name = namify(line[NAME], number) id = @existing[line[URL]] if id.nil? print "Creating smart proxy '#{name}'..." if option_verbose? id = @api.resource(:smart_proxies).call(:create, { 'smart_proxy' => { 'name' => name, 'url' => line[URL] } })['id'] else print "Updating smart proxy '#{name}'..." if option_verbose? @api.resource(:smart_proxies).call(:update, { 'id' => id, 'smart_proxy' => { 'name' => name, 'url' => line[URL] } }) end # Update associated resources associate_organizations(id, line[ORGANIZATIONS], 'smart_proxy') associate_locations(id, line[LOCATIONS], 'smart_proxy') print "done\n" if option_verbose? end end
export(csv)
click to toggle source
# File lib/hammer_cli_csv/smart_proxies.rb, line 12 def export(csv) csv << [NAME, ORGANIZATIONS, LOCATIONS, URL, LIFECYCLE_ENVIRONMENTS] @api.resource(:smart_proxies).call(:index, { :per_page => 999999, :search => option_search })['results'].each do |smart_proxy| smart_proxy = @api.resource(:smart_proxies).call(:show, {'id' => smart_proxy['id']}) name = smart_proxy['name'] organizations = export_column(smart_proxy, 'organizations', 'name') locations = export_column(smart_proxy, 'locations', 'name') url = smart_proxy['url'] csv << [name, organizations, locations, url] end end
import()
click to toggle source
# File lib/hammer_cli_csv/smart_proxies.rb, line 27 def import @existing = {} @api.resource(:smart_proxies).call(:index, {:per_page => 999999})['results'].each do |smart_proxy| @existing[smart_proxy['url']] = smart_proxy['id'] if smart_proxy end thread_import do |line| create_smart_proxies_from_csv(line) end end