Jump to: navigation, search

UnifiedCLI/Mapping

< UnifiedCLI
Revision as of 21:15, 3 April 2012 by Dtroyer (talk)

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?