UnifiedCLI/Mapping
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 originalcreate
-
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 calledmetadata
-
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 fromset
?