UnifiedCLI/Mapping
OSAPI
Existing Command Summary
Keystone
- Verbs: create, delete, get, list, update
- Objects: catalog, ec2-credentials, endpoint, role, service, tenant, user, user-password, user-role
keystone
#!bash --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: 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
- 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
- Implied objects: instance/server
nova
#!bash --os_username OS_USERNAME OS_USERNAME --os_password OS_PASSWORD OS_PASSWORD --os_tenant_name OS_TENANT_NAME OS_TENANT_NAME --os_auth_url OS_AUTH_URL OS_AUTH_URL --os_region_name OS_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 update aggregate ...
aggregate-host
#!bash nova aggregate-add-host <id> <host> os add aggregate-host ...
#!bash nova aggregate-remove-host <id> <host> os remove aggregate-host ...
aggregate-metadata
#!bash nova aggregate-set-metadata <id> <key=value> [<key=value> ...] os set aggregate-metagata ...
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 get console ...
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-delete-domain <domain> os delete dns-domain ...
#!bash nova dns-domains os list dns-domains
dns-private-domain
#!bash nova dns-create-private-domain [--availability_zone <availability_zone>] <domain> os create dns-private-domain ...
dns-public-domain
#!bash nova dns-create-public-domain [--project <project>] <domain> os create dns-public-domain ...
endpoints
#!bash nova endpoints os list endpoints
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 update 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 add 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 update 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 update 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 add 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 add 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 boot 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 live-migration [--block_migrate] [--disk_over_commit] <server> <host> os live-migrate server ...
#!bash nova lock <server> os lock server ...
#!bash nova migrate [--poll] <server> os migrate server ...
#!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> nova resize-confirm <server> os resize server ... [--confirm]
#!bash nova resume <server> os resume server ...
#!bash nova resize-revert <server> os revert server ...
#!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 ...
vnc-console
#!bash nova get-vnc-console <server> <console_type> os get vnc-console ...
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: add, clear, delete, details, index, replace, show, update
- Objects: image, member, members
#!bash '''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 clear image ...
#!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 update 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 replace image-member ...
Verbs
- add (remove)
- attach (detach)
- boot
- clear
- create (delete)
- delete (create)
- detach (attach)
- get
- index
- list
- lock (unlock)
- migrate
- pause (unpause)
- reboot
- rebuild
- remove (Add)
- rename
- replace
- rescue (unrescue)
- resize
- resume (suspend)
- set
- show
- ssh
- suspend (resume)
- update
- unlock (lock)
- unpause (pause)
- unrescue (rescue)
- update