class Xapixctl::Cli
Constants
- SUPPORTED_CONTEXTS
Public Instance Methods
api_resources()
click to toggle source
# File lib/xapixctl/cli.rb, line 162 def api_resources available_types = connection.available_resource_types.sort_by { |desc| desc['type'] }.filter { |desc| SUPPORTED_CONTEXTS.include?(desc['context']) } table = [['Type', 'Required Context', '']] table += available_types.map do |desc| [desc['type'], desc['context'], PhoenixClient.supported_type?(desc['type']) ? '' : '(unsupported, update CLI)'] end print_table table, indent: 1 end
apply()
click to toggle source
# File lib/xapixctl/cli.rb, line 90 def apply Util.resources_from_file(options[:file]) do |desc| say "applying #{desc['kind']} #{desc.dig('metadata', 'id')}" org_or_prj_connection.apply(desc) end end
delete(resource_type = nil, resource_id = nil)
click to toggle source
# File lib/xapixctl/cli.rb, line 114 def delete(resource_type = nil, resource_id = nil) if resource_type && resource_id org_or_prj_connection.delete(resource_type, resource_id) say "DELETED #{resource_type} #{resource_id}" elsif options[:file] Util.resources_from_file(options[:file]) do |desc| res_type = desc['kind'] res_id = desc.dig('metadata', 'id') delete(res_type, res_id) end else warn "need TYPE and ID or --file option" end end
export()
click to toggle source
# File lib/xapixctl/cli.rb, line 63 def export get('Project', prj_connection.project) prj_connection.resource_types_for_export.each { |type| get(type) } end
get(resource_type, resource_id = nil)
click to toggle source
# File lib/xapixctl/cli.rb, line 43 def get(resource_type, resource_id = nil) conn = org_or_prj_connection resource_ids = resource_id ? [resource_id] : conn.resource_ids(resource_type) resource_ids.each do |res_id| say conn.resource(resource_type, res_id, format: options[:format].to_sym) end end
logs(correlation_id)
click to toggle source
# File lib/xapixctl/cli.rb, line 154 def logs(correlation_id) result = prj_connection.logs(correlation_id) say result['logs'].to_yaml end
publish()
click to toggle source
# File lib/xapixctl/cli.rb, line 137 def publish prj_connection.publish do |res| res.on_success { |result| show_deployment_status(result) } res.on_error { |err, result| show_deployment_status(result); exit_with_api_error(err, result) } end end