a quick 'triton package ID'; make 'cloudapi' command hidden from help output
This commit is contained in:
		
							parent
							
								
									0987881887
								
							
						
					
					
						commit
						e01babc05e
					
				
							
								
								
									
										21
									
								
								etc/badger
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								etc/badger
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| 
 | ||||
|             [48;5;237m [48;5;237m [48;5;238m [48;5;237m [48;5;237m [48;5;237m [48;5;237m [48;5;237m [48;5;237m [48;5;238m [48;5;238m [48;5;238m [48;5;238m [48;5;238m [48;5;238m [48;5;238m [48;5;238m [48;5;237m [48;5;238m [48;5;237m [48;5;237m [48;5;238m [48;5;237m [48;5;237m [48;5;238m [48;5;237m [48;5;237m [48;5;238m [48;5;238m [48;5;240m [48;5;238m [48;5;238m [48;5;237m [48;5;237m [48;5;237m [48;5;237m [48;5;237m [48;5;238m [48;5;238m [48;5;237m [48;5;237m [48;5;238m [48;5;237m [48;5;237m [48;5;237m [48;5;238m [48;5;237m [48;5;237m [48;5;237m [48;5;238m [48;5;237m [48;5;237m [48;5;237m [48;5;237m [0m | ||||
|             [48;5;237m [48;5;238m [48;5;233m [48;5;237m [48;5;238m [48;5;238m [48;5;238m [48;5;238m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;240m [48;5;240m [48;5;238m [48;5;238m [48;5;240m [48;5;238m [48;5;238m [48;5;240m [48;5;237m [48;5;240m [48;5;238m [48;5;240m [48;5;237m [48;5;237m [48;5;240m [48;5;238m [48;5;238m [48;5;240m [48;5;240m [48;5;240m [48;5;240m [48;5;242m [48;5;242m [48;5;240m [48;5;242m [48;5;240m [48;5;244m [48;5;242m [48;5;242m [48;5;242m [48;5;240m [48;5;240m [0m | ||||
|             [48;5;237m [48;5;237m [48;5;237m [48;5;238m [48;5;238m [48;5;240m [48;5;248m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;248m [48;5;255m [48;5;255m [48;5;248m [48;5;255m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;244m [48;5;244m [48;5;242m [48;5;240m [48;5;238m [48;5;240m [48;5;240m [48;5;238m [48;5;240m [48;5;238m [48;5;240m [48;5;242m [48;5;244m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;244m [48;5;244m [48;5;248m [48;5;248m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;238m [48;5;244m [48;5;240m [48;5;240m [48;5;242m [0m | ||||
|             [48;5;237m [48;5;237m [48;5;238m [48;5;238m [48;5;248m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;255m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;244m [48;5;248m [48;5;244m [48;5;244m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;244m [48;5;244m [48;5;248m [48;5;240m [48;5;240m [48;5;238m [48;5;242m [0m | ||||
|             [48;5;240m [48;5;238m [48;5;240m [48;5;240m [48;5;248m [48;5;242m [48;5;240m [48;5;240m [48;5;242m [48;5;242m [48;5;240m [48;5;244m [48;5;244m [48;5;244m [48;5;242m [48;5;242m [48;5;240m [48;5;240m [48;5;238m [48;5;238m [48;5;237m [48;5;237m [48;5;234m [48;5;234m [48;5;237m [48;5;244m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;244m [48;5;248m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;248m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;242m [48;5;244m [48;5;242m [48;5;242m [48;5;242m [0m | ||||
|             [48;5;240m [48;5;240m [48;5;240m [48;5;238m [48;5;234m [48;5;234m [48;5;238m [48;5;238m [48;5;237m [48;5;244m [48;5;234m [48;5;237m [48;5;240m [48;5;242m [48;5;244m [48;5;242m [48;5;238m [48;5;237m [48;5;234m [48;5;234m [48;5;237m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;237m [48;5;242m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;244m [48;5;244m [48;5;240m [48;5;244m [48;5;244m [48;5;244m [48;5;248m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;242m [48;5;242m [48;5;248m [48;5;244m [48;5;242m [48;5;244m [48;5;240m [48;5;238m [48;5;242m [48;5;244m [48;5;240m [0m | ||||
|             [48;5;240m [48;5;242m [48;5;240m [48;5;240m [48;5;238m [48;5;237m [48;5;238m [48;5;237m [48;5;240m [48;5;242m [48;5;240m [48;5;240m [48;5;244m [48;5;248m [48;5;244m [48;5;242m [48;5;240m [48;5;240m [48;5;237m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;238m [48;5;244m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;242m [48;5;244m [48;5;244m [48;5;242m [48;5;244m [48;5;244m [48;5;242m [48;5;242m [48;5;242m [48;5;242m [48;5;242m [48;5;242m [48;5;242m [48;5;240m [0m | ||||
|             [48;5;238m [48;5;240m [48;5;240m [48;5;238m [48;5;237m [48;5;234m [48;5;234m [48;5;237m [48;5;234m [48;5;240m [48;5;240m [48;5;240m [48;5;233m [48;5;232m [48;5;237m [48;5;234m [48;5;233m [48;5;233m [48;5;237m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;244m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;244m [48;5;244m [48;5;244m [48;5;242m [48;5;242m [48;5;242m [48;5;242m [48;5;244m [48;5;240m [48;5;244m [48;5;240m [48;5;238m [48;5;238m [48;5;240m [48;5;237m [0m | ||||
|             [48;5;237m [48;5;238m [48;5;238m [48;5;240m [48;5;238m [48;5;237m [48;5;238m [48;5;238m [48;5;240m [48;5;238m [48;5;238m [48;5;238m [48;5;238m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;237m [48;5;237m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;238m [48;5;242m [48;5;244m [48;5;244m [48;5;248m [48;5;248m [48;5;248m [48;5;248m [48;5;244m [48;5;244m [48;5;242m [48;5;244m [48;5;242m [48;5;242m [48;5;244m [48;5;244m [48;5;242m [48;5;238m [48;5;238m [48;5;237m [48;5;238m [0m | ||||
|             [48;5;238m [48;5;240m [48;5;238m [48;5;238m [48;5;242m [48;5;238m [48;5;237m [48;5;234m [48;5;238m [48;5;238m [48;5;237m [48;5;240m [48;5;237m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [48;5;234m [48;5;242m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;237m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;238m [48;5;244m [48;5;248m [48;5;244m [48;5;240m [48;5;242m [48;5;242m [48;5;242m [48;5;238m [48;5;238m [48;5;238m [48;5;238m [48;5;238m [0m | ||||
|             [48;5;238m [48;5;238m [48;5;240m [48;5;242m [48;5;238m [48;5;238m [48;5;238m [48;5;234m [48;5;234m [48;5;234m [48;5;240m [48;5;240m [48;5;242m [48;5;248m [48;5;244m [48;5;248m [48;5;248m [48;5;238m [48;5;242m [48;5;248m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;244m [48;5;244m [48;5;244m [48;5;240m [48;5;242m [48;5;242m [48;5;240m [48;5;238m [48;5;240m [48;5;240m [0m | ||||
|             [48;5;240m [48;5;238m [48;5;244m [48;5;242m [48;5;237m [48;5;242m [48;5;238m [48;5;237m [48;5;234m [48;5;234m [48;5;233m [48;5;248m [48;5;248m [48;5;240m [48;5;244m [48;5;242m [48;5;238m [48;5;248m [48;5;237m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;237m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;240m [48;5;240m [48;5;238m [0m | ||||
|             [48;5;237m [48;5;244m [48;5;242m [48;5;242m [48;5;238m [48;5;238m [48;5;237m [48;5;238m [48;5;237m [48;5;237m [48;5;234m [48;5;234m [48;5;233m [48;5;244m [48;5;255m [48;5;255m [48;5;242m [48;5;233m [48;5;232m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;232m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;234m [48;5;238m [48;5;240m [48;5;242m [48;5;240m [48;5;242m [48;5;238m [48;5;238m [0m | ||||
|             [48;5;238m [48;5;244m [48;5;244m [48;5;242m [48;5;242m [48;5;237m [48;5;234m [48;5;237m [48;5;237m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;234m [48;5;237m [48;5;234m [48;5;237m [48;5;234m [48;5;234m [0m | ||||
|             [48;5;240m [48;5;242m [48;5;240m [48;5;248m [48;5;238m [48;5;237m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;232m [48;5;232m [48;5;232m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [0m | ||||
|             [48;5;244m [48;5;244m [48;5;244m [48;5;244m [48;5;237m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;232m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [0m | ||||
|             [48;5;244m [48;5;244m [48;5;244m [48;5;242m [48;5;237m [48;5;234m [48;5;233m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;232m [48;5;232m [48;5;233m [48;5;233m [48;5;232m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;232m [48;5;232m [0m | ||||
|             [48;5;242m [48;5;240m [48;5;238m [48;5;240m [48;5;234m [48;5;234m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;232m [48;5;232m [48;5;232m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;234m [48;5;233m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [0m | ||||
|             [48;5;240m [48;5;240m [48;5;240m [48;5;240m [48;5;234m [48;5;233m [48;5;234m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;232m [48;5;232m [48;5;232m [48;5;233m [48;5;233m [48;5;233m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [48;5;233m [48;5;237m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [48;5;233m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;233m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [48;5;232m [0m | ||||
| 
 | ||||
| @ -65,7 +65,9 @@ function CLI() { | ||||
|             { group: 'Images' }, | ||||
|             'images', | ||||
|             'image', | ||||
|             { group: 'Other', unmatched: true } | ||||
|             { group: 'Packages' }, | ||||
|             'packages', | ||||
|             'package' | ||||
|         ] | ||||
|     }); | ||||
| } | ||||
| @ -111,9 +113,11 @@ CLI.prototype.do_instance_audit = require('./do_instance_audit'); | ||||
| 
 | ||||
| // Packages
 | ||||
| CLI.prototype.do_packages = require('./do_packages'); | ||||
| CLI.prototype.do_package = require('./do_package'); | ||||
| 
 | ||||
| // Row Cloud API
 | ||||
| // Hidden commands
 | ||||
| CLI.prototype.do_cloudapi = require('./do_cloudapi'); | ||||
| CLI.prototype.do_badger = require('./do_badger'); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -303,7 +303,7 @@ CloudAPI.prototype.getImage = function getImage(options, callback) { | ||||
|         options = {}; | ||||
|     } | ||||
|     assert.object(options, 'options'); | ||||
|     assert.uuid(options.id, 'ID'); | ||||
|     assert.uuid(options.id, 'options.id'); | ||||
|     assert.func(callback, 'callback'); | ||||
| 
 | ||||
|     var endpoint = this._path(format('/%s/images/%s', this.user, options.id)); | ||||
| @ -313,6 +313,37 @@ CloudAPI.prototype.getImage = function getImage(options, callback) { | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| // ---- packages
 | ||||
| 
 | ||||
| CloudAPI.prototype.listPackages = function listPackages(options, callback) { | ||||
|     var self = this; | ||||
|     if (typeof (options) === 'function') { | ||||
|         callback = options; | ||||
|         options = {}; | ||||
|     } | ||||
| 
 | ||||
|     var endpoint = self._path(format('/%s/packages', self.user), options); | ||||
|     self._request(endpoint, function (err, req, res, body) { | ||||
|         callback(err, body, res); | ||||
|     }); | ||||
| }; | ||||
| 
 | ||||
| CloudAPI.prototype.getPackage = function getPackage(options, callback) { | ||||
|     if (callback === undefined) { | ||||
|         callback = options; | ||||
|         options = {}; | ||||
|     } | ||||
|     assert.object(options, 'options'); | ||||
|     assert.uuid(options.id, 'options.id'); | ||||
|     assert.func(callback, 'callback'); | ||||
| 
 | ||||
|     var endpoint = this._path(format('/%s/packages/%s', this.user, options.id)); | ||||
|     this._request(endpoint, function (err, req, res, body) { | ||||
|         callback(err, body, res); | ||||
|     }); | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| // ---- machines
 | ||||
| 
 | ||||
| /** | ||||
| @ -433,19 +464,6 @@ CloudAPI.prototype.listMachines = function listMachines(options, callback) { | ||||
|     ); | ||||
| }; | ||||
| 
 | ||||
| CloudAPI.prototype.listPackages = function listPackages(options, callback) { | ||||
|     var self = this; | ||||
|     if (typeof (options) === 'function') { | ||||
|         callback = options; | ||||
|         options = {}; | ||||
|     } | ||||
| 
 | ||||
|     var endpoint = self._path(format('/%s/packages', self.user), options); | ||||
|     self._request(endpoint, function (err, req, res, body) { | ||||
|         callback(err, body, res); | ||||
|     }); | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /** | ||||
|  * List machine audit (successful actions on the machine). | ||||
|  | ||||
							
								
								
									
										29
									
								
								lib/do_badger.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								lib/do_badger.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| /* | ||||
|  * Copyright (c) 2015 Joyent Inc. All rights reserved. | ||||
|  * | ||||
|  * `triton package ...` | ||||
|  */ | ||||
| 
 | ||||
| var fs = require('fs'); | ||||
| var once = require('once'); | ||||
| var path = require('path'); | ||||
| 
 | ||||
| 
 | ||||
| function do_badger(subcmd, opts, args, callback) { | ||||
|     var callbackOnce = once(callback); | ||||
|     var badger = path.resolve(__dirname, '../etc/badger'); | ||||
|     var input = fs.createReadStream(badger) | ||||
|     input.pipe(process.stdout); | ||||
|     input.on('error', function (err) { | ||||
|         callbackOnce(err); | ||||
|     }); | ||||
|     input.on('end', function () { | ||||
|         callbackOnce(); | ||||
|     }); | ||||
| }; | ||||
| 
 | ||||
| do_badger.options = []; | ||||
| do_badger.help = 'Rawr!'; | ||||
| do_badger.hidden = true; | ||||
| 
 | ||||
| module.exports = do_badger; | ||||
| @ -64,5 +64,7 @@ do_cloudapi.help = ( | ||||
|     + '{{options}}' | ||||
| ); | ||||
| 
 | ||||
| do_cloudapi.hidden = true; | ||||
| 
 | ||||
| 
 | ||||
| module.exports = do_cloudapi; | ||||
|  | ||||
| @ -5,7 +5,6 @@ | ||||
|  */ | ||||
| 
 | ||||
| var format = require('util').format; | ||||
| var tabula = require('tabula'); | ||||
| 
 | ||||
| var errors = require('./errors'); | ||||
| 
 | ||||
| @ -22,7 +21,7 @@ function do_image(subcmd, opts, args, callback) { | ||||
|     var getOpts = { | ||||
|         id: args[0] | ||||
|     }; | ||||
|     this.triton.cloudapi.getImage(getOpts, function onRes(err, img, res) { | ||||
|     this.triton.cloudapi.getImage(getOpts, function onRes(err, img) { | ||||
|         if (err) { | ||||
|             return callback(err); | ||||
|         } | ||||
|  | ||||
							
								
								
									
										64
									
								
								lib/do_package.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								lib/do_package.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,64 @@ | ||||
| /* | ||||
|  * Copyright (c) 2015 Joyent Inc. All rights reserved. | ||||
|  * | ||||
|  * `triton package ...` | ||||
|  */ | ||||
| 
 | ||||
| var format = require('util').format; | ||||
| 
 | ||||
| var errors = require('./errors'); | ||||
| 
 | ||||
| 
 | ||||
| function do_package(subcmd, opts, args, callback) { | ||||
|     if (opts.help) { | ||||
|         this.do_help('help', {}, [subcmd], callback); | ||||
|         return; | ||||
|     } else if (args.length !== 1) { | ||||
|         return callback(new errors.UsageError(format( | ||||
|             'incorrect number of args (%d): %s', args.length, args.join(' ')))); | ||||
|     } | ||||
| 
 | ||||
|     var getOpts = { | ||||
|         id: args[0] | ||||
|     }; | ||||
|     this.triton.cloudapi.getPackage(getOpts, function onRes(err, pkg) { | ||||
|         if (err) { | ||||
|             return callback(err); | ||||
|         } | ||||
| 
 | ||||
|         if (opts.json) { | ||||
|             console.log(JSON.stringify(pkg)); | ||||
|         } else { | ||||
|             console.log(JSON.stringify(pkg, null, 4)); | ||||
|         } | ||||
|         callback(); | ||||
|     }); | ||||
| }; | ||||
| 
 | ||||
| do_package.options = [ | ||||
|     { | ||||
|         names: ['help', 'h'], | ||||
|         type: 'bool', | ||||
|         help: 'Show this help.' | ||||
|     }, | ||||
|     { | ||||
|         names: ['json', 'j'], | ||||
|         type: 'bool', | ||||
|         help: 'JSON stream output.' | ||||
|     } | ||||
| ]; | ||||
| do_package.help = ( | ||||
|     /* BEGIN JSSTYLED */ | ||||
|     'Get a package.\n' + | ||||
|     '\n' + | ||||
|     'Note: Currently this dumps prettified JSON by default. That might change\n' + | ||||
|     'in the future. Use "-j" to explicitly get JSON output.\n' + | ||||
|     '\n' + | ||||
|     'Usage:\n' + | ||||
|     '    {{name}} package [<options>] ID\n' + | ||||
|     '\n' + | ||||
|     '{{options}}' | ||||
|     /* END JSSTYLED */ | ||||
| ); | ||||
| 
 | ||||
| module.exports = do_package; | ||||
| @ -8,7 +8,7 @@ | ||||
|     "assert-plus": "0.1.5", | ||||
|     "backoff": "2.4.1", | ||||
|     "bunyan": "1.4.0", | ||||
|     "cmdln": "3.2.1", | ||||
|     "cmdln": "3.2.2", | ||||
|     "dashdash": "1.10.0", | ||||
|     "extsprintf": "1.0.2", | ||||
|     "mkdirp": "0.5.1", | ||||
|  | ||||
		Reference in New Issue
	
	Block a user