Difference between revisions of "UnifiedCLI/Mapping"
(→Identity) |
(→domain) |
||
Line 878: | Line 878: | ||
− | + | ====group==== | |
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! OSC Command !! Implemented !! !! Nova command | ||
+ | |- | ||
+ | | | ||
<source lang="bash"> | <source lang="bash"> | ||
− | |||
− | |||
− | |||
− | |||
os create group | os create group | ||
− | + | [--domain <domain>] | |
− | + | [--description <group-description>] | |
− | + | <group-name> | |
+ | </source> | ||
+ | || yes | ||
+ | || || | ||
+ | <source lang="bash"> | ||
+ | keystone group-create | ||
+ | --name <group-name> | ||
+ | [--domain_id <domain-id>] | ||
+ | [--description <group-description>] | ||
</source> | </source> | ||
− | + | |- | |
− | + | | | |
+ | <source lang="bash"> | ||
+ | os delete group | ||
+ | <group> | ||
+ | </source> | ||
+ | || yes | ||
+ | || || | ||
<source lang="bash"> | <source lang="bash"> | ||
− | keystone group-delete <group-id | + | keystone group-delete |
− | + | <group-id> | |
− | |||
</source> | </source> | ||
− | + | |- | |
− | + | | | |
<source lang="bash"> | <source lang="bash"> | ||
− | + | os list group | |
− | + | [--long] | |
− | |||
</source> | </source> | ||
− | + | || yes | |
− | + | || || | |
<source lang="bash"> | <source lang="bash"> | ||
keystone group-list | keystone group-list | ||
− | |||
− | |||
</source> | </source> | ||
− | + | |- | |
− | + | | | |
+ | <source lang="bash"> | ||
+ | os set group | ||
+ | [--name <new-group-name>] | ||
+ | [--domain <domain>] | ||
+ | [--description <new-group-description>] | ||
+ | <group> | ||
+ | </source> | ||
+ | || yes | ||
+ | || || | ||
<source lang="bash"> | <source lang="bash"> | ||
keystone group-update | keystone group-update | ||
− | + | [--name <group_name>] | |
− | + | [--domain_id <domain-id>] | |
− | + | [--description <group-description>] | |
− | + | <group-id> | |
− | + | </source> | |
− | os | + | |- |
− | + | | | |
− | + | <source lang="bash"> | |
− | + | os show group | |
− | + | <group> | |
+ | </source> | ||
+ | || yes | ||
+ | || || | ||
+ | <source lang="bash"> | ||
+ | keystone group-get | ||
+ | <group-id> | ||
</source> | </source> | ||
− | |||
====policy==== | ====policy==== |
Revision as of 22:35, 6 March 2013
Contents
OpenStackClient Commands
Part of the UnifiedCLI proposal
[Note that the use of the word object here is its generic meaning as the target of an action.]
Command Structure
Verbs
The verbs used by the default OpenStack clients have been mapped to the set below that attempts to define a consistent meaning to each action. Many of them have logical opposite actions. Those verbs with an opposite action is noted in parens if applicable.
-
add
(remove
) - add an object to a container which itself is usually another object; the command is built in the order of "add object1 to object2" (<object1>-<object2>), the positional arguments also appear in that order -
attach
(detach
) - connect two objects (is this different from add/remove?) -
create
(delete
) - create a new occurrance of the specified object -
delete
(create
) - delete a specific occurrance of the specified object -
detach
(attach
) - disconnect two objects (is this different from add/remove?) -
list
- display summary information about multiple objects - lock (unlock)
-
migrate
- move a server to a different host;--live
performs a live migration if possible -
pause
(unpause
) - stop a server and leave it in memory -
reboot
- forcibly reboot a server -
rebuild
- rebuild a server using (most of) the same arguments as in the originalcreate
-
remove
(add
) - remove an object from a group of objects -
rescue
(unrescue
) - reboot a server in a special rescue mode allowing access to the original disks -
resize
- change a server's flavor -
resume
(suspend
) - return a suspended server to running state -
save
- download an object locally -
set
(unset
) - set an attribute of the object, often calledmetadata
-
show
- display detailed information about the specifiec object -
ssh
-
suspend
(resume
) - stop a server and save to disk freeing memory - unlock (lock)
-
unpause
(pause
) - return a paused server to running state -
unrescue
(rescue
) - return a server to normal boot mode -
unset
(set
) - remove an attribute of the object
Global Options
The common global options from the default OpenStack clients have been mapped to the set of global options below.
OSC Option | Environment Variable | Option | Environment Variable | |
---|---|---|---|---|
--version | --version | |||
--help | --help | |||
--debug | --debug | |||
--quiet | ||||
--verbose | ||||
--log-file <filename> | ||||
--os-auth-url <url> | OS_AUTH_URL | --os-auth-url <url> | OS_AUTH_URL | |
--os-tenant-name <name> | OS_TENANT_NAME | --os-tenant-name <name> | OS_TENANT_NAME | |
--os-tenant-id <id> | OS_TENANT_ID | --os-tenant-id <id> | OS_TENANT_ID | |
--os-username <name> | OS_USERNAME | --os-username <name> | OS_USERNAME | |
--os-password <pw> | OS_PASSWORD | --os-password <pw> | OS_PASSWORD | |
--os-region-name <region> | OS_REGION_NAME | --os-region-name <region> | OS_REGION_NAME | |
--os-cacert <file> | OS_CACERT | --os-cacert <file> | OS_CACERT | |
--insecure | ||||
--os-use-keyring |
Common Options
A number of options will appear in many commands and should have the same form in all commands to the extent possible.
Option | Description | Usual Default |
---|---|---|
--description | describes an object | none |
--enable | Used for setting the enabled state for an object | n/a |
--disable | Used for setting the enabled state for an object | n/a |
Command Mapping Summary
This is an example mapping of the existing commands from Keystone (Identity), Nova (Compute), Glance (Image) and Cinder (Volume) to the <verb> <object>
form for the OpenStackClient cli tool. It reduces both the number of verbs and objects by handling some of the smaller differences with command line options.
Further consolidation could be achieved by additional options or by introduction secondary objects to the syntax. For example, the credentials and x509-cert (and x509-root-cert) objects could be combined:
nova x509-create-cert [<pk-file>] [<x509-cert>] | os create credentials --x509 [<pk-file>] [<x509-cert>] |
nova credentials | os show credentials |
nova x509-get-root-cert | os show credentials --x509 --root |
Identity
OSC Option | Environment Variable | Keystone Option | Environment Variable | |
---|---|---|---|---|
--os-identity-api-version <ver> | OS_IDENTITY_API_VERSION | --os-identity-api-version <ver> | OS_IDENTITY_API_VERSION | |
--os-token <token> | OS_TOKEN | --os-token <token> | OS_SERVICE_TOKEN | |
--os-url <url> | OS_URL | --os-endpoint <url> | OS_SERVICE_ENDPOINT | |
--os-cert <file> | OS_CERT | |||
--os-key <key-file> | OS_KEY | |||
--os-cache | OS_CACHE | |||
--force-new-token | ||||
--stale-duration <seconds> |
API v2.0
catalog
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os show service
[--catalog <service-type>]
|
yes |
keystone catalog
[--service <service-type>]
|
ec2-credentials
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create ec2-credentials
--tenant_id <tenant-id>
[--user <user-id>]
|
no |
keystone ec2-credentials-create
[--user <user-id>]
[--tenant_id <tenant-id>]
## are both args really optional?
| |
os delete ec2-credentials
<access-key>
## what changes if --user is not provided?
|
no |
keystone ec2-credentials-delete
[--user <user-id>]
--access <access-key>
| |
os list ec2-credentials
[--user <user-id>]
|
no |
keystone ec2-credentials-list
[--user <user-id>]
| |
os show ec2-credentials
<access-key>
## what changes if --user is not provided?
|
no |
keystone ec2-credentials-get
[--user <user-id>]
--access <access-key>
|
endpoint
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create endpoint
[--region <endpoint-region>
[--publicurl <public-url>]
[--adminurl <admin-url>]
[--internalurl <internal-url>]
<service>
|
yes |
keystone endpoint-create
[--region <endpoint-region>]
[--service_id <service-id>]
[--publicurl <public-url>]
[--adminurl <admin-url>]
[--internalurl <internal-url>]
| |
os delete endpoint
<endpoint-id>
|
yes |
keystone endpoint-delete
<endpoint-id>
| |
os list endpoint
[--long]
|
yes |
keystone endpoint-list
| |
os show endpoint
[--type <endpoint-type>]
[--attr <endpoint-attribute>]
[--value <endpoint-value>]
[--all]
<service>
|
yes |
keystone endpoint-get
--service <service-type>
[--endpoint_type <endpoint-type>]
[--attr <service-attribute>]
[--value <value>]
|
role
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create role
<role-name>
|
yes |
keystone role-create --name
<role-name>
| |
os delete role
<role>
|
yes |
keystone role-delete
<role-id>
| |
os list role
|
yes |
keystone role-list
| |
os show role
<role>
|
yes |
keystone role-get
<role-id>
|
service
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create service
[--type <service-type>]
[--description <service-description>]
<service-name>
|
yes |
keystone service-create
--name <name>
--type <type>
[--description <service-description>]
| |
os delete service
<service>
|
yes |
keystone service-delete
<service-id>
| |
os list service [--long]
|
yes |
keystone service-list
| |
os show service
<service>
|
yes |
keystone service-get
<service-id>
|
tenant
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create tenant
[--description <tenant-description>]
[--enable | --disable]
<tenant-name>
|
yes |
keystone tenant-create
--name <tenant-name>
[--description <tenant-description>]
[--enabled <true|false>]
| |
os delete tenant
<tenant>
|
yes |
keystone tenant-delete
<tenant-id>
| |
os list tenant
[--long]
|
yes |
keystone tenant-list
| |
os set tenant
[--name <new-tenant-name>]
[--description <new-tenant-description>]
[--enable | --disable]
<tenant>
|
yes |
keystone tenant-update
[--name <tenant_name>]
[--description <tenant-description>]
[--enabled <true|false>]
<tenant-id>
| |
os show tenant
<tenant>
|
yes |
keystone tenant-get
<tenant-id>
|
token
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os show token
[--width <token-display-width>]
|
?? |
keystone token-get [--wrap <integer>]
|
user
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os create user
[--password <user-password>]
[--email <user-email>]
[--tenant <tenant>]
[--enable | --disable]
<user-name>
|
yes |
keystone user-create
--name <user-name>
[--tenant_id <tenant-id>]
[--pass <pass>]
[--email <email>]
[--enabled <true|false>]
| |
os delete user
<user>
|
yes |
keystone user-delete
<user-id>
| |
os list user
[--tenant <tenant>]
[--long]
|
yes |
keystone user-list
[<tenant-id>]
| |
os set user
[--name <new-user-name>]
[--password <user-password>]
[--email <user-email>]
[--tenant <tenant>]
[--enable|--disable]
<user>
|
yes |
keystone user-password-update
--pass <password>
<user-id>
| |
os show user
<user>
|
yes |
keystone user-get
<user-id>
|
user-role
OSC Command | Implemented | Keystone command | |
---|---|---|---|
os add role-user
[--tenant <tenant>]
<role> <user>
|
yes |
keystone user-role-add
--user <user-id>
--role <role-id>
[--tenant_id <tenant-id>]
| |
os list role-user
[--tenant <tenant>]
[<user>]
|
yes |
keystone user-role-list
[--user <user-id>]
[--tenant_id <tenant-id>]
| |
os remove role-user
[--tenant <tenant>]
<role> <user>
|
yes |
keystone user-role-remove
--user <user-id>
--role <role-id>
[--tenant_id <tenant-id>]
|
<other>
keystone bootstrap
--pass <password>
[--user-name <user-name>]
[--role-name <role-name>]
[--tenant-name <tenant-name>]
##TBD
keystone discover
##TBD
API v3
credential
OSC Command | Implemented | Nova command | |
---|---|---|---|
os create credential
[--project <project>]
[--type ec2|cert]
<user>
<data>
|
in progress |
keystone credential-create
--user_id <user-id>
--type <credential-type>
--data <credential-data>
[--project_id <project-id>]
| |
os delete credential
<credential-id>
|
in progress |
keystone credential-delete
<credential-id>
| |
os list credential
|
in progress |
keystone credential-list
| |
os set credential
[--user <user>]
[--type <type>]
[--data <data>]
[--project <project>]
<credential-id>
|
in progress |
keystone credential-update
[--user <user>]
[--type <type>]
[--data <data>]
[--project <project>]
<credential-id>
| |
os show credential
<credential-id>
|
in progress |
keystone credential-get
<credential-id>
|
domain
OSC Command | Implemented | Nova command | |
---|---|---|---|
os create domain
[--description <domain-description>]
[--enable | --disable]
<domain-name>
|
in progress |
keystone domain-create
--name <domain-name>
[--description <domain-description>]
[--enabled <true|false>]
[--private_project_names <true|false>]
[--private_user_names <true|false>]
| |
os delete domain
<domain>
|
in progress |
keystone domain-delete
<domain-id>
| |
os list domain
|
in progress |
keystone domain-list
| |
os set domain
[--name <new-domain-name>]
[--description <new-domain-description>]
[--enable | --disable]
<domain>
|
in progress |
keystone domain-update
[--name <domain_name>]
[--description <domain-description>]
[--enabled <true|false>]
[--private_project_names <true|false>]
[--private_user_names <true|false>]
<domain-id>
| |
os show domain
<domain>
|
in progress |
keystone domain-get
<domain-id>
|
endpoint
keystone endpoint-create --service_id <service-id>
--interface <endpoint-interface>
--url <endpoint-url>
[--region <endpoint-region>]
[--enabled <true|false>]
os create endpoint
[--region <endpoint-region>]
[--enabled <true|false>]
<service-id>
<endpoint-interface>
<endpoint-url>
keystone endpoint-delete <endpoint-id>
os delete endpoint <endpoint-id>
keystone endpoint-list
os list endpoint [--long]
keystone enpoint-get <endpoint-id>
os show endpoint <endpoint-id>
keystone endpoint-update --endpoint_id <endpoint-id>
[--region <endpoint-region>]
[--enabled <true|false>]
[<service-id>]
[<endpoint-interface>]
[<endpoint-url>]
os update endpoint
[--region <endpoint-region>]
[--enabled <true|false>]
[--service <service-id>]
[--interface <endpoint-interface>]
[--url <endpoint-url>]
<endpoint-id>
group
OSC Command | Implemented | Nova command | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
os create group
[--domain <domain>]
[--description <group-description>]
<group-name>
|
yes |
keystone group-create
--name <group-name>
[--domain_id <domain-id>]
[--description <group-description>]
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
os delete group
<group>
|
yes |
keystone group-delete
<group-id>
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
os list group
[--long]
|
yes |
keystone group-list
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
os set group
[--name <new-group-name>]
[--domain <domain>]
[--description <new-group-description>]
<group>
|
yes |
keystone group-update
[--name <group_name>]
[--domain_id <domain-id>]
[--description <group-description>]
<group-id>
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
os show group
<group>
|
yes |
keystone group-get
<group-id>
policy
keystone project-create --name <project-name>
[--domain_id <project-domain-id>]
[--description <project-description>]
[--enabled <true|false>]
os create project
[--domain <project-domain>]
[--description <project-description>]
[--enable | --disable]
<project-name>
keystone project-delete <project-id>
os delete project <project>
keystone project-get <project-id>
os show project <project>
keystone project-list
os list project [--long]
keystone project-update
[--name <project_name>]
[--domain_id <project-domain-id>]
[--description <project-description>]
[--enabled <true|false>]
<project-id>
os set project
[--name <new-project-name>]
[--domain <project-domain>]
[--description <new-project-description>]
[--enable | --disable]
<project>
keystone role-create --name <role-name>
os create role <role-name>
keystone role-delete <role-id>
os delete role <role>
keystone role-get <role-id>
os show role <role>
keystone role-list
os list role
keystone role-update <role-id>
os update role <role>
keystone service-create --type <type>
[--name <name>]
[--enabled <true|false>]
os create service
[--name <name>]
[--enabled <true|false>]
<type>
keystone service-delete <service-id>
os delete service <service>
keystone service-get <service-id>
os show service <service>
keystone service-list
os list service [--long]
keystone service-update --service_id <service-id>
[--type <type>]
[--name <name>]
[--enabled <true|false>]
os update service
[--type <type>]
[--name <name>]
[--enabled <true|false>]
<service>
keystone user-create --name <user-name>
[--domain_id <domain-id>]
[--default_project_id <project-id>]
[--description <description>]
[--enabled <true|false>]
[--password <password>]
os create user
[--domain_id <domain-id>]
[--default_project_id <project-id>]
[--description <description>]
[--enabled <true|false>]
[--password <password>]
<user-name>
keystone user-delete <user-id>
os delete user <user>
keystone user-get <user-id>
os show user <user>
keystone user-list
os list user [--long]
keystone user-update --user_id <user-id>
[--name <user-name>]
[--domain_id <domain-id>]
[--default_project_id <project-id>]
[--description <description>]
[--enabled <true|false>]
[--password <password>]
os set user
[--domain_id <domain-id>]
[--default_project_id <project-id>]
[--description <description>]
[--enabled <true|false>]
[--password <password>]
[--user_name <user-name>]
<user>
Compute
API v2 (1.1)agent
nova aggregate-create <name> <availability_zone>
os create aggregate ...
nova aggregate-delete <id>
os delete aggregate ...
nova aggregate-details <id>
os show aggregate ...
nova aggregate-list
os list aggregate
nova aggregate-update <id> <name> [<availability_zone>]
os set aggregate ...
nova aggregate-set-metadata <id> <key=value> [<key=value> ...]
os set aggregate --metadata ...
nova aggregate-add-host <id> <host>
os add aggregate-host ...
nova aggregate-remove-host <id> <host>
os remove aggregate-host ...
nova bash-completion
os show bash-completion
nova cloudpipe-create <project>
os create cloudpipe ...
nova cloudpipe-list
os list cloudpipe
nova console-log [--length <length>] <server>
os show console ...
nova get-vnc-console <server> <console_type>
os show console [--vnc] ...
nova credentials
os show credentials
nova diagnostics <server>
os show diagnostics ...
nova dns-create [--type <type>] <ip> <name> <domain>
os create dns ...
nova dns-delete <domain> <name>
os delete dns ...
nova dns-list [--ip <ip>] [--name <name>] <domain>
os list dns ...
nova dns-create-private-domain [--availability_zone <availability_zone>]
<domain>
os create dns-domain [--private] ...
nova dns-create-public-domain [--project <project>] <domain>
os create dns-domain [--public] ...
nova dns-delete-domain <domain>
os delete dns-domain ...
nova dns-domains
os list dns-domains
nova endpoints
os list endpoints
# does this overlap with keystone?
nova add-fixed-ip <server> <network_id>
os add fixed-ip ...
nova remove-fixed-ip <server> <address>
os remove fixed-ip ...
flavor
nova add-floating-ip <server> <address>
os add floating-ip ...
nova floating-ip-create [<floating_ip_pool>]
os create floating-ip ...
nova floating-ip-delete <address>
os delete floating-ip
nova floating-ip-list
os list floating-ip
nova remove-floating-ip <server> <address>
os remove floating-ip ...
nova floating-ip-pool-list
os list floating-ip-pool
nova host-action [--action <action>] <hostname>
os ?? host ...
nova host-update [--status <status>]
[--maintenance <maintenance_mode>]
<hostname>
os set host ...
nova image-create [--poll] <server> <name>
os create image ...
nova image-delete <image>
os delete image ...
nova image-list
os list image
nova image-meta <image> <action> <key=value> [<key=value> ...]
os set image ...
nova image-show <image>
os show image ...
nova keypair-add [--pub_key <pub_key>] <name>
os create keypair ...
nova keypair-delete <name>
os delete keypair
nova keypair-list
os list keypair
nova absolute-limits
os show limits --absolute
## is there any other kind?
nova quota-defaults <tenant_id>
nova quota-show <tenant_id>
os show quota <tenant> [--defaults]
nova quota-update [--instances <instances>]
[--cores <cores>]
[--ram <ram>]
[--volumes <volumes>]
[--gigabytes <gigabytes>]
[--floating-ips <floating_ips>]
[--metadata-items <metadata_items>]
[--injected-files <injected_files>]
[--injected-file-content-bytes <injected_file_content_bytes>]
<tenant_id>
os set quota ...
nova quota-class-show <class>
os show quota-class ...
nova quota-class-update [--instances <instances>]
[--cores <cores>]
[--ram <ram>]
[--volumes <volumes>]
[--gigabytes <gigabytes>]
[--floating-ips <floating_ips>]
[--metadata-items <metadata_items>]
[--injected-files <injected_files>]
[--injected-file-content-bytes <injected_file_content_bytes>]
<class>
os set quota-class ...
nova rate-limits
os show rate-limits
nova describe-resource <hostname>
os show resource ...
nova secgroup-create <name> <description>
os create secgroup ...
nova secgroup-delete <secgroup>
os delete secgroup ...
nova secgroup-list
os list secgroup
nova secgroup-add-group-rule [--ip_proto <ip_proto>]
[--from_port <from_port>]
[--to_port <to_port>]
<secgroup> <source_group>
os create secgroup-group-rule
nova secgroup-delete-group-rule [--ip_proto <ip_proto>]
[--from_port <from_port>]
[--to_port <to_port>]
<secgroup> <source_group>
os delete secgroup-group-rule ...
nova secgroup-add-rule <secgroup> <ip_proto> <from_port> <to_port> <cidr>
os create secgroup-rule
nova secgroup-delete-rule <secgroup> <ip_proto> <from_port> <to_port> <cidr>
os delete secgroup-rule
nova secgroup-list-rules <secgroup>
os list secgroup-rule ...
server
nova usage-list [--start <start>] [--end <end>]
os list usage ...
nova volume-attach <server> <volume> <device>
os attach volume ...
nova volume-create [--snapshot_id <snapshot_id>]
[--display_name <display_name>]
[--display_description <display_description>]
[--volume_type <volume_type>]
<size>
os create volume ...
nova volume-delete <volume>
os delete volume ...
nova volume-detach <server> <volume>
os detach volume ...
nova nova volume-list
os list volume
nova volume-show <volume>
os show volume ...
nova volume-snapshot-create [--force <True|False>]
[--display_name <display_name>]
[--display_description <display_description>]
<volume_id>
os create volume-snapshot ...
nova volume-snapshot-delete <snapshot_id>
os delete volume-snapshot ...
nova volume-snapshot-list
os list volume-snapshot
nova volume-snapshot-show <snapshot>
os show volume-snapshot
nova volume-type-create <name>
os create volume-type ...
nova volume-type-delete <id>
os delete volume-type ...
nova volume-type-list
os list volume-type
nova x509-create-cert [<private_key_file>] [<x509_cert>]
os create x509-cert ...
nova x509-get-root-cert [<filename>]
os show x509-root-cert ...
Image
API v2.0image glance image-create [--id <IMAGE_ID>] [--name <NAME>]
[--disk-format <CONTAINER_FORMAT>]
[--container-format <DISK_FORMAT>]
[--owner <TENANT_ID>] [--size <SIZE>]
[--min-disk <DISK_GB>] [--min-ram <DISK_RAM>]
[--location <IMAGE_URL>] [--checksum <CHECKSUM>]
[--copy-from <IMAGE_URL>] [--public] [--protected]
[--property <key=value>]
os create image ...
glance image-delete <IMAGE_ID>
os delete image ...
glance image-list
os list image ...
glance image-show <IMAGE_ID>
os show image ...
glance member-images [options] <MEMBER>
os list image --member <member> [options]
glance show [options] <ID>
os show image ...
glance update [options] <ID> <field1=value1 field2=value2 ...>
os set image ...
glance member-create [--can-share] <IMAGE_ID> <TENANT_ID>
os create image-member ...
glance member-delete <IMAGE_ID> <TENANT_ID>
os list image-member <image> [options]
glance member-delete [options] <ID> <MEMBER>
os delete image-member ...
glance member-list [--image-id <IMAGE_ID>] [--tenant-id <TENANT_ID>]
os list image-member ...
Volume
API v1.0credentials cinder credentials
os list credential
limits cinder rate-limits
os list limit --rate
cinder absolute-limits
os list limit --absolute
snapshot cinder snapshot-create
<volume-id>
--force <True|False>
--display-name <display-name>
--display-description <display-description>
os create snapshot
--force
--display-name <display-name>
--display-description <display-description>
<volume-id>
cinder snapshot-delete <snapshot-id>
os delete snapshot <snapshot-id>
cinder snapshot-list
--all-tenants [<0|1>]
--display-name <display-name>
--status <status>
--volume-id <volume-id>
os list snapshot
--all-tenants [<0|1>]
--display-name <display-name>
--status <status>
--volume-id <volume-id>
cinder snapshot-rename
--display-description <display-description>
<snapshot-id>
<display-name>
os update snapshot
--display-description <display-description>
<snapshot-id>
<display-name>
cinder snapshot-show <snapshot-id>
os show snapshot <snapshot-id>
type cinder type-create <type-name>
os create type <type-name>
cinder type-delete <type-id>
os delete type <type>
cinder type-list
os list type
cinder extra-specs-list
os tbd
cinder type-key <type-name-or-id> <action (set|unset)> <key=value>
os tbd
volume
Networkquantum
API v2.0
iface plug_iface <tenant-id> <net-id> <port-id> <iface-id>
add interface <tenant> <network> <port> <interface>
show_iface <tenant-id> <net-id> <port-id>
show interface <tenant> <network> <port>
unplug_iface <tenant-id> <net-id> <port-id>
remove interface <tenant> <network> <port>
create_net <tenant-id> <net-name>
create network <tenant> <network-name>
delete_net <tenant-id> <net-id>
delete <tenant> <network>
list_nets <tenant-id>
list network <tenant>
list_nets_detail <tenant-id>
list network --detail <tenant>
show_net <tenant-id> <net-id>
show network <tenant> <network>
show_net_detail <tenant-id> <net-id>
show network --detail <tenant> <network>
update_net <tenant-id> <net-id> <new-name>
set network <tenant> <network> --name <name>
create_port <tenant-id> <net-id>
create port <tenant> <network>
delete_port <tenant-id> <net-id> <port-id>
delete port <tenant> <network> <port>
list_ports <tenant-id> <net-id>
list port <tenant> <network>
list_ports_detail <tenant-id> <net-id>
list port --detail <tenant> <network>
show_port <tenant-id> <net-id> <port-id>
show port <tenant> <network> <port>
show_port_detail <tenant-id> <net-id> <port-id>
show port --detail <tenant> <network> <port>
update_port <tenant-id> <net-id> <port-id> <params>
set port <tenant> <network> <port> <params>
OptionsIn general, options will be transformed into more UNIX-like usage
(dhellmann) Not all boolean options have natural antonyms like enable/disable. It may be more consistent to use a --flag --no-flag style naming convention to indicate the opposites of flags. "(dtroyer) Yup, except i really don't like --no-enable. I'm going to work through the switch mapping to see how many others we really have to deal with." |