| 
									
										
										
										
											2015-08-25 20:27:46 -04:00
										 |  |  | /* | 
					
						
							| 
									
										
										
										
											2015-09-04 14:12:20 -04:00
										 |  |  |  * This Source Code Form is subject to the terms of the Mozilla Public | 
					
						
							|  |  |  |  * License, v. 2.0. If a copy of the MPL was not distributed with this | 
					
						
							|  |  |  |  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  |  * Copyright 2015 Joyent, Inc. | 
					
						
							| 
									
										
										
										
											2015-08-25 20:27:46 -04:00
										 |  |  |  * | 
					
						
							|  |  |  |  * `triton instance ...` | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var common = require('./common'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-26 17:21:27 -07:00
										 |  |  | function do_instance(subcmd, opts, args, cb) { | 
					
						
							| 
									
										
										
										
											2015-08-25 20:27:46 -04:00
										 |  |  |     if (opts.help) { | 
					
						
							| 
									
										
										
										
											2015-08-26 17:21:27 -07:00
										 |  |  |         return this.do_help('help', {}, [subcmd], cb); | 
					
						
							| 
									
										
										
										
											2015-08-25 20:27:46 -04:00
										 |  |  |     } else if (args.length !== 1) { | 
					
						
							| 
									
										
										
										
											2015-08-26 17:21:27 -07:00
										 |  |  |         return cb(new Error('invalid args: ' + args)); | 
					
						
							| 
									
										
										
										
											2015-08-25 20:27:46 -04:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-04 14:04:45 -04:00
										 |  |  |     this.tritonapi.getInstance(args[0], function (err, inst) { | 
					
						
							| 
									
										
										
										
											2015-08-25 20:27:46 -04:00
										 |  |  |         if (err) { | 
					
						
							| 
									
										
										
										
											2015-08-26 17:21:27 -07:00
										 |  |  |             return cb(err); | 
					
						
							| 
									
										
										
										
											2015-08-25 20:27:46 -04:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  |         if (opts.json) { | 
					
						
							| 
									
										
										
										
											2015-08-26 17:21:27 -07:00
										 |  |  |             console.log(JSON.stringify(inst)); | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  |         } else { | 
					
						
							| 
									
										
										
										
											2015-08-26 17:21:27 -07:00
										 |  |  |             console.log(JSON.stringify(inst, null, 4)); | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2015-08-26 17:21:27 -07:00
										 |  |  |         cb(); | 
					
						
							|  |  |  |     }); | 
					
						
							| 
									
										
										
										
											2015-08-25 20:27:46 -04:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | do_instance.options = [ | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         names: ['help', 'h'], | 
					
						
							|  |  |  |         type: 'bool', | 
					
						
							|  |  |  |         help: 'Show this help.' | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         names: ['json', 'j'], | 
					
						
							|  |  |  |         type: 'bool', | 
					
						
							|  |  |  |         help: 'JSON output.' | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | ]; | 
					
						
							|  |  |  | do_instance.help = ( | 
					
						
							| 
									
										
										
										
											2015-10-06 23:09:52 -07:00
										 |  |  |     /* BEGIN JSSTYLED */ | 
					
						
							|  |  |  |     'Get an instance.\n' | 
					
						
							| 
									
										
										
										
											2015-08-25 20:27:46 -04:00
										 |  |  |     + '\n' | 
					
						
							|  |  |  |     + 'Usage:\n' | 
					
						
							|  |  |  |     + '     {{name}} instance <alias|id>\n' | 
					
						
							|  |  |  |     + '\n' | 
					
						
							|  |  |  |     + '{{options}}' | 
					
						
							| 
									
										
										
										
											2015-10-06 23:09:52 -07:00
										 |  |  |     + '\n' | 
					
						
							|  |  |  |     + 'Note: Currently this dumps prettified JSON by default. That might change\n' | 
					
						
							|  |  |  |     + 'in the future. Use "-j" to explicitly get JSON output.\n' | 
					
						
							|  |  |  |     /* END JSSTYLED */ | 
					
						
							| 
									
										
										
										
											2015-08-25 20:27:46 -04:00
										 |  |  | ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | do_instance.aliases = ['inst']; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module.exports = do_instance; |