python-openstackclient 6.6.1__py3-none-any.whl → 7.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. openstackclient/api/api.py +4 -4
  2. openstackclient/api/compute_v2.py +352 -638
  3. openstackclient/api/image_v1.py +1 -1
  4. openstackclient/api/object_store_v1.py +3 -4
  5. openstackclient/common/availability_zone.py +1 -1
  6. openstackclient/common/clientmanager.py +16 -4
  7. openstackclient/common/configuration.py +1 -1
  8. openstackclient/common/extension.py +1 -1
  9. openstackclient/common/limits.py +66 -32
  10. openstackclient/common/module.py +3 -3
  11. openstackclient/common/progressbar.py +2 -2
  12. openstackclient/common/project_cleanup.py +5 -2
  13. openstackclient/common/quota.py +281 -410
  14. openstackclient/common/versions.py +1 -1
  15. openstackclient/compute/client.py +7 -116
  16. openstackclient/compute/v2/agent.py +75 -49
  17. openstackclient/compute/v2/aggregate.py +9 -9
  18. openstackclient/compute/v2/console.py +2 -2
  19. openstackclient/compute/v2/flavor.py +6 -6
  20. openstackclient/compute/v2/host.py +38 -33
  21. openstackclient/compute/v2/hypervisor.py +4 -3
  22. openstackclient/compute/v2/keypair.py +7 -8
  23. openstackclient/compute/v2/server.py +478 -396
  24. openstackclient/compute/v2/server_backup.py +1 -1
  25. openstackclient/compute/v2/server_group.py +4 -4
  26. openstackclient/compute/v2/server_image.py +1 -1
  27. openstackclient/compute/v2/server_migration.py +3 -4
  28. openstackclient/compute/v2/service.py +4 -4
  29. openstackclient/compute/v2/usage.py +3 -3
  30. openstackclient/identity/common.py +34 -0
  31. openstackclient/identity/v2_0/catalog.py +2 -2
  32. openstackclient/identity/v2_0/ec2creds.py +4 -4
  33. openstackclient/identity/v2_0/endpoint.py +4 -4
  34. openstackclient/identity/v2_0/project.py +6 -6
  35. openstackclient/identity/v2_0/role.py +5 -5
  36. openstackclient/identity/v2_0/role_assignment.py +1 -1
  37. openstackclient/identity/v2_0/service.py +4 -4
  38. openstackclient/identity/v2_0/token.py +2 -2
  39. openstackclient/identity/v2_0/user.py +7 -7
  40. openstackclient/identity/v3/access_rule.py +3 -3
  41. openstackclient/identity/v3/application_credential.py +127 -45
  42. openstackclient/identity/v3/catalog.py +2 -2
  43. openstackclient/identity/v3/consumer.py +4 -4
  44. openstackclient/identity/v3/credential.py +5 -5
  45. openstackclient/identity/v3/domain.py +5 -5
  46. openstackclient/identity/v3/ec2creds.py +4 -4
  47. openstackclient/identity/v3/endpoint.py +7 -7
  48. openstackclient/identity/v3/endpoint_group.py +8 -10
  49. openstackclient/identity/v3/federation_protocol.py +5 -5
  50. openstackclient/identity/v3/group.py +8 -8
  51. openstackclient/identity/v3/identity_provider.py +5 -5
  52. openstackclient/identity/v3/implied_role.py +3 -3
  53. openstackclient/identity/v3/limit.py +5 -5
  54. openstackclient/identity/v3/mapping.py +5 -5
  55. openstackclient/identity/v3/policy.py +5 -5
  56. openstackclient/identity/v3/project.py +5 -5
  57. openstackclient/identity/v3/region.py +5 -5
  58. openstackclient/identity/v3/registered_limit.py +5 -5
  59. openstackclient/identity/v3/role.py +7 -7
  60. openstackclient/identity/v3/role_assignment.py +92 -140
  61. openstackclient/identity/v3/service.py +64 -34
  62. openstackclient/identity/v3/service_provider.py +4 -4
  63. openstackclient/identity/v3/tag.py +2 -2
  64. openstackclient/identity/v3/token.py +5 -5
  65. openstackclient/identity/v3/trust.py +3 -3
  66. openstackclient/identity/v3/user.py +144 -80
  67. openstackclient/image/client.py +4 -4
  68. openstackclient/image/v1/image.py +8 -9
  69. openstackclient/image/v2/cache.py +12 -10
  70. openstackclient/image/v2/metadef_objects.py +44 -0
  71. openstackclient/image/v2/metadef_resource_type_association.py +189 -0
  72. openstackclient/image/v2/task.py +1 -1
  73. openstackclient/network/common.py +6 -5
  74. openstackclient/network/utils.py +2 -2
  75. openstackclient/network/v2/address_group.py +6 -6
  76. openstackclient/network/v2/address_scope.py +5 -5
  77. openstackclient/network/v2/default_security_group_rule.py +1 -1
  78. openstackclient/network/v2/floating_ip.py +8 -10
  79. openstackclient/network/v2/floating_ip_pool.py +6 -15
  80. openstackclient/network/v2/floating_ip_port_forwarding.py +5 -13
  81. openstackclient/network/v2/ip_availability.py +2 -2
  82. openstackclient/network/v2/l3_conntrack_helper.py +5 -5
  83. openstackclient/network/v2/network.py +8 -8
  84. openstackclient/network/v2/network_agent.py +8 -8
  85. openstackclient/network/v2/network_auto_allocated_topology.py +2 -2
  86. openstackclient/network/v2/network_flavor.py +6 -8
  87. openstackclient/network/v2/network_flavor_profile.py +4 -4
  88. openstackclient/network/v2/network_meter.py +3 -3
  89. openstackclient/network/v2/network_meter_rule.py +3 -3
  90. openstackclient/network/v2/network_qos_policy.py +5 -5
  91. openstackclient/network/v2/network_qos_rule.py +9 -9
  92. openstackclient/network/v2/network_qos_rule_type.py +1 -1
  93. openstackclient/network/v2/network_rbac.py +5 -5
  94. openstackclient/network/v2/network_segment.py +5 -5
  95. openstackclient/network/v2/network_segment_range.py +7 -7
  96. openstackclient/network/v2/network_trunk.py +7 -7
  97. openstackclient/network/v2/port.py +26 -12
  98. openstackclient/network/v2/router.py +403 -54
  99. openstackclient/network/v2/security_group.py +18 -14
  100. openstackclient/network/v2/security_group_rule.py +18 -15
  101. openstackclient/network/v2/subnet.py +15 -8
  102. openstackclient/network/v2/subnet_pool.py +6 -6
  103. openstackclient/object/v1/account.py +2 -2
  104. openstackclient/object/v1/container.py +7 -7
  105. openstackclient/object/v1/object.py +7 -7
  106. openstackclient/shell.py +4 -6
  107. openstackclient/tests/functional/base.py +1 -1
  108. openstackclient/tests/functional/common/test_extension.py +1 -1
  109. openstackclient/tests/functional/common/test_help.py +2 -2
  110. openstackclient/tests/functional/common/test_module.py +1 -1
  111. openstackclient/tests/functional/common/test_quota.py +43 -61
  112. openstackclient/tests/functional/compute/v2/common.py +2 -2
  113. openstackclient/tests/functional/compute/v2/test_flavor.py +2 -2
  114. openstackclient/tests/functional/compute/v2/test_keypair.py +1 -1
  115. openstackclient/tests/functional/compute/v2/test_server.py +5 -5
  116. openstackclient/tests/functional/compute/v2/test_server_event.py +1 -1
  117. openstackclient/tests/functional/identity/v2/common.py +3 -3
  118. openstackclient/tests/functional/identity/v3/common.py +14 -6
  119. openstackclient/tests/functional/identity/v3/test_application_credential.py +13 -19
  120. openstackclient/tests/functional/identity/v3/test_domain.py +1 -3
  121. openstackclient/tests/functional/identity/v3/test_endpoint.py +1 -1
  122. openstackclient/tests/functional/identity/v3/test_idp.py +1 -1
  123. openstackclient/tests/functional/identity/v3/test_limit.py +2 -2
  124. openstackclient/tests/functional/identity/v3/test_region.py +1 -3
  125. openstackclient/tests/functional/identity/v3/test_registered_limit.py +1 -1
  126. openstackclient/tests/functional/identity/v3/test_role.py +2 -2
  127. openstackclient/tests/functional/identity/v3/test_role_assignment.py +210 -0
  128. openstackclient/tests/functional/identity/v3/test_service.py +4 -6
  129. openstackclient/tests/functional/identity/v3/test_service_provider.py +1 -3
  130. openstackclient/tests/functional/image/base.py +1 -1
  131. openstackclient/tests/functional/image/v2/test_image.py +1 -1
  132. openstackclient/tests/functional/image/v2/test_info.py +1 -1
  133. openstackclient/tests/functional/network/v2/common.py +4 -6
  134. openstackclient/tests/functional/network/v2/test_network.py +5 -3
  135. openstackclient/tests/functional/network/v2/test_network_agent.py +7 -5
  136. openstackclient/tests/functional/network/v2/test_network_qos_rule.py +4 -4
  137. openstackclient/tests/functional/network/v2/test_port.py +11 -7
  138. openstackclient/tests/functional/network/v2/test_router.py +2 -2
  139. openstackclient/tests/functional/object/v1/common.py +1 -1
  140. openstackclient/tests/functional/object/v1/test_container.py +3 -3
  141. openstackclient/tests/functional/object/v1/test_object.py +9 -13
  142. openstackclient/tests/functional/volume/base.py +1 -1
  143. openstackclient/tests/functional/volume/v1/test_service.py +1 -1
  144. openstackclient/tests/functional/volume/v1/test_snapshot.py +2 -2
  145. openstackclient/tests/functional/volume/v1/test_transfer_request.py +2 -2
  146. openstackclient/tests/functional/volume/v1/test_volume_type.py +1 -1
  147. openstackclient/tests/functional/volume/v2/test_service.py +2 -2
  148. openstackclient/tests/functional/volume/v2/test_volume_backup.py +2 -2
  149. openstackclient/tests/functional/volume/v2/test_volume_snapshot.py +2 -2
  150. openstackclient/tests/functional/volume/v2/test_volume_type.py +1 -1
  151. openstackclient/tests/functional/volume/v3/test_volume_snapshot.py +2 -2
  152. openstackclient/tests/functional/volume/v3/test_volume_type.py +1 -1
  153. openstackclient/tests/unit/api/fakes.py +1 -1
  154. openstackclient/tests/unit/api/test_api.py +2 -2
  155. openstackclient/tests/unit/api/test_compute_v2.py +522 -707
  156. openstackclient/tests/unit/api/test_image_v1.py +1 -1
  157. openstackclient/tests/unit/api/test_image_v2.py +1 -1
  158. openstackclient/tests/unit/api/test_object_store_v1.py +4 -4
  159. openstackclient/tests/unit/common/test_limits.py +73 -35
  160. openstackclient/tests/unit/common/test_logs.py +2 -2
  161. openstackclient/tests/unit/common/test_module.py +4 -2
  162. openstackclient/tests/unit/common/test_project_cleanup.py +31 -6
  163. openstackclient/tests/unit/common/test_quota.py +490 -630
  164. openstackclient/tests/unit/compute/v2/fakes.py +37 -286
  165. openstackclient/tests/unit/compute/v2/test_agent.py +189 -147
  166. openstackclient/tests/unit/compute/v2/test_aggregate.py +18 -16
  167. openstackclient/tests/unit/compute/v2/test_console.py +4 -5
  168. openstackclient/tests/unit/compute/v2/test_flavor.py +59 -68
  169. openstackclient/tests/unit/compute/v2/test_host.py +83 -54
  170. openstackclient/tests/unit/compute/v2/test_hypervisor.py +28 -31
  171. openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +2 -2
  172. openstackclient/tests/unit/compute/v2/test_keypair.py +65 -50
  173. openstackclient/tests/unit/compute/v2/test_server.py +2895 -2459
  174. openstackclient/tests/unit/compute/v2/test_server_backup.py +1 -1
  175. openstackclient/tests/unit/compute/v2/test_server_event.py +14 -39
  176. openstackclient/tests/unit/compute/v2/test_server_group.py +28 -29
  177. openstackclient/tests/unit/compute/v2/test_server_migration.py +43 -68
  178. openstackclient/tests/unit/compute/v2/test_server_volume.py +17 -34
  179. openstackclient/tests/unit/compute/v2/test_service.py +34 -52
  180. openstackclient/tests/unit/compute/v2/test_usage.py +4 -4
  181. openstackclient/tests/unit/fakes.py +11 -11
  182. openstackclient/tests/unit/identity/v2_0/fakes.py +27 -10
  183. openstackclient/tests/unit/identity/v2_0/test_catalog.py +3 -3
  184. openstackclient/tests/unit/identity/v2_0/test_endpoint.py +7 -7
  185. openstackclient/tests/unit/identity/v2_0/test_project.py +8 -8
  186. openstackclient/tests/unit/identity/v2_0/test_role.py +10 -10
  187. openstackclient/tests/unit/identity/v2_0/test_role_assignment.py +4 -4
  188. openstackclient/tests/unit/identity/v2_0/test_service.py +6 -6
  189. openstackclient/tests/unit/identity/v2_0/test_token.py +4 -4
  190. openstackclient/tests/unit/identity/v2_0/test_user.py +8 -8
  191. openstackclient/tests/unit/identity/v3/fakes.py +59 -20
  192. openstackclient/tests/unit/identity/v3/test_access_rule.py +5 -5
  193. openstackclient/tests/unit/identity/v3/test_application_credential.py +212 -235
  194. openstackclient/tests/unit/identity/v3/test_catalog.py +3 -3
  195. openstackclient/tests/unit/identity/v3/test_consumer.py +7 -8
  196. openstackclient/tests/unit/identity/v3/test_credential.py +9 -9
  197. openstackclient/tests/unit/identity/v3/test_domain.py +8 -8
  198. openstackclient/tests/unit/identity/v3/test_endpoint.py +13 -13
  199. openstackclient/tests/unit/identity/v3/test_endpoint_group.py +12 -14
  200. openstackclient/tests/unit/identity/v3/test_group.py +12 -12
  201. openstackclient/tests/unit/identity/v3/test_identity_provider.py +8 -8
  202. openstackclient/tests/unit/identity/v3/test_implied_role.py +5 -5
  203. openstackclient/tests/unit/identity/v3/test_limit.py +7 -7
  204. openstackclient/tests/unit/identity/v3/test_mappings.py +7 -7
  205. openstackclient/tests/unit/identity/v3/test_oauth.py +5 -5
  206. openstackclient/tests/unit/identity/v3/test_project.py +16 -16
  207. openstackclient/tests/unit/identity/v3/test_protocol.py +7 -7
  208. openstackclient/tests/unit/identity/v3/test_region.py +7 -7
  209. openstackclient/tests/unit/identity/v3/test_registered_limit.py +12 -13
  210. openstackclient/tests/unit/identity/v3/test_role.py +13 -13
  211. openstackclient/tests/unit/identity/v3/test_role_assignment.py +410 -331
  212. openstackclient/tests/unit/identity/v3/test_service.py +93 -97
  213. openstackclient/tests/unit/identity/v3/test_service_provider.py +7 -7
  214. openstackclient/tests/unit/identity/v3/test_token.py +4 -4
  215. openstackclient/tests/unit/identity/v3/test_trust.py +9 -9
  216. openstackclient/tests/unit/identity/v3/test_unscoped_saml.py +4 -4
  217. openstackclient/tests/unit/identity/v3/test_user.py +299 -327
  218. openstackclient/tests/unit/image/v1/test_image.py +6 -6
  219. openstackclient/tests/unit/image/v2/fakes.py +46 -9
  220. openstackclient/tests/unit/image/v2/test_cache.py +2 -2
  221. openstackclient/tests/unit/image/v2/test_image.py +3 -3
  222. openstackclient/tests/unit/image/v2/test_metadef_objects.py +62 -0
  223. openstackclient/tests/unit/image/v2/test_metadef_resource_type_association.py +131 -0
  224. openstackclient/tests/unit/integ/base.py +1 -1
  225. openstackclient/tests/unit/integ/cli/test_project.py +4 -4
  226. openstackclient/tests/unit/integ/cli/test_shell.py +7 -7
  227. openstackclient/tests/unit/network/test_common.py +12 -21
  228. openstackclient/tests/unit/network/v2/fakes.py +64 -130
  229. openstackclient/tests/unit/network/v2/test_address_group.py +15 -15
  230. openstackclient/tests/unit/network/v2/test_address_scope.py +13 -13
  231. openstackclient/tests/unit/network/v2/test_default_security_group_rule.py +49 -27
  232. openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +40 -38
  233. openstackclient/tests/unit/network/v2/test_floating_ip_network.py +15 -15
  234. openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +4 -7
  235. openstackclient/tests/unit/network/v2/test_floating_ip_pool_network.py +3 -5
  236. openstackclient/tests/unit/network/v2/test_floating_ip_port_forwarding.py +11 -11
  237. openstackclient/tests/unit/network/v2/test_ip_availability.py +6 -6
  238. openstackclient/tests/unit/network/v2/test_l3_conntrack_helper.py +11 -21
  239. openstackclient/tests/unit/network/v2/test_local_ip.py +7 -7
  240. openstackclient/tests/unit/network/v2/test_local_ip_association.py +3 -5
  241. openstackclient/tests/unit/network/v2/test_ndp_proxy.py +13 -13
  242. openstackclient/tests/unit/network/v2/test_network.py +23 -28
  243. openstackclient/tests/unit/network/v2/test_network_agent.py +17 -21
  244. openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py +8 -8
  245. openstackclient/tests/unit/network/v2/test_network_compute.py +66 -65
  246. openstackclient/tests/unit/network/v2/test_network_flavor.py +17 -19
  247. openstackclient/tests/unit/network/v2/test_network_flavor_profile.py +13 -13
  248. openstackclient/tests/unit/network/v2/test_network_meter.py +11 -11
  249. openstackclient/tests/unit/network/v2/test_network_meter_rule.py +11 -11
  250. openstackclient/tests/unit/network/v2/test_network_qos_policy.py +11 -21
  251. openstackclient/tests/unit/network/v2/test_network_qos_rule.py +51 -77
  252. openstackclient/tests/unit/network/v2/test_network_qos_rule_type.py +5 -9
  253. openstackclient/tests/unit/network/v2/test_network_rbac.py +12 -12
  254. openstackclient/tests/unit/network/v2/test_network_segment.py +11 -15
  255. openstackclient/tests/unit/network/v2/test_network_segment_range.py +11 -13
  256. openstackclient/tests/unit/network/v2/test_network_service_provider.py +3 -5
  257. openstackclient/tests/unit/network/v2/test_network_trunk.py +11 -11
  258. openstackclient/tests/unit/network/v2/test_port.py +22 -25
  259. openstackclient/tests/unit/network/v2/test_router.py +721 -51
  260. openstackclient/tests/unit/network/v2/test_security_group_compute.py +65 -49
  261. openstackclient/tests/unit/network/v2/test_security_group_network.py +15 -15
  262. openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +57 -45
  263. openstackclient/tests/unit/network/v2/test_security_group_rule_network.py +11 -19
  264. openstackclient/tests/unit/network/v2/test_subnet.py +29 -25
  265. openstackclient/tests/unit/network/v2/test_subnet_pool.py +15 -15
  266. openstackclient/tests/unit/object/v1/fakes.py +1 -1
  267. openstackclient/tests/unit/object/v1/test_container.py +5 -5
  268. openstackclient/tests/unit/object/v1/test_container_all.py +6 -6
  269. openstackclient/tests/unit/object/v1/test_object.py +3 -3
  270. openstackclient/tests/unit/object/v1/test_object_all.py +5 -5
  271. openstackclient/tests/unit/test_shell.py +5 -5
  272. openstackclient/tests/unit/utils.py +4 -1
  273. openstackclient/tests/unit/volume/test_find_resource.py +2 -2
  274. openstackclient/tests/unit/volume/v1/fakes.py +5 -6
  275. openstackclient/tests/unit/volume/v1/test_volume.py +5 -4
  276. openstackclient/tests/unit/volume/v2/fakes.py +39 -259
  277. openstackclient/tests/unit/volume/v2/test_consistency_group_snapshot.py +5 -5
  278. openstackclient/tests/unit/volume/v2/test_qos_specs.py +9 -9
  279. openstackclient/tests/unit/volume/v2/test_volume.py +21 -87
  280. openstackclient/tests/unit/volume/v2/test_volume_backup.py +7 -368
  281. openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +1 -1
  282. openstackclient/tests/unit/volume/v2/test_volume_transfer_request.py +0 -44
  283. openstackclient/tests/unit/volume/v2/test_volume_type.py +6 -87
  284. openstackclient/tests/unit/volume/v3/fakes.py +505 -22
  285. openstackclient/tests/unit/volume/v3/test_block_storage_cleanup.py +2 -3
  286. openstackclient/tests/unit/volume/v3/test_block_storage_cluster.py +10 -11
  287. openstackclient/tests/unit/volume/v3/test_block_storage_log_level.py +10 -6
  288. openstackclient/tests/unit/volume/v3/test_block_storage_manage.py +25 -17
  289. openstackclient/tests/unit/volume/v3/test_block_storage_resource_filter.py +6 -32
  290. openstackclient/tests/unit/volume/v3/test_service.py +271 -0
  291. openstackclient/tests/unit/volume/v3/test_volume.py +2177 -33
  292. openstackclient/tests/unit/volume/v3/test_volume_attachment.py +48 -52
  293. openstackclient/tests/unit/volume/v3/test_volume_backup.py +892 -0
  294. openstackclient/tests/unit/volume/v3/test_volume_group.py +19 -20
  295. openstackclient/tests/unit/volume/v3/test_volume_group_snapshot.py +14 -34
  296. openstackclient/tests/unit/volume/v3/test_volume_group_type.py +13 -16
  297. openstackclient/tests/unit/volume/v3/test_volume_message.py +10 -11
  298. openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +161 -0
  299. openstackclient/tests/unit/volume/v3/test_volume_transfer_request.py +425 -0
  300. openstackclient/tests/unit/volume/v3/test_volume_type.py +1109 -0
  301. openstackclient/volume/v1/qos_specs.py +7 -7
  302. openstackclient/volume/v1/service.py +2 -2
  303. openstackclient/volume/v1/volume.py +12 -12
  304. openstackclient/volume/v1/volume_backup.py +7 -7
  305. openstackclient/volume/v1/volume_snapshot.py +8 -8
  306. openstackclient/volume/v1/volume_transfer_request.py +5 -5
  307. openstackclient/volume/v1/volume_type.py +7 -7
  308. openstackclient/volume/v2/backup_record.py +2 -2
  309. openstackclient/volume/v2/consistency_group.py +7 -9
  310. openstackclient/volume/v2/consistency_group_snapshot.py +4 -12
  311. openstackclient/volume/v2/qos_specs.py +7 -7
  312. openstackclient/volume/v2/service.py +2 -2
  313. openstackclient/volume/v2/volume.py +80 -80
  314. openstackclient/volume/v2/volume_backend.py +2 -2
  315. openstackclient/volume/v2/volume_backup.py +7 -217
  316. openstackclient/volume/v2/volume_host.py +2 -2
  317. openstackclient/volume/v2/volume_snapshot.py +8 -8
  318. openstackclient/volume/v2/volume_transfer_request.py +5 -37
  319. openstackclient/volume/v2/volume_type.py +7 -89
  320. openstackclient/volume/v3/service.py +56 -0
  321. openstackclient/volume/v3/volume.py +971 -0
  322. openstackclient/volume/v3/volume_attachment.py +31 -29
  323. openstackclient/volume/v3/volume_backup.py +670 -0
  324. openstackclient/volume/v3/volume_message.py +1 -1
  325. openstackclient/volume/v3/volume_snapshot.py +97 -0
  326. openstackclient/volume/v3/volume_transfer_request.py +233 -0
  327. openstackclient/volume/v3/volume_type.py +967 -0
  328. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/AUTHORS +4 -0
  329. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/METADATA +2 -3
  330. python_openstackclient-7.0.0.dist-info/RECORD +502 -0
  331. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/entry_points.txt +33 -27
  332. python_openstackclient-7.0.0.dist-info/pbr.json +1 -0
  333. python_openstackclient-6.6.1.dist-info/RECORD +0 -489
  334. python_openstackclient-6.6.1.dist-info/pbr.json +0 -1
  335. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/LICENSE +0 -0
  336. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/WHEEL +0 -0
  337. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.0.0.dist-info}/top_level.txt +0 -0
