Jump to: navigation, search

Difference between revisions of "UnifiedCLI/Mapping"

 
Line 2: Line 2:
 
= OSAPI =
 
= OSAPI =
  
== Existing Command Summary ==
+
== Command Mapping Summary ==
  
 
=== Keystone ===
 
=== Keystone ===
  
* Verbs: create, delete, get, list, update
+
* Verbs:
* Objects: catalog, ec2-credentials, endpoint, role, service, tenant, user, user-password, user-role
+
** keystone: create, delete, get, list, update
 +
** os: create, delete, list, set, show
 +
* Objects:
 +
** keystone: catalog, ec2-credentials, endpoint, role, service, tenant, user, user-password, user-role
 +
** os: catalog, ec2-credentials, endpoint, role, service, tenant, user, user-role
  
 
'''keystone'''
 
'''keystone'''
  
<pre><nowiki>#!bash
+
<pre><nowiki>#!csv ,
   --os_username <auth-user-name>                    OS_USERNAME
+
Command-line Option,Environment Variable
   --os_password <auth-password>                      OS_PASSWORD
+
   --os_username <auth-user-name>,                     OS_USERNAME
   --os_tenant_name <auth-tenant-name>                OS_TENANT_NAME
+
   --os_password <auth-password>,                     OS_PASSWORD
   --os_tenant_id <tenant-id>                        OS_TENANT_ID
+
   --os_tenant_name <auth-tenant-name>,               OS_TENANT_NAME
   --os_auth_url <auth-url>                          OS_AUTH_URL
+
   --os_tenant_id <tenant-id>,                         OS_TENANT_ID
   --os_region_name <region-name>                    OS_REGION_NAME
+
   --os_auth_url <auth-url>,                           OS_AUTH_URL
   --os_identity_api_version <identity-api-version>  OS_IDENTITY_API_VERSION
+
   --os_region_name <region-name>,                     OS_REGION_NAME
   --token <service-token>                            SERVICE_TOKEN
+
   --os_identity_api_version <identity-api-version>,   OS_IDENTITY_API_VERSION
   --endpoint <service-endpoint>                      SERVICE_ENDPOINT
+
   --token <service-token>,                           SERVICE_TOKEN
 +
   --endpoint <service-endpoint>,                     SERVICE_ENDPOINT
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 268: Line 273:
 
=== Nova ===
 
=== Nova ===
  
* Verbs: add, attach, boot, create, delete, describe, detach, get, list, lock, migrate, pause, reboot, rebuild, remove, rename, rescue, resize, resume, set, show, ssh, suspend, unlock, unpause, unrescue, update
+
* Verbs:
* Objects: absolute-limits, actions, aggregate, cloudpipe, console-log, credentials, diagnostics, dns, dns-domain, endpoints, fixed-ip, flavor, floating-ip,  floating-ip-pool, host, image, keypair, meta(data), quota, quota-class, rate-limits, resource, root-password, secgroup, secgroup-group, secgroup-rule, usage, vnc-console, volume, volume-snapshot, volume-type, x509-cert, x509-root-cert
+
** nova: add, attach, boot, create, delete, describe, detach, get, list, lock, migrate, pause, reboot, rebuild, remove, rename, rescue, resize, resume, set, show, ssh, suspend, unlock, unpause, unrescue, update
 +
** os: add, attach, create, delete, detach, list, lock, pause, reboot, rebuild, remove, rename, rescue, resume, set, show, suspend, unlock, unpause, unrescue
 +
* Objects:
 +
** nova: absolute-limits, actions, aggregate, bash-completion, cloudpipe, console-log, credentials, diagnostics, dns, dns-domain, endpoints, fixed-ip, flavor, floating-ip,  floating-ip-pool, host, image, keypair, meta(data), quota, quota-class, rate-limits, resource, root-password, secgroup, secgroup-group, secgroup-rule, usage, vnc-console, volume, volume-snapshot, volume-type, x509-cert, x509-root-cert
 +
** os: aggregate, aggregate-host, bash-completion, cloudpipe, console, credentials, diagnostics, dns, dns-domain, endpoints, fixed-ip, flavor, floating-ip, floating-ip-pool, host, image, keypair, limits, quota, quota-class, rate-limits, resource, secgroup, secgroup-group, secgroup-rule, server, usage, volume, volume-snapshot, volume-type, x509-cert, x509-root-cert
 
