I think this approach - to treat the parameter as ID, if fails - as name is far from perfect. Here is a situation when it gets wrong result:
(openstack) user show Newuser +----------+----------------------------------+ | Field | Value | +----------+----------------------------------+ | email | None | | enabled | True | | id | 66433a960fbd44599e1f4cccfd6489a8 | | name | Newuser | | username | Newuser | +----------+----------------------------------+
(openstack) user create 66433a960fbd44599e1f4cccfd6489a8 +----------+----------------------------------+ | Field | Value | +----------+----------------------------------+ | email | None | | enabled | True | | id | 3c1fea7066a84cc6a5ccf2292de5893d | | name | 66433a960fbd44599e1f4cccfd6489a8 | | username | 66433a960fbd44599e1f4cccfd6489a8 | +----------+----------------------------------+
(openstack) user show 66433a960fbd44599e1f4cccfd6489a8 +----------+----------------------------------+ | Field | Value | +----------+----------------------------------+ | email | None | | enabled | True | | id | 66433a960fbd44599e1f4cccfd6489a8 | | name | Newuser | | username | Newuser | +----------+----------------------------------+
I think this approach - to treat the parameter as ID, if fails - as name is far from perfect. Here is a situation when it gets wrong result:
(openstack) user show Newuser ----+-- ------- ------- ------- ------- ----+ ----+-- ------- ------- ------- ------- ----+ 99e1f4cccfd6489 a8 | ----+-- ------- ------- ------- ------- ----+
+------
| Field | Value |
+------
| email | None |
| enabled | True |
| id | 66433a960fbd445
| name | Newuser |
| username | Newuser |
+------
(openstack) user create 66433a960fbd445 99e1f4cccfd6489 a8 ----+-- ------- ------- ------- ------- ----+ ----+-- ------- ------- ------- ------- ----+ 6a5ccf2292de589 3d | 99e1f4cccfd6489 a8 | 99e1f4cccfd6489 a8 | ----+-- ------- ------- ------- ------- ----+
+------
| Field | Value |
+------
| email | None |
| enabled | True |
| id | 3c1fea7066a84cc
| name | 66433a960fbd445
| username | 66433a960fbd445
+------
(openstack) user show 66433a960fbd445 99e1f4cccfd6489 a8 ----+-- ------- ------- ------- ------- ----+ ----+-- ------- ------- ------- ------- ----+ 99e1f4cccfd6489 a8 | ----+-- ------- ------- ------- ------- ----+
+------
| Field | Value |
+------
| email | None |
| enabled | True |
| id | 66433a960fbd445
| name | Newuser |
| username | Newuser |
+------