the command do not work, when I want to show the nova's endpoints:
openstack endpoint show nova
it will report error:
More than one endpoint exists with the name 'nova'.
When you check your endpoints, you will likely find that they reside in an Interface environment.
% openstack endpoint list -c ID -c "Service Name" -c Interface --service nova
+----------------------------------+--------------+-----------+
| ID | Service Name | Interface |
+----------------------------------+--------------+-----------+
| 2d45aed973da34f7d28b8c9e410bba5e | nova | public |
| 7de83faa23d4ee5b39a8b7de45b8ee15 | nova | internal |
| ab8374d8b8f233fe11cda487bfe98ad7 | nova | admin |
+----------------------------------+--------------+-----------+
Similarily, you can filter only endpoints in a specific interface
% openstack endpoint list --interface public
For your command then use the ID instead of the name of the Service Name, e.g. this would give me the admin nova API:
openstack endpoint show ab8374d8b8f233fe11cda487bfe98ad7