_openstack()
{
  local cur prev words
  COMPREPLY=()
  _get_comp_words_by_ref -n : cur prev words

  # Command data:
  cmds='access address aggregate application availability catalog command complete compute configuration consistency console consumer container credential domain ec2 endpoint extension federation flavor floating group help host hypervisor identity image implied ip keypair limit limits mapping module network object policy port project quota region registered request role router security server service subnet token trust usage user versions volume'
  cmds_access='rule token'
  cmds_access_rule='delete list show'
  cmds_access_rule_delete='-h --help'
  cmds_access_rule_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --user --user-domain'
  cmds_access_rule_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_access_token='create'
  cmds_access_token_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --consumer-key --consumer-secret --request-key --request-secret --verifier'
  cmds_address='scope'
  cmds_address_scope='create delete list set show'
  cmds_address_scope_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --ip-version --project --project-domain --share --no-share'
  cmds_address_scope_delete='-h --help'
  cmds_address_scope_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --name --ip-version --project --project-domain --share --no-share'
  cmds_address_scope_set='-h --help --name --share --no-share'
  cmds_address_scope_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_aggregate='add create delete list remove set show unset'
  cmds_aggregate_add='host'
  cmds_aggregate_add_host='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_aggregate_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --zone --property'
  cmds_aggregate_delete='-h --help'
  cmds_aggregate_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --long'
  cmds_aggregate_remove='host'
  cmds_aggregate_remove_host='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_aggregate_set='-h --help --name --zone --property --no-property'
  cmds_aggregate_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_aggregate_unset='-h --help --property'
  cmds_application='credential'
  cmds_application_credential='create delete list show'
  cmds_application_credential_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --secret --role --expiration --description --unrestricted --restricted --access-rules'
  cmds_application_credential_delete='-h --help'
  cmds_application_credential_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --user --user-domain'
  cmds_application_credential_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_availability='zone'
  cmds_availability_zone='list'
  cmds_availability_zone_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --compute --network --volume --long'
  cmds_catalog='list show'
  cmds_catalog_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_catalog_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_command='list'
  cmds_command_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --group'
  cmds_complete='-h --help --name --openstack'
  cmds_compute='agent service'
  cmds_compute_agent='create delete list set'
  cmds_compute_agent_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_compute_agent_delete='-h --help'
  cmds_compute_agent_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --hypervisor'
  cmds_compute_agent_set='-h --help --agent-version --url --md5hash'
  cmds_compute_service='delete list set'
  cmds_compute_service_delete='-h --help'
  cmds_compute_service_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --host --service --long'
  cmds_compute_service_set='-h --help --enable --disable --disable-reason --up --down'
  cmds_configuration='show'
  cmds_configuration_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --mask --unmask'
  cmds_consistency='group'
  cmds_consistency_group='add create delete list remove set show snapshot'
  cmds_consistency_group_add='volume'
  cmds_consistency_group_add_volume='-h --help'
  cmds_consistency_group_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --volume-type --consistency-group-source --consistency-group-snapshot --description --availability-zone'
  cmds_consistency_group_delete='-h --help --force'
  cmds_consistency_group_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --all-projects --long'
  cmds_consistency_group_remove='volume'
  cmds_consistency_group_remove_volume='-h --help'
  cmds_consistency_group_set='-h --help --name --description'
  cmds_consistency_group_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_consistency_group_snapshot='create delete list show'
  cmds_consistency_group_snapshot_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --consistency-group --description'
  cmds_consistency_group_snapshot_delete='-h --help'
  cmds_consistency_group_snapshot_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --all-projects --long --status --consistency-group'
  cmds_consistency_group_snapshot_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_console='log url'
  cmds_console_log='show'
  cmds_console_log_show='-h --help --lines'
  cmds_console_url='show'
  cmds_console_url_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --novnc --xvpvnc --spice --rdp --serial --mks'
  cmds_consumer='create delete list set show'
  cmds_consumer_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description'
  cmds_consumer_delete='-h --help'
  cmds_consumer_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_consumer_set='-h --help --description'
  cmds_consumer_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_container='create delete list save set show unset'
  cmds_container_create='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --public --storage-policy'
  cmds_container_delete='-h --help --recursive -r'
  cmds_container_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --prefix --marker --end-marker --limit --long --all'
  cmds_container_save='-h --help'
  cmds_container_set='-h --help --property'
  cmds_container_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_container_unset='-h --help --property'
  cmds_credential='create delete list set show'
  cmds_credential_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --type --project'
  cmds_credential_delete='-h --help'
  cmds_credential_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --user --user-domain --type'
  cmds_credential_set='-h --help --user --type --data --project'
  cmds_credential_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_domain='create delete list set show'
  cmds_domain_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description --enable --disable --or-show'
  cmds_domain_delete='-h --help'
  cmds_domain_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_domain_set='-h --help --name --description --enable --disable'
  cmds_domain_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_ec2='credentials'
  cmds_ec2_credentials='create delete list show'
  cmds_ec2_credentials_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --project --user --user-domain --project-domain'
  cmds_ec2_credentials_delete='-h --help --user --user-domain'
  cmds_ec2_credentials_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --user --user-domain'
  cmds_ec2_credentials_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --user --user-domain'
  cmds_endpoint='add create delete group list remove set show'
  cmds_endpoint_add='project'
  cmds_endpoint_add_project='-h --help --project-domain'
  cmds_endpoint_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --region --enable --disable'
  cmds_endpoint_delete='-h --help'
  cmds_endpoint_group='add create delete list remove set show'
  cmds_endpoint_group_add='project'
  cmds_endpoint_group_add_project='-h --help --project-domain'
  cmds_endpoint_group_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description'
  cmds_endpoint_group_delete='-h --help'
  cmds_endpoint_group_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --endpointgroup --project --domain'
  cmds_endpoint_group_remove='project'
  cmds_endpoint_group_remove_project='-h --help --project-domain'
  cmds_endpoint_group_set='-h --help --name --filters --description'
  cmds_endpoint_group_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_endpoint_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --service --interface --region --endpoint --project --project-domain'
  cmds_endpoint_remove='project'
  cmds_endpoint_remove_project='-h --help --project-domain'
  cmds_endpoint_set='-h --help --region --interface --url --service --enable --disable'
  cmds_endpoint_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_extension='list show'
  cmds_extension_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --compute --identity --network --volume --long'
  cmds_extension_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_federation='domain project protocol'
  cmds_federation_domain='list'
  cmds_federation_domain_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_federation_project='list'
  cmds_federation_project_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_federation_protocol='create delete list set show'
  cmds_federation_protocol_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --identity-provider --mapping'
  cmds_federation_protocol_delete='-h --help --identity-provider'
  cmds_federation_protocol_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --identity-provider'
  cmds_federation_protocol_set='-h --help --identity-provider --mapping'
  cmds_federation_protocol_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --identity-provider'
  cmds_flavor='create delete list set show unset'
  cmds_flavor_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --id --ram --disk --ephemeral --swap --vcpus --rxtx-factor --public --private --property --project --description --project-domain'
  cmds_flavor_delete='-h --help'
  cmds_flavor_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --public --private --all --long --marker --limit'
  cmds_flavor_set='-h --help --no-property --property --project --description --project-domain'
  cmds_flavor_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_flavor_unset='-h --help --property --project --project-domain'
  cmds_floating='ip'
  cmds_floating_ip='create delete list pool port set show unset'
  cmds_floating_ip_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --subnet --port --floating-ip-address --fixed-ip-address --qos-policy --description --project --dns-domain --dns-name --project-domain --tag --no-tag'
  cmds_floating_ip_delete='-h --help'
  cmds_floating_ip_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --network --port --fixed-ip-address --floating-ip-address --long --status --project --project-domain --router --tags --any-tags --not-tags --not-any-tags'
  cmds_floating_ip_pool='list'
  cmds_floating_ip_pool_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_floating_ip_port='forwarding'
  cmds_floating_ip_port_forwarding='create delete list set show'
  cmds_floating_ip_port_forwarding_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --internal-ip-address --port --internal-protocol-port --external-protocol-port --protocol'
  cmds_floating_ip_port_forwarding_delete='-h --help'
  cmds_floating_ip_port_forwarding_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --port --external-protocol-port --protocol'
  cmds_floating_ip_port_forwarding_set='-h --help --port --internal-ip-address --internal-protocol-port --external-protocol-port --protocol'
  cmds_floating_ip_port_forwarding_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_floating_ip_set='-h --help --port --fixed-ip-address --description --qos-policy --no-qos-policy --tag --no-tag'
  cmds_floating_ip_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_floating_ip_unset='-h --help --port --qos-policy --tag --all-tag'
  cmds_group='add contains create delete list remove set show'
  cmds_group_add='user'
  cmds_group_add_user='-h --help --group-domain --user-domain'
  cmds_group_contains='user'
  cmds_group_contains_user='-h --help --group-domain --user-domain'
  cmds_group_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --domain --description --or-show'
  cmds_group_delete='-h --help --domain'
  cmds_group_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --domain --user --user-domain --long'
  cmds_group_remove='user'
  cmds_group_remove_user='-h --help --group-domain --user-domain'
  cmds_group_set='-h --help --domain --name --description'
  cmds_group_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --domain'
  cmds_help='-h --help'
  cmds_host='list set show'
  cmds_host_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --zone'
  cmds_host_set='-h --help --enable --disable --enable-maintenance --disable-maintenance'
  cmds_host_show='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_hypervisor='list show stats'
  cmds_hypervisor_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --matching --long'
  cmds_hypervisor_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_hypervisor_stats='show'
  cmds_hypervisor_stats_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_identity='provider'
  cmds_identity_provider='create delete list set show'
  cmds_identity_provider_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --remote-id --remote-id-file --description --domain --enable --disable'
  cmds_identity_provider_delete='-h --help'
  cmds_identity_provider_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_identity_provider_set='-h --help --description --remote-id --remote-id-file --enable --disable'
  cmds_identity_provider_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_image='add create delete list member remove save set show unset'
  cmds_image_add='project'
  cmds_image_add_project='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --project-domain'
  cmds_image_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --id --container-format --disk-format --min-disk --min-ram --file --volume --force --sign-key-path --sign-cert-id --protected --unprotected --public --private --community --shared --property --tag --project --project-domain --size --location --copy-from --checksum --store'
  cmds_image_delete='-h --help'
  cmds_image_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --public --private --community --shared --property --name --status --member-status --tag --long --page-size --sort --limit --marker'
  cmds_image_member='list'
  cmds_image_member_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --project-domain'
  cmds_image_remove='project'
  cmds_image_remove_project='-h --help --project-domain'
  cmds_image_save='-h --help --file'
  cmds_image_set='-h --help --name --min-disk --min-ram --container-format --disk-format --protected --unprotected --public --private --community --shared --property --tag --architecture --instance-id --instance-uuid --kernel-id --os-distro --os-version --ramdisk-id --deactivate --activate --project --project-domain --visibility --accept --reject --pending'
  cmds_image_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --human-readable'
  cmds_image_unset='-h --help --tag --property'
  cmds_implied='role'
  cmds_implied_role='create delete list'
  cmds_implied_role_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --implied-role'
  cmds_implied_role_delete='-h --help --implied-role'
  cmds_implied_role_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_ip='availability'
  cmds_ip_availability='list show'
  cmds_ip_availability_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --ip-version --project --project-domain'
  cmds_ip_availability_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_keypair='create delete list show'
  cmds_keypair_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --public-key --private-key'
  cmds_keypair_delete='-h --help'
  cmds_keypair_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_keypair_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --public-key'
  cmds_limit='create delete list set show'
  cmds_limit_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description --region --project --service --resource-limit'
  cmds_limit_delete='-h --help'
  cmds_limit_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --service --resource-name --region --project'
  cmds_limit_set='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description --resource-limit'
  cmds_limit_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_limits='show'
  cmds_limits_show='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --absolute --rate --reserved --project --domain'
  cmds_mapping='create delete list set show'
  cmds_mapping_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --rules'
  cmds_mapping_delete='-h --help'
  cmds_mapping_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_mapping_set='-h --help --rules'
  cmds_mapping_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_module='list'
  cmds_module_list='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --all'
  cmds_network='agent auto create delete flavor list meter qos rbac segment service set show unset'
  cmds_network_agent='add delete list remove set show'
  cmds_network_agent_add='network router'
  cmds_network_agent_add_network='-h --help --dhcp'
  cmds_network_agent_add_router='-h --help --l3'
  cmds_network_agent_delete='-h --help'
  cmds_network_agent_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --agent-type --host --network --router --long'
  cmds_network_agent_remove='network router'
  cmds_network_agent_remove_network='-h --help --dhcp'
  cmds_network_agent_remove_router='-h --help --l3'
  cmds_network_agent_set='-h --help --description --enable --disable'
  cmds_network_agent_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_auto='allocated'
  cmds_network_auto_allocated='topology'
  cmds_network_auto_allocated_topology='create delete'
  cmds_network_auto_allocated_topology_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --project --project-domain --check-resources --or-show'
  cmds_network_auto_allocated_topology_delete='-h --help --project --project-domain'
  cmds_network_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --share --no-share --enable --disable --project --description --mtu --project-domain --availability-zone-hint --enable-port-security --disable-port-security --external --internal --default --no-default --qos-policy --transparent-vlan --no-transparent-vlan --provider-network-type --provider-physical-network --provider-segment --dns-domain --tag --no-tag'
  cmds_network_delete='-h --help'
  cmds_network_flavor='add create delete list profile remove set show'
  cmds_network_flavor_add='profile'
  cmds_network_flavor_add_profile='-h --help'
  cmds_network_flavor_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --service-type --description --project --project-domain --enable --disable'
  cmds_network_flavor_delete='-h --help'
  cmds_network_flavor_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_network_flavor_profile='create delete list set show'
  cmds_network_flavor_profile_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --project --project-domain --description --enable --disable --driver --metainfo'
  cmds_network_flavor_profile_delete='-h --help'
  cmds_network_flavor_profile_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_network_flavor_profile_set='-h --help --project-domain --description --enable --disable --driver --metainfo'
  cmds_network_flavor_profile_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_flavor_remove='profile'
  cmds_network_flavor_remove_profile='-h --help'
  cmds_network_flavor_set='-h --help --description --disable --enable --name'
  cmds_network_flavor_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --external --internal --long --name --enable --disable --project --project-domain --share --no-share --status --provider-network-type --provider-physical-network --provider-segment --agent --tags --any-tags --not-tags --not-any-tags'
  cmds_network_meter='create delete list rule show'
  cmds_network_meter_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description --project --project-domain --share --no-share'
  cmds_network_meter_delete='-h --help'
  cmds_network_meter_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_network_meter_rule='create delete list show'
  cmds_network_meter_rule_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --project --project-domain --exclude --include --ingress --egress --remote-ip-prefix'
  cmds_network_meter_rule_delete='-h --help'
  cmds_network_meter_rule_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_network_meter_rule_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_meter_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_qos='policy rule'
  cmds_network_qos_policy='create delete list set show'
  cmds_network_qos_policy_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description --share --no-share --project --project-domain --default --no-default'
  cmds_network_qos_policy_delete='-h --help'
  cmds_network_qos_policy_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --project --project-domain --share --no-share'
  cmds_network_qos_policy_set='-h --help --name --description --share --no-share --default --no-default'
  cmds_network_qos_policy_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_qos_rule='create delete list set show type'
  cmds_network_qos_rule_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --type --max-kbps --max-burst-kbits --dscp-mark --min-kbps --ingress --egress'
  cmds_network_qos_rule_delete='-h --help'
  cmds_network_qos_rule_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_network_qos_rule_set='-h --help --max-kbps --max-burst-kbits --dscp-mark --min-kbps --ingress --egress'
  cmds_network_qos_rule_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_qos_rule_type='list show'
  cmds_network_qos_rule_type_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_network_qos_rule_type_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_rbac='create delete list set show'
  cmds_network_rbac_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --type --action --target-project --target-all-projects --target-project-domain --project --project-domain'
  cmds_network_rbac_delete='-h --help'
  cmds_network_rbac_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --type --action --long'
  cmds_network_rbac_set='-h --help --target-project --target-project-domain'
  cmds_network_rbac_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_segment='create delete list range set show'
  cmds_network_segment_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description --physical-network --segment --network --network-type'
  cmds_network_segment_delete='-h --help'
  cmds_network_segment_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --long --network'
  cmds_network_segment_range='create delete list set show'
  cmds_network_segment_range_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --private --shared --project --project-domain --network-type --physical-network --minimum --maximum'
  cmds_network_segment_range_delete='-h --help'
  cmds_network_segment_range_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --long --used --unused --available --unavailable'
  cmds_network_segment_range_set='-h --help --name --minimum --maximum'
  cmds_network_segment_range_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_segment_set='-h --help --description --name'
  cmds_network_segment_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_service='provider'
  cmds_network_service_provider='list'
  cmds_network_service_provider_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_network_set='-h --help --name --enable --disable --share --no-share --description --mtu --enable-port-security --disable-port-security --external --internal --default --no-default --qos-policy --no-qos-policy --tag --no-tag --provider-network-type --provider-physical-network --provider-segment --dns-domain'
  cmds_network_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_network_unset='-h --help --tag --all-tag'
  cmds_object='create delete list save set show store unset'
  cmds_object_create='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --name'
  cmds_object_delete='-h --help'
  cmds_object_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --prefix --delimiter --marker --end-marker --limit --long --all'
  cmds_object_save='-h --help --file'
  cmds_object_set='-h --help --property'
  cmds_object_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_object_store='account'
  cmds_object_store_account='set show unset'
  cmds_object_store_account_set='-h --help --property'
  cmds_object_store_account_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_object_store_account_unset='-h --help --property'
  cmds_object_unset='-h --help --property'
  cmds_policy='create delete list set show'
  cmds_policy_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --type'
  cmds_policy_delete='-h --help'
  cmds_policy_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --long'
  cmds_policy_set='-h --help --type --rules'
  cmds_policy_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_port='create delete list set show unset'
  cmds_port_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --network --description --device --mac-address --device-owner --vnic-type --host --dns-domain --dns-name --fixed-ip --no-fixed-ip --binding-profile --enable --disable --enable-uplink-status-propagation --disable-uplink-status-propagation --project --project-domain --extra-dhcp-option --security-group --no-security-group --qos-policy --enable-port-security --disable-port-security --allowed-address --tag --no-tag'
  cmds_port_delete='-h --help'
  cmds_port_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --device-owner --network --router --server --device-id --mac-address --long --project --project-domain --fixed-ip --tags --any-tags --not-tags --not-any-tags'
  cmds_port_set='-h --help --description --device --mac-address --device-owner --vnic-type --host --dns-domain --dns-name --enable --disable --name --fixed-ip --no-fixed-ip --binding-profile --no-binding-profile --qos-policy --security-group --no-security-group --enable-port-security --disable-port-security --allowed-address --no-allowed-address --data-plane-status --tag --no-tag'
  cmds_port_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_port_unset='-h --help --fixed-ip --binding-profile --security-group --allowed-address --qos-policy --data-plane-status --tag --all-tag'
  cmds_project='create delete list purge set show'
  cmds_project_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --domain --parent --description --enable --disable --property --or-show --tag'
  cmds_project_delete='-h --help --domain'
  cmds_project_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --domain --parent --user --my-projects --long --sort --tags --tags-any --not-tags --not-tags-any'
  cmds_project_purge='-h --help --dry-run --keep-project --auth-project --project --project-domain'
  cmds_project_set='-h --help --name --domain --description --enable --disable --property --tag --clear-tags --remove-tag'
  cmds_project_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --domain --parents --children'
  cmds_quota='list set show'
  cmds_quota_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --project --detail --compute --volume --network'
  cmds_quota_set='-h --help --class --cores --fixed-ips --injected-file-size --injected-path-size --injected-files --instances --key-pairs --properties --ram --server-groups --server-group-members --backups --backup-gigabytes --gigabytes --per-volume-gigabytes --snapshots --volumes --floating-ips --secgroup-rules --secgroups --networks --subnets --ports --routers --rbac-policies --subnetpools --volume-type'
  cmds_quota_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --class --default'
  cmds_region='create delete list set show'
  cmds_region_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --parent-region --description'
  cmds_region_delete='-h --help'
  cmds_region_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --parent-region'
  cmds_region_set='-h --help --parent-region --description'
  cmds_region_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_registered='limit'
  cmds_registered_limit='create delete list set show'
  cmds_registered_limit_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description --region --service --default-limit'
  cmds_registered_limit_delete='-h --help'
  cmds_registered_limit_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --service --resource-name --region'
  cmds_registered_limit_set='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --service --resource-name --default-limit --description --region'
  cmds_registered_limit_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_request='token'
  cmds_request_token='authorize create'
  cmds_request_token_authorize='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --request-key --role'
  cmds_request_token_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --consumer-key --consumer-secret --project --domain'
  cmds_role='add assignment create delete list remove set show'
  cmds_role_add='-h --help --system --domain --project --user --group --group-domain --project-domain --user-domain --inherited --role-domain'
  cmds_role_assignment='list'
  cmds_role_assignment_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --effective --role --role-domain --names --user --user-domain --group --group-domain --domain --project --system --project-domain --inherited --auth-user --auth-project'
  cmds_role_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description --domain --or-show'
  cmds_role_delete='-h --help --domain'
  cmds_role_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --domain'
  cmds_role_remove='-h --help --system --domain --project --user --group --group-domain --project-domain --user-domain --inherited --role-domain'
  cmds_role_set='-h --help --description --domain --name'
  cmds_role_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --domain'
  cmds_router='add create delete list remove set show unset'
  cmds_router_add='port subnet'
  cmds_router_add_port='-h --help'
  cmds_router_add_subnet='-h --help'
  cmds_router_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --enable --disable --distributed --centralized --ha --no-ha --description --project --project-domain --availability-zone-hint --tag --no-tag'
  cmds_router_delete='-h --help'
  cmds_router_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --name --enable --disable --long --project --project-domain --agent --tags --any-tags --not-tags --not-any-tags'
  cmds_router_remove='port subnet'
  cmds_router_remove_port='-h --help'
  cmds_router_remove_subnet='-h --help'
  cmds_router_set='-h --help --name --description --enable --disable --distributed --centralized --route --no-route --ha --no-ha --external-gateway --fixed-ip --enable-snat --disable-snat --qos-policy --no-qos-policy --tag --no-tag'
  cmds_router_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_router_unset='-h --help --route --external-gateway --qos-policy --tag --all-tag'
  cmds_security='group'
  cmds_security_group='create delete list rule set show unset'
  cmds_security_group_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description --project --project-domain --tag --no-tag'
  cmds_security_group_delete='-h --help'
  cmds_security_group_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --all-projects --project --project-domain --tags --any-tags --not-tags --not-any-tags'
  cmds_security_group_rule='create delete list show'
  cmds_security_group_rule_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --remote-ip --remote-group --dst-port --protocol --proto --description --icmp-type --icmp-code --ingress --egress --ethertype --project --project-domain'
  cmds_security_group_rule_delete='-h --help'
  cmds_security_group_rule_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --all-projects --protocol --ethertype --ingress --egress --long'
  cmds_security_group_rule_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_security_group_set='-h --help --name --description --tag --no-tag'
  cmds_security_group_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_security_group_unset='-h --help --tag --all-tag'
  cmds_server='add backup create delete dump event group image list lock migrate migrate_confirm migrate_revert pause reboot rebuild remove rescue resize resize_confirm resize_revert restore resume set shelve show ssh start stop suspend unlock unpause unrescue unset unshelve'
  cmds_server_add='fixed floating network port security volume'
  cmds_server_add_fixed='ip'
  cmds_server_add_fixed_ip='-h --help --fixed-ip-address'
  cmds_server_add_floating='ip'
  cmds_server_add_floating_ip='-h --help --fixed-ip-address'
  cmds_server_add_network='-h --help'
  cmds_server_add_port='-h --help'
  cmds_server_add_security='group'
  cmds_server_add_security_group='-h --help'
  cmds_server_add_volume='-h --help --device --enable-delete-on-termination --disable-delete-on-termination'
  cmds_server_backup='create'
  cmds_server_backup_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --name --type --rotate --wait'
  cmds_server_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --image --image-property --volume --flavor --security-group --key-name --property --file --user-data --description --availability-zone --host --hypervisor-hostname --boot-from-volume --block-device-mapping --nic --network --port --hint --config-drive --min --max --wait'
  cmds_server_delete='-h --help --wait'
  cmds_server_dump='create'
  cmds_server_dump_create='-h --help'
  cmds_server_event='list show'
  cmds_server_event_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --long'
  cmds_server_event_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_server_group='create delete list show'
  cmds_server_group_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --policy'
  cmds_server_group_delete='-h --help'
  cmds_server_group_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --all-projects --long'
  cmds_server_group_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_server_image='create'
  cmds_server_image_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --name --wait'
  cmds_server_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --reservation-id --ip --ip6 --name --instance-name --status --flavor --image --host --all-projects --project --project-domain --user --user-domain --long -n --no-name-lookup --name-lookup-one-by-one --marker --limit --deleted --changes-before --changes-since --locked --unlocked'
  cmds_server_lock='-h --help --reason'
  cmds_server_migrate='-h --help --live-migration --live --host --shared-migration --block-migration --disk-overcommit --no-disk-overcommit --wait confirm revert'
  cmds_server_migrate_confirm='-h --help'
  cmds_server_migrate_revert='-h --help'
  cmds_server_pause='-h --help'
  cmds_server_reboot='-h --help --hard --soft --wait'
  cmds_server_rebuild='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --image --password --property --description --wait --key-name --key-unset'
  cmds_server_remove='fixed floating network port security volume'
  cmds_server_remove_fixed='ip'
  cmds_server_remove_fixed_ip='-h --help'
  cmds_server_remove_floating='ip'
  cmds_server_remove_floating_ip='-h --help'
  cmds_server_remove_network='-h --help'
  cmds_server_remove_port='-h --help'
  cmds_server_remove_security='group'
  cmds_server_remove_security_group='-h --help'
  cmds_server_remove_volume='-h --help'
  cmds_server_rescue='-h --help --image --password'
  cmds_server_resize='-h --help --flavor --confirm --revert --wait confirm revert'
  cmds_server_resize_confirm='-h --help'
  cmds_server_resize_revert='-h --help'
  cmds_server_restore='-h --help'
  cmds_server_resume='-h --help'
  cmds_server_set='-h --help --name --root-password --property --state --description'
  cmds_server_shelve='-h --help'
  cmds_server_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --diagnostics'
  cmds_server_ssh='-h --help --login -l --port -p --identity -i --option -o -4 -6 --public --private --address-type -v'
  cmds_server_start='-h --help'
  cmds_server_stop='-h --help'
  cmds_server_suspend='-h --help'
  cmds_server_unlock='-h --help'
  cmds_server_unpause='-h --help'
  cmds_server_unrescue='-h --help'
  cmds_server_unset='-h --help --property --description'
  cmds_server_unshelve='-h --help --availability-zone'
  cmds_service='create delete list provider set show'
  cmds_service_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --name --description --enable --disable'
  cmds_service_delete='-h --help'
  cmds_service_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --long'
  cmds_service_provider='create delete list set show'
  cmds_service_provider_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --auth-url --description --service-provider-url --enable --disable'
  cmds_service_provider_delete='-h --help'
  cmds_service_provider_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_service_provider_set='-h --help --auth-url --description --service-provider-url --enable --disable'
  cmds_service_provider_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_service_set='-h --help --type --name --description --enable --disable'
  cmds_service_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_subnet='create delete list pool set show unset'
  cmds_subnet_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --project --project-domain --subnet-pool --use-prefix-delegation --use-default-subnet-pool --prefix-length --subnet-range --dhcp --no-dhcp --dns-publish-fixed-ip --no-dns-publish-fixed-ip --gateway --ip-version --ipv6-ra-mode --ipv6-address-mode --network-segment --network --description --allocation-pool --dns-nameserver --host-route --service-type --tag --no-tag'
  cmds_subnet_delete='-h --help'
  cmds_subnet_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --long --ip-version --dhcp --no-dhcp --service-type --project --project-domain --network --gateway --name --subnet-range --tags --any-tags --not-tags --not-any-tags'
  cmds_subnet_pool='create delete list set show unset'
  cmds_subnet_pool_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --pool-prefix --default-prefix-length --min-prefix-length --max-prefix-length --project --project-domain --address-scope --default --no-default --share --no-share --description --default-quota --tag --no-tag'
  cmds_subnet_pool_delete='-h --help'
  cmds_subnet_pool_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --long --share --no-share --default --no-default --project --project-domain --name --address-scope --tags --any-tags --not-tags --not-any-tags'
  cmds_subnet_pool_set='-h --help --name --pool-prefix --default-prefix-length --min-prefix-length --max-prefix-length --address-scope --no-address-scope --default --no-default --description --default-quota --tag --no-tag'
  cmds_subnet_pool_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_subnet_pool_unset='-h --help --tag --all-tag'
  cmds_subnet_set='-h --help --name --dhcp --no-dhcp --dns-publish-fixed-ip --no-dns-publish-fixed-ip --gateway --network-segment --description --tag --no-tag --allocation-pool --no-allocation-pool --dns-nameserver --no-dns-nameservers --host-route --no-host-route --service-type'
  cmds_subnet_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_subnet_unset='-h --help --allocation-pool --dns-nameserver --host-route --service-type --tag --all-tag'
  cmds_token='issue revoke'
  cmds_token_issue='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_token_revoke='-h --help'
  cmds_trust='create delete list show'
  cmds_trust_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --project --role --impersonate --expiration --project-domain --trustor-domain --trustee-domain'
  cmds_trust_delete='-h --help'
  cmds_trust_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_trust_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_usage='list show'
  cmds_usage_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --start --end'
  cmds_usage_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --project --start --end'
  cmds_user='create delete list password set show'
  cmds_user_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --domain --project --project-domain --password --password-prompt --email --description --enable --disable --or-show'
  cmds_user_delete='-h --help --domain'
  cmds_user_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --domain --group --project --long'
  cmds_user_password='set'
  cmds_user_password_set='-h --help --password --original-password'
  cmds_user_set='-h --help --name --domain --project --project-domain --password --password-prompt --email --description --enable --disable'
  cmds_user_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --domain'
  cmds_versions='show'
  cmds_versions_show='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --all-interfaces --interface --region-name --service --status'
  cmds_volume='backup create delete host list migrate qos service set show snapshot transfer type unset'
  cmds_volume_backup='create delete list restore set show'
  cmds_volume_backup_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --name --description --container --snapshot --force --incremental'
  cmds_volume_backup_delete='-h --help --force'
  cmds_volume_backup_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --long --name --status --volume --marker --limit --all-projects'
  cmds_volume_backup_restore='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_volume_backup_set='-h --help --name --description --state'
  cmds_volume_backup_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_volume_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --size --type --image --snapshot --source --source-replicated --description --availability-zone --consistency-group --property --hint --bootable --non-bootable --read-only --read-write'
  cmds_volume_delete='-h --help --force --purge'
  cmds_volume_host='set'
  cmds_volume_host_set='-h --help --disable --enable'
  cmds_volume_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --project --project-domain --user --user-domain --name --status --all-projects --long --marker --limit'
  cmds_volume_migrate='-h --help --host --force-host-copy --lock-volume'
  cmds_volume_qos='associate create delete disassociate list set show unset'
  cmds_volume_qos_associate='-h --help'
  cmds_volume_qos_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --consumer --property'
  cmds_volume_qos_delete='-h --help --force'
  cmds_volume_qos_disassociate='-h --help --volume-type --all'
  cmds_volume_qos_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column'
  cmds_volume_qos_set='-h --help --property'
  cmds_volume_qos_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_volume_qos_unset='-h --help --property'
  cmds_volume_service='list set'
  cmds_volume_service_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --host --service --long'
  cmds_volume_service_set='-h --help --enable --disable --disable-reason'
  cmds_volume_set='-h --help --name --size --description --no-property --property --image-property --state --attached --detached --type --retype-policy --bootable --non-bootable --read-only --read-write'
  cmds_volume_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_volume_snapshot='create delete list set show unset'
  cmds_volume_snapshot_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --volume --description --force --property --remote-source'
  cmds_volume_snapshot_delete='-h --help --force'
  cmds_volume_snapshot_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --all-projects --project --project-domain --long --marker --limit --name --status --volume'
  cmds_volume_snapshot_set='-h --help --name --description --no-property --property --state'
  cmds_volume_snapshot_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_volume_snapshot_unset='-h --help --property'
  cmds_volume_transfer='request'
  cmds_volume_transfer_request='accept create delete list show'
  cmds_volume_transfer_request_accept='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --auth-key'
  cmds_volume_transfer_request_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --name'
  cmds_volume_transfer_request_delete='-h --help'
  cmds_volume_transfer_request_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --all-projects'
  cmds_volume_transfer_request_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty'
  cmds_volume_type='create delete list set show unset'
  cmds_volume_type_create='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --description --public --private --property --project --encryption-provider --encryption-cipher --encryption-key-size --encryption-control-location --project-domain'
  cmds_volume_type_delete='-h --help'
  cmds_volume_type_list='-h --help -f --format -c --column --quote --noindent --max-width --fit-width --print-empty --sort-column --long --default --public --private --encryption-type'
  cmds_volume_type_set='-h --help --name --description --property --project --project-domain --encryption-provider --encryption-cipher --encryption-key-size --encryption-control-location'
  cmds_volume_type_show='-h --help -f --format -c --column --noindent --variable --prefix --max-width --fit-width --print-empty --encryption-type'
  cmds_volume_type_unset='-h --help --property --project --project-domain --encryption-type'
  cmds_volume_unset='-h --help --property --image-property'

  dash=-
  underscore=_
  cmd=""
  words[0]=""
  completed="${cmds}"
  for var in "${words[@]:1}"
  do
    if [[ ${var} == -* ]] ; then
      break
    fi
    if [ -z "${cmd}" ] ; then
      proposed="${var}"
    else
      proposed="${cmd}_${var}"
    fi
    local i="cmds_${proposed}"
    i=${i//$dash/$underscore}
    local comp="${!i}"
    if [ -z "${comp}" ] ; then
      break
    fi
    if [[ ${comp} == -* ]] ; then
      if [[ ${cur} != -* ]] ; then
        completed=""
        break
      fi
    fi
    cmd="${proposed}"
    completed="${comp}"
  done

  if [ -z "${completed}" ] ; then
    COMPREPLY=( $( compgen -f -- "$cur" ) $( compgen -d -- "$cur" ) )
  else
    COMPREPLY=( $(compgen -W "${completed}" -- ${cur}) )
  fi
  return 0
}
complete -F _openstack openstack