* Implied objects: instance/server
 
* Implied objects: instance/server
  
 
'''nova'''
 
'''nova'''
  
<pre><nowiki>#!bash
+
<pre><nowiki>#!csv ,
   --os_username OS_USERNAME                          OS_USERNAME
+
Command-line Option,Environment Variable
   --os_password OS_PASSWORD                          OS_PASSWORD
+
   --os_username <auth-user-name>,                    OS_USERNAME
   --os_tenant_name OS_TENANT_NAME                    OS_TENANT_NAME
+
   --os_password <auth-password>,                      OS_PASSWORD
   --os_auth_url OS_AUTH_URL                          OS_AUTH_URL
+
   --os_tenant_name <auth-tenant-name>,                OS_TENANT_NAME
   --os_region_name OS_REGION_NAME                    OS_REGION_NAME
+
   --os_auth_url <auth-url>,                          OS_AUTH_URL
   --service_type SERVICE_TYPE
+
   --os_region_name <region-name>,                    OS_REGION_NAME
   --service_name SERVICE_NAME                        NOVA_SERVICE_NAME
+
   --service_type SERVICE_TYPE,
   --endpoint_type ENDPOINT_TYPE
+
   --service_name SERVICE_NAME,                       NOVA_SERVICE_NAME
   -version VERSION                                  NOVA_VERSION
+
   --endpoint_type ENDPOINT_TYPE,
 +
   --version VERSION,                                   NOVA_VERSION
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 328: Line 338:
 
nova aggregate-update <id> <name> [<availability_zone>]
 
nova aggregate-update <id> <name> [<availability_zone>]
  
os update aggregate ...
+
os set aggregate ...
 +
</nowiki></pre>
 +
 
 +
 
 +
<pre><nowiki>#!bash
 +
nova aggregate-set-metadata <id> <key=value> [<key=value> ...]
 +
 
 +
os set aggregate --metadata ...
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 345: Line 362:
  
 
os remove aggregate-host ...
 
os remove aggregate-host ...
</nowiki></pre>
 
 
 
'''aggregate-metadata'''
 
 
<pre><nowiki>#!bash
 
nova aggregate-set-metadata <id> <key=value> [<key=value> ...]
 
 
os set aggregate-metagata ...
 
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 387: Line 395:
 
nova console-log [--length <length>] <server>
 
nova console-log [--length <length>] <server>
  
os get console ...
+
os show console ...
 +
</nowiki></pre>
 +
 
 +
 
 +
<pre><nowiki>#!bash
 +
nova get-vnc-console <server> <console_type>
 +
 
 +
os show console [--vnc] ...
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 435: Line 450:
  
 
<pre><nowiki>#!bash
 
<pre><nowiki>#!bash
nova dns-delete-domain <domain>
+
nova dns-create-private-domain [--availability_zone <availability_zone>]
 +
                              <domain>
  
os delete dns-domain ...
+
os create dns-domain [--private] ...
 
</nowiki></pre>
 
</nowiki></pre>
  
 +
 +
'''dns-public-domain'''
  
 
<pre><nowiki>#!bash
 
<pre><nowiki>#!bash
nova dns-domains
+
nova dns-create-public-domain [--project <project>] <domain>
  
os list dns-domains
+
os create dns-domain [--public] ...
 
</nowiki></pre>
 
</nowiki></pre>
  
 
'''dns-private-domain'''
 
  
 
<pre><nowiki>#!bash
 
<pre><nowiki>#!bash
nova dns-create-private-domain [--availability_zone <availability_zone>]
+
nova dns-delete-domain <domain>
                              <domain>
 
  
os create dns-private-domain ...
+
os delete dns-domain ...
 
</nowiki></pre>
 
</nowiki></pre>
  
 
'''dns-public-domain'''
 
  
 
<pre><nowiki>#!bash
 
<pre><nowiki>#!bash
nova dns-create-public-domain [--project <project>] <domain>
+
nova dns-domains
  
os create dns-public-domain ...
+
os list dns-domains
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 473: Line 486:
  
 
os list endpoints
 
