vmcu 0.3.19 → 0.3.20

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,160 +1,160 @@
1
- # VMCU
2
-
3
- The VMware Cloud CLI. This is the command line interface to VMware's Application Platform
4
-
5
- _Copyright 2010-2011, VMware, Inc. Licensed under the
6
- MIT license, please see the LICENSE file. All rights reserved._
7
- _Copyright (c) 2011 Uhuru Software, Inc., All Rights Reserved_
8
-
9
- Usage: vmcu [options] command [<args>] [command_options]
10
- Try 'vmcu help [command]' or 'vmcu help options' for more information.
11
-
12
- Currently available vmcu commands are:
13
-
14
- Getting Started
15
- target [url] Reports current target or sets a new target
16
- login [email] [--email, --passwd] Login
17
- login [token] [--token UHURU_TOKEN] Login for Uhuru AppCloud
18
- cloud-team [name or id] [--realm REALM] Set cloud team for UhuruApp Cloud. Sys admins can proxy realms.
19
- import-uhuru Import targets from Uhuru Cloud Foundry Manager
20
- info System and account information
21
-
22
- Applications
23
- apps List deployed applications
24
-
25
- Application Creation
26
- push [appname] Create, push, map, and start a new application
27
- push [appname] --path Push application from specified path
28
- push [appname] --url Set the url for the application
29
- push [appname] --instances <N> Set the expected number <N> of instances
30
- push [appname] --mem M Set the memory reservation for the application
31
- push [appname] --no-start Do not auto-start the application
32
-
33
- Application Operations
34
- start <appname> Start the application
35
- stop <appname> Stop the application
36
- restart <appname> Restart the application
37
- delete <appname> Delete the application
38
-
39
- Application Updates
40
- update <appname> [--path] Update the application bits
41
- mem <appname> [memsize] Update the memory reservation for an application
42
- map <appname> <url> Register the application to the url
43
- unmap <appname> <url> Unregister the application from the url
44
- instances <appname> <num|delta> Scale the application instances up or down
45
-
46
- Application Information
47
- crashes <appname> List recent application crashes
48
- crashlogs <appname> Display log information for crashed applications
49
- logs <appname> [--all] Display log information for the application
50
- files <appname> [path] [--all] Display directory listing or file download for path
51
- stats <appname> Display resource usage for the application
52
- instances <appname> List application instances
53
-
54
- Application Environment
55
- env <appname> List application environment variables
56
- env-add <appname> <variable[=]value> Add an environment variable to an application
57
- env-del <appname> <variable> Delete an environment variable to an application
58
-
59
- Services
60
- services Lists of services available and provisioned
61
- create-service <service> [--name,--bind] Create a provisioned service
62
- create-service <service> <name> Create a provisioned service and assign it <name>
63
- create-service <service> <name> <app> Create a provisioned service and assign it <name>, and bind to <app>
64
- delete-service [servicename] Delete a provisioned service
65
- bind-service <servicename> <appname> Bind a service to an application
66
- unbind-service <servicename> <appname> Unbind service from the application
67
- clone-services <src-app> <dest-app> Clone service bindings from <src-app> application to <dest-app>
68
- tunnel <servicename> [--port] Create a local tunnel to a service
69
- tunnel <servicename> <clientcmd> Create a local tunnel to a service and start a local client
70
-
71
- Administration
72
- user Display user account information
73
- passwd Change the password for the current user
74
- logout Logs current user out of the target system
75
- add-user [--email, --passwd] Register a new user (requires admin privileges)
76
- delete-user <user> Delete a user and all apps and services (requires admin privileges)
77
-
78
- System
79
- runtimes Display the supported runtimes of the target system
80
- frameworks Display the recognized frameworks of the target system
81
-
82
- Micro Cloud Foundry
83
- micro status Display Micro Cloud Foundry VM status
84
- mciro offline Configure Micro Cloud Foundry VM for offline mode
85
- micro online Configure Micro Cloud Foundry VM for online mode
86
- [--vmx file] Path to micro.vmx
87
- [--vmrun executable] Path to vmrun executable
88
- [--password cleartext] Cleartext password for guest VM vcap user
89
- [--save] Save cleartext password in ~/.vmc_micro
90
-
91
- Misc
92
- aliases List aliases
93
- alias <alias[=]command> Create an alias for a command
94
- unalias <alias> Remove an alias
95
- targets List known targets and associated authorization tokens
96
-
97
- Help
98
- help [command] Get general help or help on a specific command
99
- help options Get help on available options
100
-
101
- ## Simple Story (for Ruby apps)
102
-
103
- vmcu target api.cloudfoundry.com
104
- vmcu login
105
- bundle package
106
- vmcu push
107
-
108
- ## Uhuru example
109
-
110
- # To build the gem and install it from source:
111
- > git clone git://github.com/UhuruSoftware/vmcu.git # Or just download the source from GitHub
112
- > cd vmcu
113
- > gem build vmcu.gemspec
114
- > gem install vmcu-*.*.*.gem # Replace * with current version
115
-
116
- # target to Uhuru AppCloud with the usual target command. It will automatically detect if it is a Uhuru AppCloud
117
- # syntax: vmcu target
118
- > vmcu target-uhuru 192.168.1.10
119
-
120
- # Log to Uhuru AppCloud with the login command. Both a normal Uhuru AppCloud authentication token or a One Time Token
121
- # are valid options
122
- # syntax: login [token] [--token UHURU_TOKEN]
123
- > vmcu login rabbit-bear
124
-
125
- # Target to a cloud team. If the cloud team is not beforehand, available cloud teams are presented.
126
- # syntax: cloud-team [name or id] [--realm REALM] Set cloud team for Uhuru App Cloud. Sys admins can proxy realms.
127
- > vmcu cloud-team
128
- 1: G0003 [Id: 09d8b20e-daf5-489f-8502-e4c886bc9ec6]
129
- Which cloud team would you like to target to?:
130
- > 1
131
- Targeted to Uhuru AppCloud: [http://services.uhurucloud.com]
132
- Cloud Team: [09d8b20e-daf5-489f-8502-e4c886bc9ec6]
133
- Cloud Foundry domain: [uhurucloud.com]
134
-
135
- # do some work
136
- > vmcu apps
137
-
138
- # target to a regular Cloud Foundry target
139
- > vmcu target api.uhurucloud.net
140
- > vmcu login
141
-
142
- # do some work
143
- > vmcu apps
144
-
145
- # target back to the saved Uhuru AppCloud
146
- > vmcu target 192.168.1.10
147
- > vmcu apps
148
-
149
- # import target from Uhuru Cloud Foundry Manager
150
- > vmcu import-uhuru
151
- 1: Cloud Foundry [http://api.sstest.cloudfoundry.me] / stefan.schneider@uhurusoftware.com
152
- 2: Cloud Foundry [http://api.uhurucloud.net] / dev@uhurucloud.org
153
- 3: Uhuru AppCloud [http://www.uhurusts.com/] / BillingAccount5cb1a91539a5472787d289e9bd9493f6 / test / test
154
- 4: Uhuru AppCloud [http://192.168.1.10/] / BillingAccount5cb1a91539a5472787d289e9bd9493f6 / test / test
155
- Which target to import?:
156
- > 2
157
- Targeted to Cloud Foundry [http://api.uhurucloud.net] / dev@uhurucloud.org
158
-
159
- # do some work
160
- > vmcu apps
1
+ # VMCU
2
+
3
+ The VMware Cloud CLI. This is the command line interface to VMware's Application Platform
4
+
5
+ _Copyright 2010-2011, VMware, Inc. Licensed under the
6
+ MIT license, please see the LICENSE file. All rights reserved._
7
+ _Copyright (c) 2011 Uhuru Software, Inc., All Rights Reserved_
8
+
9
+ Usage: vmcu [options] command [<args>] [command_options]
10
+ Try 'vmcu help [command]' or 'vmcu help options' for more information.
11
+
12
+ Currently available vmcu commands are:
13
+
14
+ Getting Started
15
+ target [url] Reports current target or sets a new target
16
+ login [email] [--email, --passwd] Login
17
+ login [token] [--token UHURU_TOKEN] Login for Uhuru AppCloud
18
+ cloud-team [name or id] [--realm REALM] Set cloud team for UhuruApp Cloud. Sys admins can proxy realms.
19
+ import-uhuru Import targets from Uhuru Cloud Foundry Manager
20
+ info System and account information
21
+
22
+ Applications
23
+ apps List deployed applications
24
+
25
+ Application Creation
26
+ push [appname] Create, push, map, and start a new application
27
+ push [appname] --path Push application from specified path
28
+ push [appname] --url Set the url for the application
29
+ push [appname] --instances <N> Set the expected number <N> of instances
30
+ push [appname] --mem M Set the memory reservation for the application
31
+ push [appname] --no-start Do not auto-start the application
32
+
33
+ Application Operations
34
+ start <appname> Start the application
35
+ stop <appname> Stop the application
36
+ restart <appname> Restart the application
37
+ delete <appname> Delete the application
38
+
39
+ Application Updates
40
+ update <appname> [--path] Update the application bits
41
+ mem <appname> [memsize] Update the memory reservation for an application
42
+ map <appname> <url> Register the application to the url
43
+ unmap <appname> <url> Unregister the application from the url
44
+ instances <appname> <num|delta> Scale the application instances up or down
45
+
46
+ Application Information
47
+ crashes <appname> List recent application crashes
48
+ crashlogs <appname> Display log information for crashed applications
49
+ logs <appname> [--all] Display log information for the application
50
+ files <appname> [path] [--all] Display directory listing or file download for path
51
+ stats <appname> Display resource usage for the application
52
+ instances <appname> List application instances
53
+
54
+ Application Environment
55
+ env <appname> List application environment variables
56
+ env-add <appname> <variable[=]value> Add an environment variable to an application
57
+ env-del <appname> <variable> Delete an environment variable to an application
58
+
59
+ Services
60
+ services Lists of services available and provisioned
61
+ create-service <service> [--name,--bind] Create a provisioned service
62
+ create-service <service> <name> Create a provisioned service and assign it <name>
63
+ create-service <service> <name> <app> Create a provisioned service and assign it <name>, and bind to <app>
64
+ delete-service [servicename] Delete a provisioned service
65
+ bind-service <servicename> <appname> Bind a service to an application
66
+ unbind-service <servicename> <appname> Unbind service from the application
67
+ clone-services <src-app> <dest-app> Clone service bindings from <src-app> application to <dest-app>
68
+ tunnel <servicename> [--port] Create a local tunnel to a service
69
+ tunnel <servicename> <clientcmd> Create a local tunnel to a service and start a local client
70
+
71
+ Administration
72
+ user Display user account information
73
+ passwd Change the password for the current user
74
+ logout Logs current user out of the target system
75
+ add-user [--email, --passwd] Register a new user (requires admin privileges)
76
+ delete-user <user> Delete a user and all apps and services (requires admin privileges)
77
+
78
+ System
79
+ runtimes Display the supported runtimes of the target system
80
+ frameworks Display the recognized frameworks of the target system
81
+
82
+ Micro Cloud Foundry
83
+ micro status Display Micro Cloud Foundry VM status
84
+ mciro offline Configure Micro Cloud Foundry VM for offline mode
85
+ micro online Configure Micro Cloud Foundry VM for online mode
86
+ [--vmx file] Path to micro.vmx
87
+ [--vmrun executable] Path to vmrun executable
88
+ [--password cleartext] Cleartext password for guest VM vcap user
89
+ [--save] Save cleartext password in ~/.vmc_micro
90
+
91
+ Misc
92
+ aliases List aliases
93
+ alias <alias[=]command> Create an alias for a command
94
+ unalias <alias> Remove an alias
95
+ targets List known targets and associated authorization tokens
96
+
97
+ Help
98
+ help [command] Get general help or help on a specific command
99
+ help options Get help on available options
100
+
101
+ ## Simple Story (for Ruby apps)
102
+
103
+ vmcu target api.cloudfoundry.com
104
+ vmcu login
105
+ bundle package
106
+ vmcu push
107
+
108
+ ## Uhuru example
109
+
110
+ # To build the gem and install it from source:
111
+ > git clone git://github.com/UhuruSoftware/vmcu.git # Or just download the source from GitHub
112
+ > cd vmcu
113
+ > gem build vmcu.gemspec
114
+ > gem install vmcu-*.*.*.gem # Replace * with current version
115
+
116
+ # target to Uhuru AppCloud with the usual target command. It will automatically detect if it is a Uhuru AppCloud
117
+ # syntax: vmcu target
118
+ > vmcu target-uhuru 192.168.1.10
119
+
120
+ # Log to Uhuru AppCloud with the login command. Both a normal Uhuru AppCloud authentication token or a One Time Token
121
+ # are valid options
122
+ # syntax: login [token] [--token UHURU_TOKEN]
123
+ > vmcu login rabbit-bear
124
+
125
+ # Target to a cloud team. If the cloud team is not beforehand, available cloud teams are presented.
126
+ # syntax: cloud-team [name or id] [--realm REALM] Set cloud team for Uhuru App Cloud. Sys admins can proxy realms.
127
+ > vmcu cloud-team
128
+ 1: G0003 [Id: 09d8b20e-daf5-489f-8502-e4c886bc9ec6]
129
+ Which cloud team would you like to target to?:
130
+ > 1
131
+ Targeted to Uhuru AppCloud: [http://services.uhurucloud.com]
132
+ Cloud Team: [09d8b20e-daf5-489f-8502-e4c886bc9ec6]
133
+ Cloud Foundry domain: [uhurucloud.com]
134
+
135
+ # do some work
136
+ > vmcu apps
137
+
138
+ # target to a regular Cloud Foundry target
139
+ > vmcu target api.uhurucloud.net
140
+ > vmcu login
141
+
142
+ # do some work
143
+ > vmcu apps
144
+
145
+ # target back to the saved Uhuru AppCloud
146
+ > vmcu target 192.168.1.10
147
+ > vmcu apps
148
+
149
+ # import target from Uhuru Cloud Foundry Manager
150
+ > vmcu import-uhuru
151
+ 1: Cloud Foundry [http://api.sstest.cloudfoundry.me] / stefan.schneider@uhurusoftware.com
152
+ 2: Cloud Foundry [http://api.uhurucloud.net] / dev@uhurucloud.org
153
+ 3: Uhuru AppCloud [http://www.uhurusts.com/] / BillingAccount5cb1a91539a5472787d289e9bd9493f6 / test / test
154
+ 4: Uhuru AppCloud [http://192.168.1.10/] / BillingAccount5cb1a91539a5472787d289e9bd9493f6 / test / test
155
+ Which target to import?:
156
+ > 2
157
+ Targeted to Cloud Foundry [http://api.uhurucloud.net] / dev@uhurucloud.org
158
+
159
+ # do some work
160
+ > vmcu apps
@@ -1,80 +1,80 @@
1
- module VMC::Cli::Command
2
-
3
- class Admin < Base
4
-
5
- def list_users
6
- users = client.users
7
- users.sort! {|a, b| a[:email] <=> b[:email] }
8
- return display JSON.pretty_generate(users || []) if @options[:json]
9
-
10
- display "\n"
11
- return display "No Users" if users.nil? || users.empty?
12
-
13
- users_table = table do |t|
14
- t.headings = 'Email', 'Admin', 'Apps'
15
- users.each do |user|
16
- t << [user[:email], user[:admin], user[:apps].map {|x| x[:name]}.join(', ')]
17
- end
18
- end
19
- display users_table
20
- end
21
-
22
- alias :users :list_users
23
-
24
- def add_user(email=nil)
25
- email ||= @options[:email]
26
- email ||= ask("Email") unless no_prompt
27
- password = @options[:password]
28
- unless no_prompt || password
29
- password = ask("Password", :echo => "*")
30
- password2 = ask("Verify Password", :echo => "*")
31
- err "Passwords did not match, try again" if password != password2
32
- end
33
- err "Need a valid email" unless email
34
- err "Need a password" unless password
35
- display 'Creating New User: ', false
36
- client.add_user(email, password)
37
- display 'OK'.green
38
-
39
- # if we are not logged in for the current target, log in as the new user
40
- return unless VMC::Cli::Config.auth_token.nil?
41
- @options[:password] = password
42
- cmd = User.new(@options)
43
- cmd.login(email)
44
- end
45
-
46
- def delete_user(user_email)
47
- # Check to make sure all apps and services are deleted before deleting the user
48
- # implicit proxying
49
-
50
- client.proxy_for(user_email)
51
- @options[:proxy] = user_email
52
- apps = client.apps
53
-
54
- if (apps && !apps.empty?)
55
- unless no_prompt
56
- proceed = ask(
57
- "\nDeployed applications and associated services will be DELETED, continue?",
58
- :default => false
59
- )
60
- err "Aborted" unless proceed
61
- end
62
- cmd = Apps.new(@options.merge({ :force => true }))
63
- apps.each { |app| cmd.delete(app[:name]) }
64
- end
65
-
66
- services = client.services
67
- if (services && !services.empty?)
68
- cmd = Services.new(@options)
69
- services.each { |s| cmd.delete_service(s[:name])}
70
- end
71
-
72
- display 'Deleting User: ', false
73
- client.proxy = nil
74
- client.delete_user(user_email)
75
- display 'OK'.green
76
- end
77
-
78
- end
79
-
80
- end
1
+ module VMC::Cli::Command
2
+
3
+ class Admin < Base
4
+
5
+ def list_users
6
+ users = client.users
7
+ users.sort! {|a, b| a[:email] <=> b[:email] }
8
+ return display JSON.pretty_generate(users || []) if @options[:json]
9
+
10
+ display "\n"
11
+ return display "No Users" if users.nil? || users.empty?
12
+
13
+ users_table = table do |t|
14
+ t.headings = 'Email', 'Admin', 'Apps'
15
+ users.each do |user|
16
+ t << [user[:email], user[:admin], user[:apps].map {|x| x[:name]}.join(', ')]
17
+ end
18
+ end
19
+ display users_table
20
+ end
21
+
22
+ alias :users :list_users
23
+
24
+ def add_user(email=nil)
25
+ email ||= @options[:email]
26
+ email ||= ask("Email") unless no_prompt
27
+ password = @options[:password]
28
+ unless no_prompt || password
29
+ password = ask("Password", :echo => "*")
30
+ password2 = ask("Verify Password", :echo => "*")
31
+ err "Passwords did not match, try again" if password != password2
32
+ end
33
+ err "Need a valid email" unless email
34
+ err "Need a password" unless password
35
+ display 'Creating New User: ', false
36
+ client.add_user(email, password)
37
+ display 'OK'.green
38
+
39
+ # if we are not logged in for the current target, log in as the new user
40
+ return unless VMC::Cli::Config.auth_token.nil?
41
+ @options[:password] = password
42
+ cmd = User.new(@options)
43
+ cmd.login(email)
44
+ end
45
+
46
+ def delete_user(user_email)
47
+ # Check to make sure all apps and services are deleted before deleting the user
48
+ # implicit proxying
49
+
50
+ client.proxy_for(user_email)
51
+ @options[:proxy] = user_email
52
+ apps = client.apps
53
+
54
+ if (apps && !apps.empty?)
55
+ unless no_prompt
56
+ proceed = ask(
57
+ "\nDeployed applications and associated services will be DELETED, continue?",
58
+ :default => false
59
+ )
60
+ err "Aborted" unless proceed
61
+ end
62
+ cmd = Apps.new(@options.merge({ :force => true }))
63
+ apps.each { |app| cmd.delete(app[:name]) }
64
+ end
65
+
66
+ services = client.services
67
+ if (services && !services.empty?)
68
+ cmd = Services.new(@options)
69
+ services.each { |s| cmd.delete_service(s[:name])}
70
+ end
71
+
72
+ display 'Deleting User: ', false
73
+ client.proxy = nil
74
+ client.delete_user(user_email)
75
+ display 'OK'.green
76
+ end
77
+
78
+ end
79
+
80
+ end
@@ -58,11 +58,17 @@ module VMC::Cli
58
58
  end
59
59
 
60
60
  def store_target(target_host)
61
+ target_host = "http://#{target_host}" unless /^https?/ =~ target_host
62
+ target_host = target_host.gsub(/\/+$/, '')
63
+
61
64
  target_file = File.expand_path(TARGET_FILE)
62
65
  lock_and_write(target_file, target_host)
63
66
  end
64
67
 
65
68
  def store_uhuru_target(host, uhuru_target)
69
+ host = "http://#{host}" unless /^https?/ =~ host
70
+ host = host.gsub(/\/+$/, '')
71
+
66
72
  uhuru_target_urls = all_uhuru_targets || {}
67
73
  uhuru_target_urls[host.to_sym] = uhuru_target
68
74
  uhuru_target_file = File.expand_path(UHURU_TARGET_FILE)
@@ -1,118 +1,118 @@
1
- class VMC::Cli::Runner
2
-
3
- def basic_usage
4
- "Usage: vmcu [options] command [<args>] [command_options]\n" +
5
- "Try 'vmcu help [command]' or 'vmcu help options' for more information."
6
- end
7
-
8
- def display_usage
9
- if @usage
10
- say @usage_error if @usage_error
11
- say "Usage: #{@usage}"
12
- return
13
- elsif @verb_usage
14
- say @verb_usage
15
- return
16
- end
17
- say command_usage
18
- end
19
-
20
- def command_usage
21
- <<-USAGE
22
-
23
- #{basic_usage}
24
-
25
- Currently available vmcu commands are:
26
-
27
- Getting Started
28
- target [url] Reports current target or sets a new target
29
- login [email] [--email, --passwd] Login
30
- login [token] [--token UHURU_TOKEN] Login for Uhuru AppCloud
31
- cloud-team [name or id] [--realm REALM] Set cloud team for Uhuru AppCloud. Sys admins can proxy realms
32
- import-uhuru Import targets from Uhuru Cloud Foundry Manager
33
- info System and account information
34
-
35
- Applications
36
- apps List deployed applications
37
-
38
- Application Creation
39
- push [appname] Create, push, map, and start a new application
40
- push [appname] --path Push application from specified path
41
- push [appname] --url Set the url for the application
42
- push [appname] --instances <N> Set the expected number <N> of instances
43
- push [appname] --mem M Set the memory reservation for the application
44
- push [appname] --runtime RUNTIME Set the runtime to use for the application
45
- push [appname] --debug [MODE] Push application and start in a debug mode
46
- push [appname] --no-start Do not auto-start the application
47
-
48
- Application Operations
49
- start <appname> [--debug [MODE]] Start the application
50
- stop <appname> Stop the application
51
- restart <appname> [--debug [MODE]] Restart the application
52
- delete <appname> Delete the application
53
-
54
- Application Updates
55
- update <appname> [--path,--debug [MODE]] Update the application bits
56
- mem <appname> [memsize] Update the memory reservation for an application
57
- map <appname> <url> Register the application to the url
58
- unmap <appname> <url> Unregister the application from the url
59
- instances <appname> <num|delta> Scale the application instances up or down
60
-
61
- Application Information
62
- crashes <appname> List recent application crashes
63
- crashlogs <appname> Display log information for crashed applications
64
- logs <appname> [--all] Display log information for the application
65
- files <appname> [path] [--all] Display directory listing or file download for [path]
66
- stats <appname> Display resource usage for the application
67
- instances <appname> List application instances
68
-
69
- Application Environment
70
- env <appname> List application environment variables
71
- env-add <appname> <variable[=]value> Add an environment variable to an application
72
- env-del <appname> <variable> Delete an environment variable to an application
73
-
74
- Services
75
- services Lists of services available and provisioned
76
- create-service <service> [--name,--bind] Create a provisioned service
77
- create-service <service> <name> Create a provisioned service and assign it <name>
78
- create-service <service> <name> <app> Create a provisioned service and assign it <name>, and bind to <app>
79
- delete-service [servicename] Delete a provisioned service
80
- bind-service <servicename> <appname> Bind a service to an application
81
- unbind-service <servicename> <appname> Unbind service from the application
82
- clone-services <src-app> <dest-app> Clone service bindings from <src-app> application to <dest-app>
83
- tunnel <servicename> [--port] Create a local tunnel to a service
84
- tunnel <servicename> <clientcmd> Create a local tunnel to a service and start a local client
85
-
86
- Administration
87
- user Display user account information
88
- passwd Change the password for the current user
89
- logout Logs current user out of the target system
90
- add-user [--email, --passwd] Register a new user (requires admin privileges)
91
- delete-user <user> Delete a user and all apps and services (requires admin privileges)
92
-
93
- System
94
- runtimes Display the supported runtimes of the target system
95
- frameworks Display the recognized frameworks of the target system
96
-
97
- Micro Cloud Foundry
98
- micro status Display Micro Cloud Foundry VM status
99
- micro offline Configure Micro Cloud Foundry VM for offline mode
100
- micro online Configure Micro Cloud Foundry VM for online mode
101
- [--vmx file] Path to micro.vmx
102
- [--vmrun executable] Path to vmrun executable
103
- [--password cleartext] Cleartext password for guest VM vcap user
104
- [--save] Save cleartext password in ~/.vmc_micro
105
-
106
- Misc
107
- aliases List aliases
108
- alias <alias[=]command> Create an alias for a command
109
- unalias <alias> Remove an alias
110
- targets List known targets and associated authorization tokens
111
-
112
- Help
113
- help [command] Get general help or help on a specific command
114
- help options Get help on available options
115
- USAGE
116
-
117
- end
118
- end
1
+ class VMC::Cli::Runner
2
+
3
+ def basic_usage
4
+ "Usage: vmcu [options] command [<args>] [command_options]\n" +
5
+ "Try 'vmcu help [command]' or 'vmcu help options' for more information."
6
+ end
7
+
8
+ def display_usage
9
+ if @usage
10
+ say @usage_error if @usage_error
11
+ say "Usage: #{@usage}"
12
+ return
13
+ elsif @verb_usage
14
+ say @verb_usage
15
+ return
16
+ end
17
+ say command_usage
18
+ end
19
+
20
+ def command_usage
21
+ <<-USAGE
22
+
23
+ #{basic_usage}
24
+
25
+ Currently available vmcu commands are:
26
+
27
+ Getting Started
28
+ target [url] Reports current target or sets a new target
29
+ login [email] [--email, --passwd] Login
30
+ login [token] [--token UHURU_TOKEN] Login for Uhuru AppCloud
31
+ cloud-team [name or id] [--realm REALM] Set cloud team for Uhuru AppCloud. Sys admins can proxy realms
32
+ import-uhuru Import targets from Uhuru Cloud Foundry Manager
33
+ info System and account information
34
+
35
+ Applications
36
+ apps List deployed applications
37
+
38
+ Application Creation
39
+ push [appname] Create, push, map, and start a new application
40
+ push [appname] --path Push application from specified path
41
+ push [appname] --url Set the url for the application
42
+ push [appname] --instances <N> Set the expected number <N> of instances
43
+ push [appname] --mem M Set the memory reservation for the application
44
+ push [appname] --runtime RUNTIME Set the runtime to use for the application
45
+ push [appname] --debug [MODE] Push application and start in a debug mode
46
+ push [appname] --no-start Do not auto-start the application
47
+
48
+ Application Operations
49
+ start <appname> [--debug [MODE]] Start the application
50
+ stop <appname> Stop the application
51
+ restart <appname> [--debug [MODE]] Restart the application
52
+ delete <appname> Delete the application
53
+
54
+ Application Updates
55
+ update <appname> [--path,--debug [MODE]] Update the application bits
56
+ mem <appname> [memsize] Update the memory reservation for an application
57
+ map <appname> <url> Register the application to the url
58
+ unmap <appname> <url> Unregister the application from the url
59
+ instances <appname> <num|delta> Scale the application instances up or down
60
+
61
+ Application Information
62
+ crashes <appname> List recent application crashes
63
+ crashlogs <appname> Display log information for crashed applications
64
+ logs <appname> [--all] Display log information for the application
65
+ files <appname> [path] [--all] Display directory listing or file download for [path]
66
+ stats <appname> Display resource usage for the application
67
+ instances <appname> List application instances
68
+
69
+ Application Environment
70
+ env <appname> List application environment variables
71
+ env-add <appname> <variable[=]value> Add an environment variable to an application
72
+ env-del <appname> <variable> Delete an environment variable to an application
73
+
74
+ Services
75
+ services Lists of services available and provisioned
76
+ create-service <service> [--name,--bind] Create a provisioned service
77
+ create-service <service> <name> Create a provisioned service and assign it <name>
78
+ create-service <service> <name> <app> Create a provisioned service and assign it <name>, and bind to <app>
79
+ delete-service [servicename] Delete a provisioned service
80
+ bind-service <servicename> <appname> Bind a service to an application
81
+ unbind-service <servicename> <appname> Unbind service from the application
82
+ clone-services <src-app> <dest-app> Clone service bindings from <src-app> application to <dest-app>
83
+ tunnel <servicename> [--port] Create a local tunnel to a service
84
+ tunnel <servicename> <clientcmd> Create a local tunnel to a service and start a local client
85
+
86
+ Administration
87
+ user Display user account information
88
+ passwd Change the password for the current user
89
+ logout Logs current user out of the target system
90
+ add-user [--email, --passwd] Register a new user (requires admin privileges)
91
+ delete-user <user> Delete a user and all apps and services (requires admin privileges)
92
+
93
+ System
94
+ runtimes Display the supported runtimes of the target system
95
+ frameworks Display the recognized frameworks of the target system
96
+
97
+ Micro Cloud Foundry
98
+ micro status Display Micro Cloud Foundry VM status
99
+ micro offline Configure Micro Cloud Foundry VM for offline mode
100
+ micro online Configure Micro Cloud Foundry VM for online mode
101
+ [--vmx file] Path to micro.vmx
102
+ [--vmrun executable] Path to vmrun executable
103
+ [--password cleartext] Cleartext password for guest VM vcap user
104
+ [--save] Save cleartext password in ~/.vmc_micro
105
+
106
+ Misc
107
+ aliases List aliases
108
+ alias <alias[=]command> Create an alias for a command
109
+ unalias <alias> Remove an alias
110
+ targets List known targets and associated authorization tokens
111
+
112
+ Help
113
+ help [command] Get general help or help on a specific command
114
+ help options Get help on available options
115
+ USAGE
116
+
117
+ end
118
+ end
@@ -2,6 +2,6 @@ module VMC
2
2
  module Cli
3
3
  # This version number is used as the RubyGem release version.
4
4
  # The internal VMC version number is VMC::VERSION.
5
- VERSION = '0.3.19'
5
+ VERSION = '0.3.20'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vmcu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.19
4
+ version: 0.3.20
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-25 00:00:00.000000000 Z
12
+ date: 2012-07-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json_pure