@@ -60,7 +60,7 @@ class AddNetworkToAgent(command.Command):
60
60
  _description = _("Add network to an agent")
61
61
 
62
62
  def get_parser(self, prog_name):
63
- parser = super(AddNetworkToAgent, self).get_parser(prog_name)
63
+ parser = super().get_parser(prog_name)
64
64
  parser.add_argument(
65
65
  '--dhcp',
66
66
  action='store_true',
@@ -99,7 +99,7 @@ class AddRouterToAgent(command.Command):
99
99
  _description = _("Add router to an agent")
100
100
 
101
101
  def get_parser(self, prog_name):
102
- parser = super(AddRouterToAgent, self).get_parser(prog_name)
102
+ parser = super().get_parser(prog_name)
103
103
  parser.add_argument(
104
104
  '--l3', action='store_true', help=_('Add router to an L3 agent')
105
105
  )
@@ -128,7 +128,7 @@ class DeleteNetworkAgent(command.Command):
128
128
  _description = _("Delete network agent(s)")
129
129
 
130
130
  def get_parser(self, prog_name):
131
- parser = super(DeleteNetworkAgent, self).get_parser(prog_name)
131
+ parser = super().get_parser(prog_name)
132
132
  parser.add_argument(
133
133
  'network_agent',
134
134
  metavar="<network-agent>",
@@ -168,7 +168,7 @@ class ListNetworkAgent(command.Lister):
168
168
  _description = _("List network agents")
169
169
 
170
170
  def get_parser(self, prog_name):
171
- parser = super(ListNetworkAgent, self).get_parser(prog_name)
171
+ parser = super().get_parser(prog_name)
172
172
  parser.add_argument(
173
173
  '--agent-type',
174
174
  metavar='<agent-type>',
@@ -293,7 +293,7 @@ class RemoveNetworkFromAgent(command.Command):
293
293
  _description = _("Remove network from an agent.")
294
294
 
295
295
  def get_parser(self, prog_name):
296
- parser = super(RemoveNetworkFromAgent, self).get_parser(prog_name)
296
+ parser = super().get_parser(prog_name)
297
297
  parser.add_argument(
298
298
  '--dhcp',
299
299
  action='store_true',
@@ -331,7 +331,7 @@ class RemoveRouterFromAgent(command.Command):
331
331
  _description = _("Remove router from an agent")
332
332
 
333
333
  def get_parser(self, prog_name):
334
- parser = super(RemoveRouterFromAgent, self).get_parser(prog_name)
334
+ parser = super().get_parser(prog_name)
335
335
  parser.add_argument(
336
336
  '--l3',
337
337
  action='store_true',
@@ -364,7 +364,7 @@ class SetNetworkAgent(command.Command):
364
364
  _description = _("Set network agent properties")
365
365
 
366
366
  def get_parser(self, prog_name):
367
- parser = super(SetNetworkAgent, self).get_parser(prog_name)
367
+ parser = super().get_parser(prog_name)
368
368
  parser.add_argument(
369
369
  'network_agent',
370
370
  metavar="<network-agent>",
@@ -403,7 +403,7 @@ class ShowNetworkAgent(command.ShowOne):
403
403
  _description = _("Display network agent details")
404
404
 
405
405
  def get_parser(self, prog_name):
406
- parser = super(ShowNetworkAgent, self).get_parser(prog_name)
406
+ parser = super().get_parser(prog_name)
407
407
  parser.add_argument(
408
408
  'network_agent',
409
409
  metavar="<network-agent>",
@@ -65,7 +65,7 @@ class CreateAutoAllocatedTopology(command.ShowOne):
65
65
  _description = _("Create the auto allocated topology for project")
66
66
 
67
67
  def get_parser(self, prog_name):
68
- parser = super(CreateAutoAllocatedTopology, self).get_parser(prog_name)
68
+ parser = super().get_parser(prog_name)
69
69
  parser.add_argument(
70
70
  '--project',
71
71
  metavar='<project>',
@@ -126,7 +126,7 @@ class DeleteAutoAllocatedTopology(command.Command):
126
126
  _description = _("Delete auto allocated topology for project")
127
127
 
128
128
  def get_parser(self, prog_name):
129
- parser = super(DeleteAutoAllocatedTopology, self).get_parser(prog_name)
129
+ parser = super().get_parser(prog_name)
130
130
  parser.add_argument(
131
131
  '--project',
132
132
  metavar='<project>',
@@ -63,7 +63,7 @@ class AddNetworkFlavorToProfile(command.Command):
63
63
  _description = _("Add a service profile to a network flavor")
64
64
 
65
65
  def get_parser(self, prog_name):
66
- parser = super(AddNetworkFlavorToProfile, self).get_parser(prog_name)
66
+ parser = super().get_parser(prog_name)
67
67
  parser.add_argument(
68
68
  'flavor', metavar="<flavor>", help=_("Network flavor (name or ID)")
69
69
  )
@@ -93,7 +93,7 @@ class CreateNetworkFlavor(command.ShowOne, common.NeutronCommandWithExtraArgs):
93
93
  _description = _("Create new network flavor")
94
94
 
95
95
  def get_parser(self, prog_name):
96
- parser = super(CreateNetworkFlavor, self).get_parser(prog_name)
96
+ parser = super().get_parser(prog_name)
97
97
  parser.add_argument(
98
98
  'name', metavar="<name>", help=_("Name for the flavor")
99
99
  )
@@ -146,7 +146,7 @@ class DeleteNetworkFlavor(command.Command):
146
146
  _description = _("Delete network flavors")
147
147
 
148
148
  def get_parser(self, prog_name):
149
- parser = super(DeleteNetworkFlavor, self).get_parser(prog_name)
149
+ parser = super().get_parser(prog_name)
150
150
 
151
151
  parser.add_argument(
152
152
  'flavor',
@@ -214,9 +214,7 @@ class RemoveNetworkFlavorFromProfile(command.Command):
214
214
  _description = _("Remove service profile from network flavor")
215
215
 
216
216
  def get_parser(self, prog_name):
217
- parser = super(RemoveNetworkFlavorFromProfile, self).get_parser(
218
- prog_name
219
- )
217
+ parser = super().get_parser(prog_name)
220
218
  parser.add_argument(
221
219
  'flavor', metavar="<flavor>", help=_("Network flavor (name or ID)")
222
220
  )
@@ -246,7 +244,7 @@ class SetNetworkFlavor(common.NeutronCommandWithExtraArgs):
246
244
  _description = _("Set network flavor properties")
247
245
 
248
246
  def get_parser(self, prog_name):
249
- parser = super(SetNetworkFlavor, self).get_parser(prog_name)
247
+ parser = super().get_parser(prog_name)
250
248
  parser.add_argument(
251
249
  'flavor',
252
250
  metavar="<flavor>",
@@ -290,7 +288,7 @@ class ShowNetworkFlavor(command.ShowOne):
290
288
  _description = _("Display network flavor details")
291
289
 
292
290
  def get_parser(self, prog_name):
293
- parser = super(ShowNetworkFlavor, self).get_parser(prog_name)
291
+ parser = super().get_parser(prog_name)
294
292
  parser.add_argument(
295
293
  'flavor',
296
294
  metavar='<flavor>',
@@ -67,7 +67,7 @@ class CreateNetworkFlavorProfile(
67
67
  _description = _("Create new network flavor profile")
68
68
 
69
69
  def get_parser(self, prog_name):
70
- parser = super(CreateNetworkFlavorProfile, self).get_parser(prog_name)
70
+ parser = super().get_parser(prog_name)
71
71
  parser.add_argument(
72
72
  '--project',
73
73
  metavar="<project>",
@@ -129,7 +129,7 @@ class DeleteNetworkFlavorProfile(command.Command):
129
129
  _description = _("Delete network flavor profile")
130
130
 
131
131
  def get_parser(self, prog_name):
132
- parser = super(DeleteNetworkFlavorProfile, self).get_parser(prog_name)
132
+ parser = super().get_parser(prog_name)
133
133
 
134
134
  parser.add_argument(
135
135
  'flavor_profile',
@@ -206,7 +206,7 @@ class SetNetworkFlavorProfile(common.NeutronCommandWithExtraArgs):
206
206
  _description = _("Set network flavor profile properties")
207
207
 
208
208
  def get_parser(self, prog_name):
209
- parser = super(SetNetworkFlavorProfile, self).get_parser(prog_name)
209
+ parser = super().get_parser(prog_name)
210
210
  parser.add_argument(
211
211
  'flavor_profile',
212
212
  metavar="<flavor-profile>",
@@ -263,7 +263,7 @@ class ShowNetworkFlavorProfile(command.ShowOne):
263
263
  _description = _("Display network flavor profile details")
264
264
 
265
265
  def get_parser(self, prog_name):
266
- parser = super(ShowNetworkFlavorProfile, self).get_parser(prog_name)
266
+ parser = super().get_parser(prog_name)
267
267
  parser.add_argument(
268
268
  'flavor_profile',
269
269
  metavar='<flavor-profile>',
@@ -65,7 +65,7 @@ class CreateMeter(command.ShowOne, common.NeutronCommandWithExtraArgs):
65
65
  _description = _("Create network meter")
66
66
 
67
67
  def get_parser(self, prog_name):
68
- parser = super(CreateMeter, self).get_parser(prog_name)
68
+ parser = super().get_parser(prog_name)
69
69
 
70
70
  parser.add_argument(
71
71
  '--description',
@@ -118,7 +118,7 @@ class DeleteMeter(command.Command):
118
118
  _description = _("Delete network meter")
119
119
 
120
120
  def get_parser(self, prog_name):
121
- parser = super(DeleteMeter, self).get_parser(prog_name)
121
+ parser = super().get_parser(prog_name)
122
122
 
123
123
  parser.add_argument(
124
124
  'meter',
@@ -187,7 +187,7 @@ class ShowMeter(command.ShowOne):
187
187
  _description = _("Show network meter")
188
188
 
189
189
  def get_parser(self, prog_name):
190
- parser = super(ShowMeter, self).get_parser(prog_name)
190
+ parser = super().get_parser(prog_name)
191
191
  parser.add_argument(
192
192
  'meter', metavar='<meter>', help=_('Meter to display (name or ID)')
193
193
  )
@@ -69,7 +69,7 @@ class CreateMeterRule(command.ShowOne, common.NeutronCommandWithExtraArgs):
69
69
  _description = _("Create a new meter rule")
70
70
 
71
71
  def get_parser(self, prog_name):
72
- parser = super(CreateMeterRule, self).get_parser(prog_name)
72
+ parser = super().get_parser(prog_name)
73
73
 
74
74
  parser.add_argument(
75
75
  '--project',
@@ -146,7 +146,7 @@ class DeleteMeterRule(command.Command):
146
146
  _description = _("Delete meter rule(s)")
147
147
 
148
148
  def get_parser(self, prog_name):
149
- parser = super(DeleteMeterRule, self).get_parser(prog_name)
149
+ parser = super().get_parser(prog_name)
150
150
 
151
151
  parser.add_argument(
152
152
  'meter_rule_id',
@@ -222,7 +222,7 @@ class ShowMeterRule(command.ShowOne):
222
222
  _description = _("Display meter rules details")
223
223
 
224
224
  def get_parser(self, prog_name):
225
- parser = super(ShowMeterRule, self).get_parser(prog_name)
225
+ parser = super().get_parser(prog_name)
226
226
  parser.add_argument(
227
227
  'meter_rule_id',
228
228
  metavar='<meter-rule-id>',
@@ -85,7 +85,7 @@ class CreateNetworkQosPolicy(
85
85
  _description = _("Create a QoS policy")
86
86
 
87
87
  def get_parser(self, prog_name):
88
- parser = super(CreateNetworkQosPolicy, self).get_parser(prog_name)
88
+ parser = super().get_parser(prog_name)
89
89
  parser.add_argument(
90
90
  'name', metavar='<name>', help=_("Name of QoS policy to create")
91
91
  )
@@ -144,7 +144,7 @@ class DeleteNetworkQosPolicy(command.Command):
144
144
  _description = _("Delete Qos Policy(s)")
145
145
 
146
146
  def get_parser(self, prog_name):
147
- parser = super(DeleteNetworkQosPolicy, self).get_parser(prog_name)
147
+ parser = super().get_parser(prog_name)
148
148
  parser.add_argument(
149
149
  'policy',
150
150
  metavar="<qos-policy>",
@@ -185,7 +185,7 @@ class ListNetworkQosPolicy(command.Lister):
185
185
  _description = _("List QoS policies")
186
186
 
187
187
  def get_parser(self, prog_name):
188
- parser = super(ListNetworkQosPolicy, self).get_parser(prog_name)
188
+ parser = super().get_parser(prog_name)
189
189
  parser.add_argument(
190
190
  '--project',
191
191
  metavar='<project>',
@@ -244,7 +244,7 @@ class SetNetworkQosPolicy(common.NeutronCommandWithExtraArgs):
244
244
  _description = _("Set QoS policy properties")
245
245
 
246
246
  def get_parser(self, prog_name):
247
- parser = super(SetNetworkQosPolicy, self).get_parser(prog_name)
247
+ parser = super().get_parser(prog_name)
248
248
  parser.add_argument(
249
249
  'policy',
250
250
  metavar="<qos-policy>",
@@ -296,7 +296,7 @@ class ShowNetworkQosPolicy(command.ShowOne):
296
296
  _description = _("Display QoS policy details")
297
297
 
298
298
  def get_parser(self, prog_name):
299
- parser = super(ShowNetworkQosPolicy, self).get_parser(prog_name)
299
+ parser = super().get_parser(prog_name)
300
300
  parser.add_argument(
301
301
  'policy',
302
302
  metavar="<qos-policy>",
@@ -159,10 +159,10 @@ def _get_item_properties(item, fields):
159
159
 
160
160
  def _rule_action_call(client, action, rule_type):
161
161
  rule_type = rule_type.replace('-', '_')
162
- func_name = '%(action)s_qos_%(rule_type)s_rule' % {
163
- 'action': action,
164
- 'rule_type': rule_type,
165
- }
162
+ func_name = '{action}_qos_{rule_type}_rule'.format(
163
+ action=action,
164
+ rule_type=rule_type,
165
+ )
166
166
  return getattr(client, func_name)
167
167
 
168
168
 
@@ -243,7 +243,7 @@ class CreateNetworkQosRule(
243
243
  _description = _("Create new Network QoS rule")
244
244
 
245
245
  def get_parser(self, prog_name):
246
- parser = super(CreateNetworkQosRule, self).get_parser(prog_name)
246
+ parser = super().get_parser(prog_name)
247
247
  parser.add_argument(
248
248
  'qos_policy',
249
249
  metavar='<qos-policy>',
@@ -289,7 +289,7 @@ class DeleteNetworkQosRule(command.Command):
289
289
  _description = _("Delete Network QoS rule")
290
290
 
291
291
  def get_parser(self, prog_name):
292
- parser = super(DeleteNetworkQosRule, self).get_parser(prog_name)
292
+ parser = super().get_parser(prog_name)
293
293
  parser.add_argument(
294
294
  'qos_policy',
295
295
  metavar='<qos-policy>',
@@ -326,7 +326,7 @@ class ListNetworkQosRule(command.Lister):
326
326
  _description = _("List Network QoS rules")
327
327
 
328
328
  def get_parser(self, prog_name):
329
- parser = super(ListNetworkQosRule, self).get_parser(prog_name)
329
+ parser = super().get_parser(prog_name)
330
330
  parser.add_argument(
331
331
  'qos_policy',
332
332
  metavar='<qos-policy>',
@@ -372,7 +372,7 @@ class SetNetworkQosRule(common.NeutronCommandWithExtraArgs):
372
372
  _description = _("Set Network QoS rule properties")
373
373
 
374
374
  def get_parser(self, prog_name):
375
- parser = super(SetNetworkQosRule, self).get_parser(prog_name)
375
+ parser = super().get_parser(prog_name)
376
376
  parser.add_argument(
377
377
  'qos_policy',
378
378
  metavar='<qos-policy>',
@@ -418,7 +418,7 @@ class ShowNetworkQosRule(command.ShowOne):
418
418
  _description = _("Display Network QoS rule details")
419
419
 
420
420
  def get_parser(self, prog_name):
421
- parser = super(ShowNetworkQosRule, self).get_parser(prog_name)
421
+ parser = super().get_parser(prog_name)
422
422
  parser.add_argument(
423
423
  'qos_policy',
424
424
  metavar='<qos-policy>',
@@ -83,7 +83,7 @@ class ShowNetworkQosRuleType(command.ShowOne):
83
83
  _description = _("Show details about supported QoS rule type")
84
84
 
85
85
  def get_parser(self, prog_name):
86
- parser = super(ShowNetworkQosRuleType, self).get_parser(prog_name)
86
+ parser = super().get_parser(prog_name)
87
87
  parser.add_argument(
88
88
  'rule_type',
89
89
  metavar="<qos-rule-type-name>",
@@ -96,7 +96,7 @@ class CreateNetworkRBAC(command.ShowOne, common.NeutronCommandWithExtraArgs):
96
96
  _description = _("Create network RBAC policy")
97
97
 
98
98
  def get_parser(self, prog_name):
99
- parser = super(CreateNetworkRBAC, self).get_parser(prog_name)
99
+ parser = super().get_parser(prog_name)
100
100
  parser.add_argument(
101
101
  'rbac_object',
102
102
  metavar="<rbac-object>",
@@ -182,7 +182,7 @@ class DeleteNetworkRBAC(command.Command):
182
182
  _description = _("Delete network RBAC policy(s)")
183
183
 
184
184
  def get_parser(self, prog_name):
185
- parser = super(DeleteNetworkRBAC, self).get_parser(prog_name)
185
+ parser = super().get_parser(prog_name)
186
186
  parser.add_argument(
187
187
  'rbac_policy',
188
188
  metavar="<rbac-policy>",
@@ -221,7 +221,7 @@ class ListNetworkRBAC(command.Lister):
221
221
  _description = _("List network RBAC policies")
222
222
 
223
223
  def get_parser(self, prog_name):
224
- parser = super(ListNetworkRBAC, self).get_parser(prog_name)
224
+ parser = super().get_parser(prog_name)
225
225
  parser.add_argument(
226
226
  '--type',
227
227
  metavar='<type>',
@@ -315,7 +315,7 @@ class SetNetworkRBAC(common.NeutronCommandWithExtraArgs):
315
315
  _description = _("Set network RBAC policy properties")
316
316
 
317
317
  def get_parser(self, prog_name):
318
- parser = super(SetNetworkRBAC, self).get_parser(prog_name)
318
+ parser = super().get_parser(prog_name)
319
319
  parser.add_argument(
320
320
  'rbac_policy',
321
321
  metavar="<rbac-policy>",
@@ -364,7 +364,7 @@ class ShowNetworkRBAC(command.ShowOne):
364
364
  _description = _("Display network RBAC policy details")
365
365
 
366
366
  def get_parser(self, prog_name):
367
- parser = super(ShowNetworkRBAC, self).get_parser(prog_name)
367
+ parser = super().get_parser(prog_name)
368
368
  parser.add_argument(
369
369
  'rbac_policy',
370
370
  metavar="<rbac-policy>",
@@ -39,7 +39,7 @@ class CreateNetworkSegment(
39
39
  _description = _("Create new network segment")
40
40
 
41
41
  def get_parser(self, prog_name):
42
- parser = super(CreateNetworkSegment, self).get_parser(prog_name)
42
+ parser = super().get_parser(prog_name)
43
43
  parser.add_argument(
44
44
  'name', metavar='<name>', help=_('New network segment name')
45
45
  )
@@ -109,7 +109,7 @@ class DeleteNetworkSegment(command.Command):
109
109
  _description = _("Delete network segment(s)")
110
110
 
111
111
  def get_parser(self, prog_name):
112
- parser = super(DeleteNetworkSegment, self).get_parser(prog_name)
112
+ parser = super().get_parser(prog_name)
113
113
  parser.add_argument(
114
114
  'network_segment',
115
115
  metavar='<network-segment>',
@@ -150,7 +150,7 @@ class ListNetworkSegment(command.Lister):
150
150
  _description = _("List network segments")
151
151
 
152
152
  def get_parser(self, prog_name):
153
- parser = super(ListNetworkSegment, self).get_parser(prog_name)
153
+ parser = super().get_parser(prog_name)
154
154
  parser.add_argument(
155
155
  '--long',
156
156
  action='store_true',
@@ -213,7 +213,7 @@ class SetNetworkSegment(common.NeutronCommandWithExtraArgs):
213
213
  _description = _("Set network segment properties")
214
214
 
215
215
  def get_parser(self, prog_name):
216
- parser = super(SetNetworkSegment, self).get_parser(prog_name)
216
+ parser = super().get_parser(prog_name)
217
217
  parser.add_argument(
218
218
  'network_segment',
219
219
  metavar='<network-segment>',
@@ -251,7 +251,7 @@ class ShowNetworkSegment(command.ShowOne):
251
251
  _description = _("Display network segment details")
252
252
 
253
253
  def get_parser(self, prog_name):
254
- parser = super(ShowNetworkSegment, self).get_parser(prog_name)
254
+ parser = super().get_parser(prog_name)
255
255
  parser.add_argument(
256
256
  'network_segment',
257
257
  metavar='<network-segment>',
@@ -43,8 +43,8 @@ def _get_ranges(item):
43
43
  item = sorted([int(i) for i in item])
44
44
  for a, b in itertools.groupby(enumerate(item), lambda xy: xy[1] - xy[0]):
45
45
  b = list(b)
46
- yield "%s-%s" % (b[0][1], b[-1][1]) if b[0][1] != b[-1][1] else str(
47
- b[0][1]
46
+ yield (
47
+ f"{b[0][1]}-{b[-1][1]}" if b[0][1] != b[-1][1] else str(b[0][1])
48
48
  )
49
49
 
50
50
 
@@ -98,7 +98,7 @@ class CreateNetworkSegmentRange(
98
98
  _description = _("Create new network segment range")
99
99
 
100
100
  def get_parser(self, prog_name):
101
- parser = super(CreateNetworkSegmentRange, self).get_parser(prog_name)
101
+ parser = super().get_parser(prog_name)
102
102
  shared_group = parser.add_mutually_exclusive_group()
103
103
  shared_group.add_argument(
104
104
  "--private",
@@ -254,7 +254,7 @@ class DeleteNetworkSegmentRange(command.Command):
254
254
  _description = _("Delete network segment range(s)")
255
255
 
256
256
  def get_parser(self, prog_name):
257
- parser = super(DeleteNetworkSegmentRange, self).get_parser(prog_name)
257
+ parser = super().get_parser(prog_name)
258
258
  parser.add_argument(
259
259
  'network_segment_range',
260
260
  metavar='<network-segment-range>',
@@ -307,7 +307,7 @@ class ListNetworkSegmentRange(command.Lister):
307
307
  _description = _("List network segment ranges")
308
308
 
309
309
  def get_parser(self, prog_name):
310
- parser = super(ListNetworkSegmentRange, self).get_parser(prog_name)
310
+ parser = super().get_parser(prog_name)
311
311
  parser.add_argument(
312
312
  '--long',
313
313
  action='store_true',
@@ -423,7 +423,7 @@ class SetNetworkSegmentRange(common.NeutronCommandWithExtraArgs):
423
423
  _description = _("Set network segment range properties")
424
424
 
425
425
  def get_parser(self, prog_name):
426
- parser = super(SetNetworkSegmentRange, self).get_parser(prog_name)
426
+ parser = super().get_parser(prog_name)
427
427
  parser.add_argument(
428
428
  'network_segment_range',
429
429
  metavar='<network-segment-range>',
@@ -488,7 +488,7 @@ class ShowNetworkSegmentRange(command.ShowOne):
488
488
  _description = _("Display network segment range details")
489
489
 
490
490
  def get_parser(self, prog_name):
491
- parser = super(ShowNetworkSegmentRange, self).get_parser(prog_name)
491
+ parser = super().get_parser(prog_name)
492
492
  parser.add_argument(
493
493
  'network_segment_range',
494
494
  metavar='<network-segment-range>',
@@ -43,7 +43,7 @@ class CreateNetworkTrunk(command.ShowOne):
43
43
  """Create a network trunk for a given project"""
44
44
 
45
45
  def get_parser(self, prog_name):
46
- parser = super(CreateNetworkTrunk, self).get_parser(prog_name)
46
+ parser = super().get_parser(prog_name)
47
47
  parser.add_argument(
48
48
  'name', metavar='<name>', help=_("Name of the trunk to create")
49
49
  )
@@ -100,7 +100,7 @@ class DeleteNetworkTrunk(command.Command):
100
100
  """Delete a given network trunk"""
101
101
 
102
102
  def get_parser(self, prog_name):
103
- parser = super(DeleteNetworkTrunk, self).get_parser(prog_name)
103
+ parser = super().get_parser(prog_name)
104
104
  parser.add_argument(
105
105
  'trunk',
106
106
  metavar="<trunk>",
@@ -138,7 +138,7 @@ class ListNetworkTrunk(command.Lister):
138
138
  """List all network trunks"""
139
139
 
140
140
  def get_parser(self, prog_name):
141
- parser = super(ListNetworkTrunk, self).get_parser(prog_name)
141
+ parser = super().get_parser(prog_name)
142
142
  parser.add_argument(
143
143
  '--long',
144
144
  action='store_true',
@@ -177,7 +177,7 @@ class SetNetworkTrunk(command.Command):
177
177
  """Set network trunk properties"""
178
178
 
179
179
  def get_parser(self, prog_name):
180
- parser = super(SetNetworkTrunk, self).get_parser(prog_name)
180
+ parser = super().get_parser(prog_name)
181
181
  parser.add_argument(
182
182
  'trunk', metavar="<trunk>", help=_("Trunk to modify (name or ID)")
183
183
  )
@@ -242,7 +242,7 @@ class ShowNetworkTrunk(command.ShowOne):
242
242
  """Show information of a given network trunk"""
243
243
 
244
244
  def get_parser(self, prog_name):
245
- parser = super(ShowNetworkTrunk, self).get_parser(prog_name)
245
+ parser = super().get_parser(prog_name)
246
246
  parser.add_argument(
247
247
  'trunk', metavar="<trunk>", help=_("Trunk to display (name or ID)")
248
248
  )
@@ -263,7 +263,7 @@ class ListNetworkSubport(command.Lister):
263
263
  """List all subports for a given network trunk"""
264
264
 
265
265
  def get_parser(self, prog_name):
266
- parser = super(ListNetworkSubport, self).get_parser(prog_name)
266
+ parser = super().get_parser(prog_name)
267
267
  parser.add_argument(
268
268
  '--trunk',
269
269
  required=True,
@@ -294,7 +294,7 @@ class UnsetNetworkTrunk(command.Command):
294
294
  """Unset subports from a given network trunk"""
295
295
 
296
296
  def get_parser(self, prog_name):
297
- parser = super(UnsetNetworkTrunk, self).get_parser(prog_name)
297
+ parser = super().get_parser(prog_name)
298
298
  parser.add_argument(
299
299
  'trunk',
300
300
  metavar="<trunk>",
@@ -205,6 +205,10 @@ def _get_attrs(client_manager, parsed_args):
205
205
  and parsed_args.numa_policy_preferred
206
206
  ):
207
207
  attrs['numa_affinity_policy'] = 'preferred'
208
+ elif (
209
+ 'numa_policy_socket' in parsed_args and parsed_args.numa_policy_socket
210
+ ):
211
+ attrs['numa_affinity_policy'] = 'socket'
208
212
  elif (
209
213
  'numa_policy_legacy' in parsed_args and parsed_args.numa_policy_legacy
210
214
  ):
@@ -280,7 +284,7 @@ def _prepare_filter_fixed_ips(client_manager, parsed_args):
280
284
  return ips
281
285
 
282
286
 
283
- def _add_updatable_args(parser):
287
+ def _add_updatable_args(parser, create=False):
284
288
  parser.add_argument(
285
289
  '--description',
286
290
  metavar='<description>',
@@ -292,7 +296,11 @@ def _add_updatable_args(parser):
292
296
  parser.add_argument(
293
297
  '--mac-address',
294
298
  metavar='<mac-address>',
295
- help=_("MAC address of this port (admin only)"),
299
+ help=(
300
+ _("MAC address of this port")
301
+ if create
302
+ else _("MAC address of this port (admin only)")
303
+ ),
296
304
  )
297
305
  parser.add_argument(
298
306
  '--device-owner',
@@ -354,6 +362,11 @@ def _add_updatable_args(parser):
354
362
  action='store_true',
355
363
  help=_("NUMA affinity policy preferred to schedule this port"),
356
364
  )
365
+ numa_affinity_policy_group.add_argument(
366
+ '--numa-policy-socket',
367
+ action='store_true',
368
+ help=_("NUMA affinity policy socket to schedule this port"),
369
+ )
357
370
  numa_affinity_policy_group.add_argument(
358
371
  '--numa-policy-legacy',
359
372
  action='store_true',
@@ -435,7 +448,7 @@ class CreatePort(command.ShowOne, common.NeutronCommandWithExtraArgs):
435
448
  _description = _("Create a new port")
436
449
 
437
450
  def get_parser(self, prog_name):
438
- parser = super(CreatePort, self).get_parser(prog_name)
451
+ parser = super().get_parser(prog_name)
439
452
 
440
453
  parser.add_argument(
441
454
  '--network',
@@ -443,7 +456,7 @@ class CreatePort(command.ShowOne, common.NeutronCommandWithExtraArgs):
443
456
  required=True,
444
457
  help=_("Network this port belongs to (name or ID)"),
445
458
  )
446
- _add_updatable_args(parser)
459
+ _add_updatable_args(parser, create=True)
447
460
  fixed_ip = parser.add_mutually_exclusive_group()
448
461
  fixed_ip.add_argument(
449
462
  '--fixed-ip',
@@ -672,7 +685,7 @@ class DeletePort(command.Command):
672
685
  _description = _("Delete port(s)")
673
686
 
674
687
  def get_parser(self, prog_name):
675
- parser = super(DeletePort, self).get_parser(prog_name)
688
+ parser = super().get_parser(prog_name)
676
689
  parser.add_argument(
677
690
  'port',
678
691
  metavar="<port>",
@@ -714,7 +727,7 @@ class ListPort(command.Lister):
714
727
  _description = _("List ports")
715
728
 
716
729
  def get_parser(self, prog_name):
717
- parser = super(ListPort, self).get_parser(prog_name)
730
+ parser = super().get_parser(prog_name)
718
731
  parser.add_argument(
719
732
  '--device-owner',
720
733
  metavar='<device-owner>',
@@ -831,9 +844,10 @@ class ListPort(command.Lister):
831
844
  )
832
845
  filters['device_id'] = _router.id
833
846
  if parsed_args.server:
834
- compute_client = self.app.client_manager.compute
835
- server = utils.find_resource(
836
- compute_client.servers, parsed_args.server
847
+ compute_client = self.app.client_manager.sdk_connection.compute
848
+ server = compute_client.find_server(
849
+ parsed_args.server,
850
+ ignore_missing=False,
837
851
  )
838
852
  filters['device_id'] = server.id
839
853
  if parsed_args.host:
@@ -887,7 +901,7 @@ class SetPort(common.NeutronCommandWithExtraArgs):
887
901
  _description = _("Set port properties")
888
902
 
889
903
  def get_parser(self, prog_name):
890
- parser = super(SetPort, self).get_parser(prog_name)
904
+ parser = super().get_parser(prog_name)
891
905
  _add_updatable_args(parser)
892
906
  admin_group = parser.add_mutually_exclusive_group()
893
907
  admin_group.add_argument(
@@ -1126,7 +1140,7 @@ class ShowPort(command.ShowOne):
1126
1140
  _description = _("Display port details")
1127
1141
 
1128
1142
  def get_parser(self, prog_name):
1129
- parser = super(ShowPort, self).get_parser(prog_name)
1143
+ parser = super().get_parser(prog_name)
1130
1144
  parser.add_argument(
1131
1145
  'port', metavar="<port>", help=_("Port to display (name or ID)")
1132
1146
  )
@@ -1146,7 +1160,7 @@ class UnsetPort(common.NeutronUnsetCommandWithExtraArgs):
1146
1160
  _description = _("Unset port properties")
1147
1161
 
1148
1162
  def get_parser(self, prog_name):
1149
- parser = super(UnsetPort, self).get_parser(prog_name)
1163
+ parser = super().get_parser(prog_name)
1150
1164
  parser.add_argument(
1151
1165
  '--fixed-ip',
1152
1166
  metavar='subnet=<subnet>,ip-address=<ip-address>',