class Xapixctl::ConnectorCli
Public Instance Methods
import(spec_filename)
click to toggle source
# File lib/xapixctl/connector_cli.rb, line 16 def import(spec_filename) path = Pathname.new(spec_filename) unless path.file? && path.readable? warn "Cannot read #{path}, please check file exists and is readable" exit 1 end if options[:schema_import] say "uploading to update schema import '#{options[:schema_import]}': #{spec_filename}..." result = prj_connection.update_schema_import(options[:schema_import], spec_filename) say "updated #{result.dig('resource', 'kind')} #{result.dig('resource', 'id')}" else say "uploading as new import: #{spec_filename}..." result = prj_connection.add_schema_import(spec_filename) say "created #{result.dig('resource', 'kind')} #{result.dig('resource', 'id')}" end [['issues', 'import'], ['validation_issues', 'validation']].each do |key, name| issues = result.dig('schema_import', 'report', key) if issues.any? say "\n#{name} issues:" shell.indent { issues.each { |issue| say "- #{issue}" } } end end updated_resources = result.dig('schema_import', 'updated_resources') if updated_resources.any? say "\nconnectors:" shell.indent { updated_resources.each { |resource| say "- #{resource['kind']} #{resource['id']}" } } else say "\nno connectors created/updated." end end