os list endpoints
 +
 +
# does this overlap with keystone?
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 578: Line 593:
 
                 <hostname>
 
                 <hostname>
  
os update host ...
+
os set host ...
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 624: Line 639:
 
nova keypair-add [--pub_key <pub_key>] <name>
 
nova keypair-add [--pub_key <pub_key>] <name>
  
os add keypair ...
+
os create keypair ...
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 674: Line 689:
 
                   <tenant_id>
 
                   <tenant_id>
  
os update quota ...
+
os set quota ...
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 699: Line 714:
 
                         <class>
 
                         <class>
  
os update quota-class ...
+
os set quota-class ...
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 752: Line 767:
 
                             <secgroup> <source_group>
 
                             <secgroup> <source_group>
  
os add secgroup-group-rule
+
os create secgroup-group-rule
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 771: Line 786:
 
nova secgroup-add-rule <secgroup> <ip_proto> <from_port> <to_port> <cidr>
 
nova secgroup-add-rule <secgroup> <ip_proto> <from_port> <to_port> <cidr>
  
os add secgroup-rule
+
os create secgroup-rule
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 807: Line 822:
 
           <name>
 
           <name>
  
os boot server ...
+
os create server ...
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 831: Line 846:
  
 
os list server ...
 
os list server ...
</nowiki></pre>
 
 
 
<pre><nowiki>#!bash
 
nova live-migration [--block_migrate]
 
                    [--disk_over_commit]
 
                    <server> <host>
 
 
os live-migrate server ...
 
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 851: Line 857:
  
 
<pre><nowiki>#!bash
 
<pre><nowiki>#!bash
 +
nova live-migration [--block_migrate]
 +
                    [--disk_over_commit]
 +
                    <server> <host>
 
nova migrate [--poll] <server>
 
nova migrate [--poll] <server>
  
os migrate server ...
+
os migrate server [--live] ...
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 896: Line 905:
 
<pre><nowiki>#!bash
 
<pre><nowiki>#!bash
 
nova resize [--poll] <server> <flavor>
 
nova resize [--poll] <server> <flavor>
 +
 +
os resize server ...
 +
</nowiki></pre>
 +
 +
 +
<pre><nowiki>#!bash
 
nova resize-confirm <server>
 
nova resize-confirm <server>
  
Line 912: Line 927:
 
nova resize-revert <server>
 
nova resize-revert <server>
  
os revert server ...
+
os resize server ... [--revert]
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 978: Line 993:
  
 
os list usage ...
 
os list usage ...
</nowiki></pre>
 
 
 
'''vnc-console'''
 
 
<pre><nowiki>#!bash
 
 
nova get-vnc-console <server> <console_type>
 
 
os get vnc-console ...
 
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 1,115: Line 1,120:
 
== Glance ==
 
== Glance ==
  
* Verbs: add, clear, delete, details, index, replace, show, update
+
* Verbs:
* Objects: image, member, members
+
** glance: add, clear, delete, details, index, replace, show, update
 +
** os: add, delete, list, set, show
 +
* Objects:
 +
** glance: image, member, members
 +
** os: image, image-member
  
 +
'''glance'''
  
 
<pre><nowiki>#!bash
 
<pre><nowiki>#!bash
'''glance'''
 
