From: marios <[email protected]> --- client/bin/deltacloudc | 33 ++++++++++++++++++++++++++++++--- 1 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/client/bin/deltacloudc b/client/bin/deltacloudc index 9408f90..1fe7874 100755 --- a/client/bin/deltacloudc +++ b/client/bin/deltacloudc @@ -38,6 +38,24 @@ deltacloudc collection operation [options] URL format: API_URL=http://[user]:[password]@[api_url][port][/uri] +Examples: + + 1. To list collections for deltacloud api on port 3333 of server deltacloud.foo + + deltacloudc -l -u http://user:[email protected]:3333/api + + 2. To list the operations for the 'images' collection: + + deltacloudc images -l -u http://user:[email protected]:3333/api + + 3. To list all images (i.e. call the 'index' operation of 'images'): + + deltacloudc images index -u http://user:[email protected]:3333/api + + 4. To get the details of image '5': + + deltacloudc images show -i 5 -u http://user:[email protected]:3333/api + Options: BANNER opts.on( '-i', '--id ID', 'ID for operation') { |id| options[:id] = id } @@ -48,21 +66,30 @@ BANNER opts.on( '-s', '--state STATE', 'Instance state (RUNNING, STOPPED)') { |state| options[:state] = state } opts.on( '-u', '--url URL', 'API url ($API_URL variable)') { |url| options[:api_url] = url } opts.on( '-l', '--list', 'List collections/operations') { |id| options[:list] = true } - opts.on( '-h', '--help', 'Display this screen' ) { puts opts ; exit } + opts.on( '-h', '--help', 'Display this screen' ) { puts @optparse; Kernel.exit! } opts.on( '-v', '--version', 'Display API version' ) { options[:version]=true } opts.on( '-V', '--verbose', 'Print verbose messages' ) { options[:verbose]=true } end def invalid_usage(error_msg='') - puts "ERROR: #{error_msg}" + puts "\n ERROR: #{error_msg} \n\n" + puts @optparse exit(1) end [email protected]! +begin + @optparse.parse! +rescue Exception => e + invalid_usage(e.message) +end # First try to get API_URL from environment options[:api_url] = ENV['API_URL'] if options[:api_url].nil? +if(options[:api_url].nil?) + invalid_usage("You must supply the url to the deltacloud api; either use '-u' flag or set the 'API_URL' environment variable") +end + url = URI.parse(options[:api_url]) api_url = "http://#{url.host}#{url.port ? ":#{url.port}" : ''}#{url.path}" -- 1.7.3.4