{{{#!bash
 
 
   --version
 
   --version
 
   --silent-upload
 
   --silent-upload
Line 1,160: Line 1,168:
 
glance clear [options]
 
glance clear [options]
  
os clear image ...
+
os delete image ... [--all]
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 1,202: Line 1,210:
 
glance update [options] <ID> <field1=value1 field2=value2 ...>
 
glance update [options] <ID> <field1=value1 field2=value2 ...>
  
os update image ...
+
os set image ...
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 1,232: Line 1,240:
 
glance members-replace [options] <ID> <MEMBER>
 
glance members-replace [options] <ID> <MEMBER>
  
os replace image-member ...
+
os add image-member ... [--clear]
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 1,238: Line 1,246:
 
== Verbs ==
 
== Verbs ==
  
* add (remove)
+
* <code><nowiki>add</nowiki></code> (<code><nowiki>remove</nowiki></code>) - add an object to a group of zero or more other objects
* attach (detach)
+
* <code><nowiki>attach</nowiki></code> (<code><nowiki>detach</nowiki></code>) - connect two objects (is this different from add/remove?)
 
* boot
 
* boot
 
* clear
 
* clear
* create (delete)
+
* <code><nowiki>create</nowiki></code> (<code><nowiki>delete</nowiki></code>) - create a new occurrance of the specified object
* delete (create)
+
* <code><nowiki>delete</nowiki></code> (<code><nowiki>create</nowiki></code>) - delete a specific occurrance of the specified object
* detach (attach)
+
* <code><nowiki>detach</nowiki></code> (<code><nowiki>attach</nowiki></code>) - disconnect two objects (is this different from add/remove?)
 
* get
 
* get
 
* index
 
* index
* list
+
* <code><nowiki>list</nowiki></code> - display summary information about multiple objects
 
* lock (unlock)
 
* lock (unlock)
* migrate
+
* <code><nowiki>migrate</nowiki></code> - move a server to a different host; <code><nowiki>--live</nowiki></code> performs a live migration if possible
 
* pause (unpause)
 
* pause (unpause)
* reboot
+
* <code><nowiki>reboot</nowiki></code> - forcibly reboot a server
* rebuild
+
* <code><nowiki>rebuild</nowiki></code> - rebuild a server using (most of) the same arguments as in the original <code><nowiki>create</nowiki></code>
* remove (Add)
+
* <code><nowiki>remove</nowiki></code> (<code><nowiki>add</nowiki></code>) - remove an object from a group of objects
* rename
+
* <code><nowiki>rename</nowiki></code> - change the name of the specified object
 
* replace
 
* replace
* rescue (unrescue)
+
* <code><nowiki>rescue</nowiki></code> (<code><nowiki>unrescue</nowiki></code>) - reboot a server in a special rescue mode allowing access to the original disks
* resize
+
* <code><nowiki>resize</nowiki></code> - change a server's flavor
 
* resume (suspend)
 
* resume (suspend)
* set
+
* <code><nowiki>set</nowiki></code> - set an attribute of the object, often called <code><nowiki>metadata</nowiki></code>
* show
+
* <code><nowiki>show</nowiki></code> - display detailed information about the specifiec object
 
* ssh
 
* ssh
 
* suspend (resume)
 
* suspend (resume)
Line 1,266: Line 1,274:
 
* unlock (lock)
 
* unlock (lock)
 
* unpause (pause)
 
* unpause (pause)
* unrescue (rescue)
+
* <code><nowiki>unrescue</nowiki></code> (<code><nowiki>rescue</nowiki></code>) - return a server to normal boot mode
* update
+
* <code><nowiki>update</nowiki></code> - not sure how this is different from <code><nowiki>set</nowiki></code>?

Revision as of 21:15, 3 April 2012

OSAPI

Command Mapping Summary

Keystone

  • Verbs:
    • keystone: create, delete, get, list, update
    • os: create, delete, list, set, show
  • Objects:
    • keystone: catalog, ec2-credentials, endpoint, role, service, tenant, user, user-password, user-role
    • os: catalog, ec2-credentials, endpoint, role, service, tenant, user, user-role

keystone

#!csv ,
Command-line Option,Environment Variable
  --os_username <auth-user-name>,                     OS_USERNAME
  --os_password <auth-password>,                      OS_PASSWORD
  --os_tenant_name <auth-tenant-name>,                OS_TENANT_NAME
  --os_tenant_id <tenant-id>,                         OS_TENANT_ID
  --os_auth_url <auth-url>,                           OS_AUTH_URL
  --os_region_name <region-name>,                     OS_REGION_NAME
  --os_identity_api_version <identity-api-version>,   OS_IDENTITY_API_VERSION
  --token <service-token>,                            SERVICE_TOKEN
  --endpoint <service-endpoint>,                      SERVICE_ENDPOINT


catalog

#!bash
keystone catalog [--service <service-type>]

os show service [--catalog] [<service-type>


ec2-credentials

#!bash
keystone ec2-credentials-create [--user <user-id>] 
                       [--tenant_id <tenant-id>]

os create ec2-credentials --tenant_id <tenant-id> --user <user-id>

## are both args really optional?


#!bash
keystone ec2-credentials-delete [--user <user-id>] 
                       --access <access-key>

os delete ec2-credentials --access <access-key>

## what changes if --user is not provided?


#!bash
keystone ec2-credentials-get [--user <user-id>] 
                             --access <access-key>

os show ec2-credentials --access <access-key>

## what changes if --user is not provided?


#!bash
keystone ec2-credentials-list [--user <user-id>]

os list ec2-credentials [--user <user-id>]


endpoint

#!bash
keystone endpoint-create [--region <endpoint-region>]
                         [--service_id <service-id>]
                         [--publicurl <public-url>]
                         [--adminurl <admin-url>]
                         [--internalurl <internal-url>]

os create endpoint [--service <service-id-or-name>]
                ...


#!bash
keystone endpoint-delete <endpoint-id>

os delete endpoint <endpoint>


#!bash
keystone endpoint-get --service <service-type>
                      [--endpoint_type <endpoint-type>]
                      [--attr <service-attribute>] 
                      [--value <value>]

os show endpoint <service>


role

#!bash
keystone role-create --name <role-name>

os create role <role-name>


#!bash
keystone role-delete <role-id>

os delete role <role-name-or-id>


#!bash
keystone role-get <role-id>

os show role <role-name-or-id>


#!bash
keystone role-list [--user <user-id>] 
                   [--tenant_id <tenant-id>]

os list role ...


service

#!bash
keystone service-create --name <name> 
                        --type <type>
                        [--description <service-description>]

os create service <name> <type> [--description <description>]


#!bash
keystone service-get <service-id>

os show service <service-name-or-id>


#!bash
keystone service-list

os list service


tenant

#!bash
keystone tenant-create --name <tenant-name>
                       [--description <tenant-description>]
                       [--enabled <true|false>]

os create tenant <tenant-name>
              ...


#!bash
keystone tenant-delete <tenant-id>

os delete tenant <tenant-name-or-id>


#!bash
keystone tenant-get <tenant-id>

os show tenant <tenant-name-or-id>


#!bash
keystone tenant-list

os list tenant


user

#!bash
keystone user-create --name <user-name> 
                     [--tenant_id <tenant-id>]
                     [--pass <pass>] 
                     [--email <email>]
                     [--enabled <true|false>]

os create user <name>
               [--tenant <tenant-name-or-id>]
               ...


#!bash
keystone user-delete <user-id>

os delete user <user-name-or-id>


#!bash
keystone user-get <user-id>

os show user <user-name-or-id>


#!bash
keystone user-list [<tenant-id>]

os list user [<tenant-name-or-id>]


#!bash
keystone user-password-update --pass <password> <user-id>

os set user <user-name-or-id> 
            [--password <password>]
            [--enable|--disable]


user-role

#!bash
keystone user-role-add --user <user-id> 
                       --role <role-id>
                       [--tenant_id <tenant-id>]

os add user-role ...


#!bash
keystone user-role-remove --user <user-id> 
                          --role <role-id>
                          [--tenant_id <tenant-id>]

os remove user-role ...


<other>

#!bash
keystone discover

##TBD


Nova

  • Verbs:
    • nova: add, attach, boot, create, delete, describe, detach, get, list, lock, migrate, pause, reboot, rebuild, remove, rename, rescue, resize, resume, set, show, ssh, suspend, unlock, unpause, unrescue, update
    • os: add, attach, create, delete, detach, list, lock, pause, reboot, rebuild, remove, rename, rescue, resume, set, show, suspend, unlock, unpause, unrescue
  • Objects:
    • nova: absolute-limits, actions, aggregate, bash-completion, cloudpipe, console-log, credentials, diagnostics, dns, dns-domain, endpoints, fixed-ip, flavor, floating-ip, floating-ip-pool, host, image, keypair, meta(data), quota, quota-class, rate-limits, resource, root-password, secgroup, secgroup-group, secgroup-rule, usage, vnc-console, volume, volume-snapshot, volume-type, x509-cert, x509-root-cert
    • os: aggregate, aggregate-host, bash-completion, cloudpipe, console, credentials, diagnostics, dns, dns-domain, endpoints, fixed-ip, flavor, floating-ip, floating-ip-pool, host, image, keypair, limits, quota, quota-class, rate-limits, resource, secgroup, secgroup-group, secgroup-rule, server, usage, volume, volume-snapshot, volume-type, x509-cert, x509-root-cert
  • Implied objects: instance/server

nova

#!csv ,
Command-line Option,Environment Variable
  --os_username <auth-user-name>,                     OS_USERNAME
  --os_password <auth-password>,                      OS_PASSWORD
  --os_tenant_name <auth-tenant-name>,                OS_TENANT_NAME
  --os_auth_url <auth-url>,                           OS_AUTH_URL
  --os_region_name <region-name>,                     OS_REGION_NAME
  --service_type SERVICE_TYPE,
  --service_name SERVICE_NAME,                        NOVA_SERVICE_NAME
  --endpoint_type ENDPOINT_TYPE,
  --version VERSION,                                   NOVA_VERSION


#!bash
nova actions <server>

##TBD


aggregate

#!bash
nova aggregate-create <name> <availability_zone>

os create aggregate ...


#!bash
nova aggregate-delete <id>

os delete aggregate ...


#!bash
nova aggregate-details <id>

os show aggregate ...


#!bash
nova aggregate-list

os list aggregate


#!bash
nova aggregate-update <id> <name> [<availability_zone>]

os set aggregate ...


#!bash
nova aggregate-set-metadata <id> <key=value> [<key=value> ...]

os set aggregate --metadata ...


aggregate-host

#!bash
nova aggregate-add-host <id> <host>

os add aggregate-host ...


#!bash
nova aggregate-remove-host <id> <host>

os remove aggregate-host ...


bash-completion

#!bash
nova bash-completion

os show bash-completion


cloudpipe

#!bash
nova cloudpipe-create <project>

os create cloudpipe ...


#!bash
nova cloudpipe-list

os list cloudpipe


console

#!bash
nova console-log [--length <length>] <server>

os show console ...


#!bash
nova get-vnc-console <server> <console_type>

os show console [--vnc] ...


credentials

#!bash
nova credentials

os show credentials


diagnostics

#!bash
nova diagnostics <server>

os show diagnostics ...


dns

#!bash
nova dns-create [--type <type>] <ip> <name> <domain>

os create dns ...


#!bash
nova dns-delete <domain> <name>

os delete dns ...


#!bash
nova dns-list [--ip <ip>] [--name <name>] <domain>

os list dns ...


dns-domain

#!bash
nova dns-create-private-domain [--availability_zone <availability_zone>]
                               <domain>

os create dns-domain [--private] ...


dns-public-domain

#!bash
nova dns-create-public-domain [--project <project>] <domain>

os create dns-domain [--public] ...


#!bash
nova dns-delete-domain <domain>

os delete dns-domain ...


#!bash
nova dns-domains

os list dns-domains


endpoints

#!bash
nova endpoints

os list endpoints

# does this overlap with keystone?


fixed-ip

#!bash
nova add-fixed-ip <server> <network_id>

os add fixed-ip ...


#!bash
nova remove-fixed-ip <server> <address>

os remove fixed-ip ...


flavor

#!bash
nova flavor-create [--ephemeral <ephemeral>] 
                   [--swap <swap>]
                   [--rxtx-factor <factor>]
                   <name> <id> <ram> <disk> <vcpus>

os create flavor ...


#!bash
nova flavor-delete <id>

os delete flavor ...


#!bash
nova flavor-list

os list flavor


floating-ip

#!bash
nova add-floating-ip <server> <address>

os add floating-ip ...


#!bash
nova floating-ip-create [<floating_ip_pool>]

os create floating-ip ...


#!bash
nova floating-ip-delete <address>

os delete floating-ip


#!bash
nova floating-ip-list

os list floating-ip


#!bash
nova remove-floating-ip <server> <address>

os remove floating-ip ...


floating-ip-pool

#!bash
nova floating-ip-pool-list

os list floating-ip-pool


host

#!bash
nova host-action [--action <action>] <hostname>

os ?? host ...


#!bash
nova host-update [--status <status>] 
                 [--maintenance <maintenance_mode>]
                 <hostname>

os set host ...


image

#!bash
nova image-create [--poll] <server> <name>

os create image ...


#!bash
nova image-delete <image>

os delete image ...


#!bash
nova image-list

os list image


#!bash
nova image-meta <image> <action> <key=value> [<key=value> ...]

os set image ...


#!bash
nova image-show <image>

os show image ...


keypair

#!bash
nova keypair-add [--pub_key <pub_key>] <name>

os create keypair ...


#!bash
nova keypair-delete <name>

os delete keypair


#!bash
nova keypair-list

os list keypair


limits

#!bash
nova absolute-limits

os show limits --absolute
## is there any other kind?


quota

#!bash
nova quota-defaults <tenant_id>
nova quota-show <tenant_id>

os show quota <tenant> [--defaults]


#!bash
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 ...


quota-class

#!bash
nova quota-class-show <class>

os show quota-class ...


#!bash
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 ...


rate-limits

#!bash
nova rate-limits

os show rate-limits


resource

#!bash
nova describe-resource <hostname>

os show resource ...


secgroup

#!bash
nova secgroup-create <name> <description>

os create secgroup ...


#!bash
nova secgroup-delete <secgroup>

os delete secgroup ...


#!bash
nova secgroup-list

os list secgroup


secgroup-group-rule

#!bash
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


#!bash
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 ...


secgroup-rule

#!bash
nova secgroup-add-rule <secgroup> <ip_proto> <from_port> <to_port> <cidr>

os create secgroup-rule


#!bash
nova secgroup-delete-rule <secgroup> <ip_proto> <from_port> <to_port> <cidr>

os delete secgroup-rule


#!bash
nova secgroup-list-rules <secgroup>

os list secgroup-rule ...


server

#!bash
nova boot [--flavor <flavor>] 
          [--image <image>] 
          [--meta <key=value>]
          [--file <dst-path=src-path>] 
          [--key_name <key_name>]
          [--user_data <user-data>]
          [--availability_zone <availability-zone>]
          [--security_groups <security_groups>]
          [--block_device_mapping <dev_name=mapping>]
          [--hint <key=value>]
          [--nic <net-id=net-uuid,v4-fixed-ip=ip-addr>]
          [--config-drive <value>] 
          [--poll]
          <name>

os create server ...


#!bash
nova delete <server>

os delete server ...


#!bash
nova list [--reservation_id <reservation_id>] 
          [--ip <ip_regexp>]
          [--ip6 <ip6_regexp>] 
          [--name <name_regexp>]
          [--instance_name <name_regexp>] 
          [--status <status>]
          [--flavor <flavor>] [--image <image>] 
          [--host <hostname>]
          [--all_tenants [<0|1>]]

os list server ...


#!bash
nova lock <server>

os lock server ...


#!bash
nova live-migration [--block_migrate] 
                    [--disk_over_commit]
                    <server> <host>
nova migrate [--poll] <server>

os migrate server [--live] ...


#!bash
nova pause <server>

os pause server ...


#!bash
nova reboot [--hard] [--poll] <server>

os reboot server ...


#!bash
nova rebuild [--rebuild_password <rebuild_password>] 
             [--poll]
             <server> <image>

os rebuild server ...


#!bash
nova rename <server> <name>

os rename server ...


#!bash
nova rescue <server>

os rescue server ...


#!bash
nova resize [--poll] <server> <flavor>

os resize server ...


#!bash
nova resize-confirm <server>

os resize server ... [--confirm]


#!bash
nova resume <server>

os resume server ...


#!bash
nova resize-revert <server>

os resize server ... [--revert]


#!bash
nova meta <server> <action> <key=value> [<key=value> ...]

os set server ...


#!bash
nova root-password <server>

os set server --root-password <server>


#!bash
nova show <server>

os show server ...


#!bash
nova ssh [--port PORT] [--private] [--ipv6] [--login <login>] <server>

os ssh server ...


#!bash
nova suspend <server>

os suspend server ...


#!bash
nova unlock <server>

os unlock server ...


#!bash
nova unpause <server>

os unpause server ...


#!bash
nova unrescue <server>

os unrescue server ...


usage

#!bash
nova usage-list [--start <start>] [--end <end>]

os list usage ...


volume

#!bash
nova volume-attach <server> <volume> <device>

os attach volume ...


#!bash
nova volume-create [--snapshot_id <snapshot_id>]
                   [--display_name <display_name>]
                   [--display_description <display_description>]
                   [--volume_type <volume_type>]
                   <size>

os create volume ...


#!bash
nova volume-delete <volume>

os delete volume ...


#!bash
nova volume-detach <server> <volume>

os detach volume ...


#!bash
nova nova volume-list

os list volume


#!bash
nova volume-show <volume>

os show volume ...


volume-snapshot

#!bash
nova volume-snapshot-create [--force <True|False>]
                            [--display_name <display_name>]
                            [--display_description <display_description>]
                            <volume_id>

os create volume-snapshot ...


#!bash
nova volume-snapshot-delete <snapshot_id>

os delete volume-snapshot ...


#!bash
nova volume-snapshot-list

os list volume-snapshot


#!bash
nova volume-snapshot-show <snapshot>

os show volume-snapshot


volume-type

#!bash
nova volume-type-create <name>

os create volume-type ...


#!bash
nova volume-type-delete <id>

os delete volume-type ...


#!bash
nova volume-type-list

os list volume-type


x509-cert

#!bash
nova x509-create-cert [<private_key_file>] [<x509_cert>]

os create x509-cert ...


x509-root-cert

#!bash
nova x509-get-root-cert [<filename>]

os show x509-root-cert ...


Glance

  • Verbs:
    • glance: add, clear, delete, details, index, replace, show, update
    • os: add, delete, list, set, show
  • Objects:
    • glance: image, member, members
    • os: image, image-member

glance

#!bash
  --version
  --silent-upload
  -v, --verbose
  -d, --debug
  -H ADDRESS, --host=ADDRESS
  -p PORT, --port=PORT
  --ssl
  -U URL, --url=URL
  -k, --insecure
  -A TOKEN, --os_auth_token=TOKEN
  -I USER, --os_username=USER
  -K PASSWORD, --os_password=PASSWORD
  -R REGION, --os_region_name=REGION
  -T TENANT, --os_tenant_name=TENANT
  -N AUTH_URL, --os_auth_url=AUTH_URL
  -S STRATEGY, --os_auth_strategy=STRATEGY
  --limit=LIMIT
  --marker=MARKER
  --sort_key=KEY
  --sort_dir=[desc|asc]
  -f, --force
  --dry-run
  --can-share


image

#!bash
glance add [options] <field1=value1 field2=value2 ...> [ < /path/to/image ]

os add image ...


#!bash
glance clear [options]

os delete image ... [--all]


#!bash
glance delete [options] <ID>

os delete image ...


#!bash
glance index [options] <field1=value1 field2=value2 ...>

os list image ...


#!bash
glance details [options]

os list image --details


#!bash
glance member-images [options] <MEMBER>

os list image --member <member> [options]


#!bash
glance show [options] <ID>

os show image ...


#!bash
glance update [options] <ID> <field1=value1 field2=value2 ...>

os set image ...


image-member

#!bash
glance member-add [options] <ID> <MEMBER>

os add image-member ...


#!bash
glance image-members [options] <ID>

os list image-member <image> [options]


#!bash
glance member-delete [options] <ID> <MEMBER>

os remove image-member ...


#!bash
glance members-replace [options] <ID> <MEMBER>

os add image-member ... [--clear]


Verbs

  • add (remove) - add an object to a group of zero or more other objects
  • attach (detach) - connect two objects (is this different from add/remove?)
  • boot
  • clear
  • 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?)
  • get
  • index
  • 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)
  • reboot - forcibly reboot a server
  • rebuild - rebuild a server using (most of) the same arguments as in the original create
  • remove (add) - remove an object from a group of objects
  • rename - change the name of the specified object
  • replace
  • rescue (unrescue) - reboot a server in a special rescue mode allowing access to the original disks
  • resize - change a server's flavor
  • resume (suspend)
  • set - set an attribute of the object, often called metadata
  • show - display detailed information about the specifiec object
  • ssh
  • suspend (resume)
  • update
  • unlock (lock)
  • unpause (pause)
  • unrescue (rescue) - return a server to normal boot mode
  • update - not sure how this is different from set?