python-openstackclient 6.6.1__py3-none-any.whl → 7.1.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 (336) 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 +24 -20
  7. openstackclient/common/configuration.py +1 -1
  8. openstackclient/common/extension.py +1 -1
  9. openstackclient/common/limits.py +67 -34
  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 +299 -423
  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 +38 -32
  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 +9 -6
  22. openstackclient/compute/v2/keypair.py +7 -8
  23. openstackclient/compute/v2/server.py +479 -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 +125 -43
  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/releasenotes/notes/volume-backup-created-at-list-b49ec893ae1f6b0d.yaml +4 -0
  107. openstackclient/shell.py +4 -6
  108. openstackclient/tests/functional/base.py +1 -1
  109. openstackclient/tests/functional/common/test_extension.py +1 -1
  110. openstackclient/tests/functional/common/test_help.py +2 -2
  111. openstackclient/tests/functional/common/test_module.py +1 -1
  112. openstackclient/tests/functional/common/test_quota.py +43 -61
  113. openstackclient/tests/functional/compute/v2/common.py +2 -2
  114. openstackclient/tests/functional/compute/v2/test_flavor.py +2 -2
  115. openstackclient/tests/functional/compute/v2/test_keypair.py +1 -1
  116. openstackclient/tests/functional/compute/v2/test_server.py +5 -5
  117. openstackclient/tests/functional/compute/v2/test_server_event.py +1 -1
  118. openstackclient/tests/functional/identity/v2/common.py +3 -3
  119. openstackclient/tests/functional/identity/v3/common.py +12 -4
  120. openstackclient/tests/functional/identity/v3/test_application_credential.py +6 -12
  121. openstackclient/tests/functional/identity/v3/test_domain.py +1 -3
  122. openstackclient/tests/functional/identity/v3/test_endpoint.py +1 -1
  123. openstackclient/tests/functional/identity/v3/test_idp.py +1 -1
  124. openstackclient/tests/functional/identity/v3/test_region.py +1 -3
  125. openstackclient/tests/functional/identity/v3/test_role.py +2 -2
  126. openstackclient/tests/functional/identity/v3/test_role_assignment.py +210 -0
  127. openstackclient/tests/functional/identity/v3/test_service.py +1 -3
  128. openstackclient/tests/functional/identity/v3/test_service_provider.py +1 -3
  129. openstackclient/tests/functional/image/base.py +1 -1
  130. openstackclient/tests/functional/image/v2/test_image.py +1 -1
  131. openstackclient/tests/functional/image/v2/test_info.py +1 -1
  132. openstackclient/tests/functional/network/v2/common.py +4 -6
  133. openstackclient/tests/functional/network/v2/test_network.py +5 -3
  134. openstackclient/tests/functional/network/v2/test_network_agent.py +7 -5
  135. openstackclient/tests/functional/network/v2/test_network_qos_rule.py +4 -4
  136. openstackclient/tests/functional/network/v2/test_port.py +11 -7
  137. openstackclient/tests/functional/network/v2/test_router.py +2 -2
  138. openstackclient/tests/functional/object/v1/common.py +1 -1
  139. openstackclient/tests/functional/object/v1/test_container.py +3 -3
  140. openstackclient/tests/functional/object/v1/test_object.py +9 -13
  141. openstackclient/tests/functional/volume/base.py +1 -1
  142. openstackclient/tests/functional/volume/v1/test_service.py +1 -1
  143. openstackclient/tests/functional/volume/v1/test_snapshot.py +2 -2
  144. openstackclient/tests/functional/volume/v1/test_transfer_request.py +2 -2
  145. openstackclient/tests/functional/volume/v1/test_volume_type.py +1 -1
  146. openstackclient/tests/functional/volume/v2/test_service.py +2 -2
  147. openstackclient/tests/functional/volume/v2/test_volume_backup.py +2 -2
  148. openstackclient/tests/functional/volume/v2/test_volume_snapshot.py +2 -2
  149. openstackclient/tests/functional/volume/v2/test_volume_type.py +1 -1
  150. openstackclient/tests/functional/volume/v3/test_volume_snapshot.py +2 -2
  151. openstackclient/tests/functional/volume/v3/test_volume_type.py +1 -1
  152. openstackclient/tests/unit/api/fakes.py +1 -1
  153. openstackclient/tests/unit/api/test_api.py +2 -2
  154. openstackclient/tests/unit/api/test_compute_v2.py +522 -707
  155. openstackclient/tests/unit/api/test_image_v1.py +1 -1
  156. openstackclient/tests/unit/api/test_image_v2.py +1 -1
  157. openstackclient/tests/unit/api/test_object_store_v1.py +4 -4
  158. openstackclient/tests/unit/common/test_limits.py +73 -35
  159. openstackclient/tests/unit/common/test_logs.py +2 -2
  160. openstackclient/tests/unit/common/test_module.py +4 -2
  161. openstackclient/tests/unit/common/test_project_cleanup.py +31 -6
  162. openstackclient/tests/unit/common/test_quota.py +490 -630
  163. openstackclient/tests/unit/compute/v2/fakes.py +37 -286
  164. openstackclient/tests/unit/compute/v2/test_agent.py +189 -147
  165. openstackclient/tests/unit/compute/v2/test_aggregate.py +87 -57
  166. openstackclient/tests/unit/compute/v2/test_console.py +4 -5
  167. openstackclient/tests/unit/compute/v2/test_flavor.py +59 -68
  168. openstackclient/tests/unit/compute/v2/test_host.py +83 -54
  169. openstackclient/tests/unit/compute/v2/test_hypervisor.py +57 -34
  170. openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +2 -2
  171. openstackclient/tests/unit/compute/v2/test_keypair.py +65 -50
  172. openstackclient/tests/unit/compute/v2/test_server.py +2850 -2453
  173. openstackclient/tests/unit/compute/v2/test_server_backup.py +1 -1
  174. openstackclient/tests/unit/compute/v2/test_server_event.py +14 -39
  175. openstackclient/tests/unit/compute/v2/test_server_group.py +28 -29
  176. openstackclient/tests/unit/compute/v2/test_server_migration.py +43 -68
  177. openstackclient/tests/unit/compute/v2/test_server_volume.py +17 -34
  178. openstackclient/tests/unit/compute/v2/test_service.py +34 -52
  179. openstackclient/tests/unit/compute/v2/test_usage.py +4 -4
  180. openstackclient/tests/unit/fakes.py +12 -12
  181. openstackclient/tests/unit/identity/v2_0/fakes.py +27 -10
  182. openstackclient/tests/unit/identity/v2_0/test_catalog.py +3 -3
  183. openstackclient/tests/unit/identity/v2_0/test_endpoint.py +7 -7
  184. openstackclient/tests/unit/identity/v2_0/test_project.py +8 -8
  185. openstackclient/tests/unit/identity/v2_0/test_role.py +10 -10
  186. openstackclient/tests/unit/identity/v2_0/test_role_assignment.py +4 -4
  187. openstackclient/tests/unit/identity/v2_0/test_service.py +6 -6
  188. openstackclient/tests/unit/identity/v2_0/test_token.py +4 -4
  189. openstackclient/tests/unit/identity/v2_0/test_user.py +8 -8
  190. openstackclient/tests/unit/identity/v3/fakes.py +59 -20
  191. openstackclient/tests/unit/identity/v3/test_access_rule.py +5 -5
  192. openstackclient/tests/unit/identity/v3/test_application_credential.py +207 -230
  193. openstackclient/tests/unit/identity/v3/test_catalog.py +3 -3
  194. openstackclient/tests/unit/identity/v3/test_consumer.py +7 -8
  195. openstackclient/tests/unit/identity/v3/test_credential.py +9 -9
  196. openstackclient/tests/unit/identity/v3/test_domain.py +8 -8
  197. openstackclient/tests/unit/identity/v3/test_endpoint.py +13 -13
  198. openstackclient/tests/unit/identity/v3/test_endpoint_group.py +12 -14
  199. openstackclient/tests/unit/identity/v3/test_group.py +12 -12
  200. openstackclient/tests/unit/identity/v3/test_identity_provider.py +8 -8
  201. openstackclient/tests/unit/identity/v3/test_implied_role.py +5 -5
  202. openstackclient/tests/unit/identity/v3/test_limit.py +7 -7
  203. openstackclient/tests/unit/identity/v3/test_mappings.py +7 -7
  204. openstackclient/tests/unit/identity/v3/test_oauth.py +5 -5
  205. openstackclient/tests/unit/identity/v3/test_project.py +16 -16
  206. openstackclient/tests/unit/identity/v3/test_protocol.py +7 -7
  207. openstackclient/tests/unit/identity/v3/test_region.py +7 -7
  208. openstackclient/tests/unit/identity/v3/test_registered_limit.py +12 -13
  209. openstackclient/tests/unit/identity/v3/test_role.py +13 -13
  210. openstackclient/tests/unit/identity/v3/test_role_assignment.py +410 -331
  211. openstackclient/tests/unit/identity/v3/test_service.py +90 -94
  212. openstackclient/tests/unit/identity/v3/test_service_provider.py +7 -7
  213. openstackclient/tests/unit/identity/v3/test_token.py +4 -4
  214. openstackclient/tests/unit/identity/v3/test_trust.py +9 -9
  215. openstackclient/tests/unit/identity/v3/test_unscoped_saml.py +4 -4
  216. openstackclient/tests/unit/identity/v3/test_user.py +299 -327
  217. openstackclient/tests/unit/image/v1/test_image.py +6 -6
  218. openstackclient/tests/unit/image/v2/fakes.py +46 -9
  219. openstackclient/tests/unit/image/v2/test_cache.py +2 -2
  220. openstackclient/tests/unit/image/v2/test_image.py +3 -3
  221. openstackclient/tests/unit/image/v2/test_metadef_objects.py +62 -0
  222. openstackclient/tests/unit/image/v2/test_metadef_resource_type_association.py +131 -0
  223. openstackclient/tests/unit/integ/base.py +1 -1
  224. openstackclient/tests/unit/integ/cli/test_project.py +4 -4
  225. openstackclient/tests/unit/integ/cli/test_shell.py +7 -7
  226. openstackclient/tests/unit/network/test_common.py +12 -21
  227. openstackclient/tests/unit/network/v2/fakes.py +64 -130
  228. openstackclient/tests/unit/network/v2/test_address_group.py +15 -15
  229. openstackclient/tests/unit/network/v2/test_address_scope.py +13 -13
  230. openstackclient/tests/unit/network/v2/test_default_security_group_rule.py +49 -27
  231. openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +40 -38
  232. openstackclient/tests/unit/network/v2/test_floating_ip_network.py +15 -15
  233. openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +4 -7
  234. openstackclient/tests/unit/network/v2/test_floating_ip_pool_network.py +3 -5
  235. openstackclient/tests/unit/network/v2/test_floating_ip_port_forwarding.py +11 -11
  236. openstackclient/tests/unit/network/v2/test_ip_availability.py +6 -6
  237. openstackclient/tests/unit/network/v2/test_l3_conntrack_helper.py +11 -21
  238. openstackclient/tests/unit/network/v2/test_local_ip.py +7 -7
  239. openstackclient/tests/unit/network/v2/test_local_ip_association.py +3 -5
  240. openstackclient/tests/unit/network/v2/test_ndp_proxy.py +13 -13
  241. openstackclient/tests/unit/network/v2/test_network.py +23 -28
  242. openstackclient/tests/unit/network/v2/test_network_agent.py +17 -21
  243. openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py +8 -8
  244. openstackclient/tests/unit/network/v2/test_network_compute.py +66 -65
  245. openstackclient/tests/unit/network/v2/test_network_flavor.py +17 -19
  246. openstackclient/tests/unit/network/v2/test_network_flavor_profile.py +13 -13
  247. openstackclient/tests/unit/network/v2/test_network_meter.py +11 -11
  248. openstackclient/tests/unit/network/v2/test_network_meter_rule.py +11 -11
  249. openstackclient/tests/unit/network/v2/test_network_qos_policy.py +11 -21
  250. openstackclient/tests/unit/network/v2/test_network_qos_rule.py +51 -77
  251. openstackclient/tests/unit/network/v2/test_network_qos_rule_type.py +5 -9
  252. openstackclient/tests/unit/network/v2/test_network_rbac.py +12 -12
  253. openstackclient/tests/unit/network/v2/test_network_segment.py +11 -15
  254. openstackclient/tests/unit/network/v2/test_network_segment_range.py +11 -13
  255. openstackclient/tests/unit/network/v2/test_network_service_provider.py +3 -5
  256. openstackclient/tests/unit/network/v2/test_network_trunk.py +11 -11
  257. openstackclient/tests/unit/network/v2/test_port.py +22 -25
  258. openstackclient/tests/unit/network/v2/test_router.py +721 -51
  259. openstackclient/tests/unit/network/v2/test_security_group_compute.py +65 -49
  260. openstackclient/tests/unit/network/v2/test_security_group_network.py +15 -15
  261. openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +57 -45
  262. openstackclient/tests/unit/network/v2/test_security_group_rule_network.py +11 -19
  263. openstackclient/tests/unit/network/v2/test_subnet.py +29 -25
  264. openstackclient/tests/unit/network/v2/test_subnet_pool.py +15 -15
  265. openstackclient/tests/unit/object/v1/fakes.py +1 -1
  266. openstackclient/tests/unit/object/v1/test_container.py +5 -5
  267. openstackclient/tests/unit/object/v1/test_container_all.py +6 -6
  268. openstackclient/tests/unit/object/v1/test_object.py +3 -3
  269. openstackclient/tests/unit/object/v1/test_object_all.py +5 -5
  270. openstackclient/tests/unit/test_shell.py +5 -5
  271. openstackclient/tests/unit/utils.py +4 -1
  272. openstackclient/tests/unit/volume/test_find_resource.py +2 -2
  273. openstackclient/tests/unit/volume/v1/fakes.py +5 -6
  274. openstackclient/tests/unit/volume/v1/test_volume.py +5 -4
  275. openstackclient/tests/unit/volume/v2/fakes.py +39 -259
  276. openstackclient/tests/unit/volume/v2/test_consistency_group_snapshot.py +5 -5
  277. openstackclient/tests/unit/volume/v2/test_qos_specs.py +9 -9
  278. openstackclient/tests/unit/volume/v2/test_volume.py +21 -87
  279. openstackclient/tests/unit/volume/v2/test_volume_backup.py +10 -368
  280. openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +1 -1
  281. openstackclient/tests/unit/volume/v2/test_volume_transfer_request.py +0 -44
  282. openstackclient/tests/unit/volume/v2/test_volume_type.py +6 -87
  283. openstackclient/tests/unit/volume/v3/fakes.py +505 -22
  284. openstackclient/tests/unit/volume/v3/test_block_storage_cleanup.py +2 -3
  285. openstackclient/tests/unit/volume/v3/test_block_storage_cluster.py +10 -11
  286. openstackclient/tests/unit/volume/v3/test_block_storage_log_level.py +10 -6
  287. openstackclient/tests/unit/volume/v3/test_block_storage_manage.py +25 -17
  288. openstackclient/tests/unit/volume/v3/test_block_storage_resource_filter.py +6 -32
  289. openstackclient/tests/unit/volume/v3/test_service.py +271 -0
  290. openstackclient/tests/unit/volume/v3/test_volume.py +2177 -33
  291. openstackclient/tests/unit/volume/v3/test_volume_attachment.py +48 -52
  292. openstackclient/tests/unit/volume/v3/test_volume_backup.py +892 -0
  293. openstackclient/tests/unit/volume/v3/test_volume_group.py +19 -20
  294. openstackclient/tests/unit/volume/v3/test_volume_group_snapshot.py +14 -34
  295. openstackclient/tests/unit/volume/v3/test_volume_group_type.py +13 -16
  296. openstackclient/tests/unit/volume/v3/test_volume_message.py +10 -11
  297. openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +161 -0
  298. openstackclient/tests/unit/volume/v3/test_volume_transfer_request.py +425 -0
  299. openstackclient/tests/unit/volume/v3/test_volume_type.py +1109 -0
  300. openstackclient/volume/v1/qos_specs.py +7 -7
  301. openstackclient/volume/v1/service.py +2 -2
  302. openstackclient/volume/v1/volume.py +12 -12
  303. openstackclient/volume/v1/volume_backup.py +7 -7
  304. openstackclient/volume/v1/volume_snapshot.py +8 -8
  305. openstackclient/volume/v1/volume_transfer_request.py +5 -5
  306. openstackclient/volume/v1/volume_type.py +7 -7
  307. openstackclient/volume/v2/backup_record.py +2 -2
  308. openstackclient/volume/v2/consistency_group.py +7 -9
  309. openstackclient/volume/v2/consistency_group_snapshot.py +4 -12
  310. openstackclient/volume/v2/qos_specs.py +7 -7
  311. openstackclient/volume/v2/service.py +2 -2
  312. openstackclient/volume/v2/volume.py +80 -80
  313. openstackclient/volume/v2/volume_backend.py +2 -2
  314. openstackclient/volume/v2/volume_backup.py +9 -217
  315. openstackclient/volume/v2/volume_host.py +2 -2
  316. openstackclient/volume/v2/volume_snapshot.py +8 -8
  317. openstackclient/volume/v2/volume_transfer_request.py +5 -37
  318. openstackclient/volume/v2/volume_type.py +7 -89
  319. openstackclient/volume/v3/service.py +56 -0
  320. openstackclient/volume/v3/volume.py +971 -0
  321. openstackclient/volume/v3/volume_attachment.py +31 -29
  322. openstackclient/volume/v3/volume_backup.py +670 -0
  323. openstackclient/volume/v3/volume_message.py +1 -1
  324. openstackclient/volume/v3/volume_snapshot.py +97 -0
  325. openstackclient/volume/v3/volume_transfer_request.py +233 -0
  326. openstackclient/volume/v3/volume_type.py +967 -0
  327. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.1.0.dist-info}/AUTHORS +6 -0
  328. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.1.0.dist-info}/METADATA +4 -4
  329. python_openstackclient-7.1.0.dist-info/RECORD +503 -0
  330. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.1.0.dist-info}/entry_points.txt +33 -27
  331. python_openstackclient-7.1.0.dist-info/pbr.json +1 -0
  332. python_openstackclient-6.6.1.dist-info/RECORD +0 -489
  333. python_openstackclient-6.6.1.dist-info/pbr.json +0 -1
  334. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.1.0.dist-info}/LICENSE +0 -0
  335. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.1.0.dist-info}/WHEEL +0 -0
  336. {python_openstackclient-6.6.1.dist-info → python_openstackclient-7.1.0.dist-info}/top_level.txt +0 -0
@@ -91,27 +91,25 @@ class NetworkTagTests(NetworkTests):
91
91
 
92
92
  def _create_resource_for_tag_test(self, name, args):
93
93
  return self.openstack(
94
- '{} create {} {}'.format(self.base_command, args, name),
94
+ f'{self.base_command} create {args} {name}',
95
95
  parse_output=True,
96
96
  )
97
97
 
98
98
  def _create_resource_and_tag_check(self, args, expected):
99
99
  name = uuid.uuid4().hex
100
100
  cmd_output = self._create_resource_for_tag_test(name, args)
101
- self.addCleanup(
102
- self.openstack, '{} delete {}'.format(self.base_command, name)
103
- )
101
+ self.addCleanup(self.openstack, f'{self.base_command} delete {name}')
104
102
  self.assertIsNotNone(cmd_output["id"])
105
103
  self.assertEqual(set(expected), set(cmd_output['tags']))
106
104
  return name
107
105
 
108
106
  def _set_resource_and_tag_check(self, command, name, args, expected):
109
107
  cmd_output = self.openstack(
110
- '{} {} {} {}'.format(self.base_command, command, args, name)
108
+ f'{self.base_command} {command} {args} {name}'
111
109
  )
112
110
  self.assertFalse(cmd_output)
113
111
  cmd_output = self.openstack(
114
- '{} show {}'.format(self.base_command, name),
112
+ f'{self.base_command} show {name}',
115
113
  parse_output=True,
116
114
  )
117
115
  self.assertEqual(set(expected), set(cmd_output['tags']))
@@ -192,7 +192,7 @@ class NetworkTests(common.NetworkTagTests):
192
192
  cmd_output["description"],
193
193
  )
194
194
 
195
- del_output = self.openstack('network delete %s %s' % (name1, name2))
195
+ del_output = self.openstack(f'network delete {name1} {name2}')
196
196
  self.assertOutput('', del_output)
197
197
 
198
198
  def test_network_list(self):
@@ -237,7 +237,7 @@ class NetworkTests(common.NetworkTagTests):
237
237
  else:
238
238
  network_options = '--subnet 4.5.6.7/28 '
239
239
  cmd_output = self.openstack(
240
- 'network create --share %s%s' % (network_options, name2),
240
+ f'network create --share {network_options}{name2}',
241
241
  parse_output=True,
242
242
  )
243
243
  self.addCleanup(self.openstack, 'network delete ' + name2)
@@ -353,7 +353,9 @@ class NetworkTests(common.NetworkTagTests):
353
353
 
354
354
  # Add Agent to Network
355
355
  self.openstack(
356
- 'network agent add network --dhcp %s %s' % (agent_id, network_id)
356
+ 'network agent add network --dhcp {} {}'.format(
357
+ agent_id, network_id
358
+ )
357
359
  )
358
360
 
359
361
  # Test network list --agent
@@ -123,7 +123,9 @@ class TestAgentList(common.NetworkTests):
123
123
 
124
124
  # Add Agent to Network
125
125
  self.openstack(
126
- 'network agent add network --dhcp %s %s' % (agent_id, network_id)
126
+ 'network agent add network --dhcp {} {}'.format(
127
+ agent_id, network_id
128
+ )
127
129
  )
128
130
 
129
131
  # Test network agent list --network
@@ -169,9 +171,7 @@ class TestAgentList(common.NetworkTests):
169
171
  agent_id = cmd_output[0]['ID']
170
172
 
171
173
  # Add router to agent
172
- self.openstack(
173
- 'network agent add router --l3 %s %s' % (agent_id, router_id)
174
- )
174
+ self.openstack(f'network agent add router --l3 {agent_id} {router_id}')
175
175
 
176
176
  # Test router list --agent
177
177
  cmd_output = self.openstack(
@@ -184,7 +184,9 @@ class TestAgentList(common.NetworkTests):
184
184
 
185
185
  # Remove router from agent
186
186
  self.openstack(
187
- 'network agent remove router --l3 %s %s' % (agent_id, router_id)
187
+ 'network agent remove router --l3 {} {}'.format(
188
+ agent_id, router_id
189
+ )
188
190
  )
189
191
  cmd_output = self.openstack(
190
192
  'network agent list --router %s' % router_id,
@@ -69,7 +69,7 @@ class NetworkQosRuleTestsMinimumBandwidth(NetworkQosTests):
69
69
  parse_output=True,
70
70
  )
71
71
  raw_output = self.openstack(
72
- 'network qos rule delete %s %s' % (policy_name, rule['id'])
72
+ 'network qos rule delete {} {}'.format(policy_name, rule['id'])
73
73
  )
74
74
  self.assertEqual('', raw_output)
75
75
 
@@ -144,7 +144,7 @@ class NetworkQosRuleTestsMinimumPacketRate(NetworkQosTests):
144
144
  parse_output=True,
145
145
  )
146
146
  raw_output = self.openstack(
147
- 'network qos rule delete %s %s' % (policy_name, rule['id'])
147
+ 'network qos rule delete {} {}'.format(policy_name, rule['id'])
148
148
  )
149
149
  self.assertEqual('', raw_output)
150
150
 
@@ -217,7 +217,7 @@ class NetworkQosRuleTestsDSCPMarking(NetworkQosTests):
217
217
  parse_output=True,
218
218
  )
219
219
  raw_output = self.openstack(
220
- 'network qos rule delete %s %s' % (policy_name, rule['id'])
220
+ 'network qos rule delete {} {}'.format(policy_name, rule['id'])
221
221
  )
222
222
  self.assertEqual('', raw_output)
223
223
 
@@ -292,7 +292,7 @@ class NetworkQosRuleTestsBandwidthLimit(NetworkQosTests):
292
292
  parse_output=True,
293
293
  )
294
294
  raw_output = self.openstack(
295
- 'network qos rule delete %s %s' % (policy_name, rule['id'])
295
+ 'network qos rule delete {} {}'.format(policy_name, rule['id'])
296
296
  )
297
297
  self.assertEqual('', raw_output)
298
298
 
@@ -47,7 +47,7 @@ class PortTests(common.NetworkTagTests):
47
47
  def test_port_delete(self):
48
48
  """Test create, delete multiple"""
49
49
  json_output = self.openstack(
50
- 'port create --network %s %s' % (self.NETWORK_NAME, self.NAME),
50
+ f'port create --network {self.NETWORK_NAME} {self.NAME}',
51
51
  parse_output=True,
52
52
  )
53
53
  id1 = json_output.get('id')
@@ -56,7 +56,9 @@ class PortTests(common.NetworkTagTests):
56
56
  self.assertEqual(self.NAME, json_output.get('name'))
57
57
 
58
58
  json_output = self.openstack(
59
- 'port create --network %s %sx' % (self.NETWORK_NAME, self.NAME),
59
+ 'port create --network {} {}x'.format(
60
+ self.NETWORK_NAME, self.NAME
61
+ ),
60
62
  parse_output=True,
61
63
  )
62
64
  id2 = json_output.get('id')
@@ -65,13 +67,13 @@ class PortTests(common.NetworkTagTests):
65
67
  self.assertEqual(self.NAME + 'x', json_output.get('name'))
66
68
 
67
69
  # Clean up after ourselves
68
- raw_output = self.openstack('port delete %s %s' % (id1, id2))
70
+ raw_output = self.openstack(f'port delete {id1} {id2}')
69
71
  self.assertOutput('', raw_output)
70
72
 
71
73
  def test_port_list(self):
72
74
  """Test create defaults, list, delete"""
73
75
  json_output = self.openstack(
74
- 'port create --network %s %s' % (self.NETWORK_NAME, self.NAME),
76
+ f'port create --network {self.NETWORK_NAME} {self.NAME}',
75
77
  parse_output=True,
76
78
  )
77
79
  id1 = json_output.get('id')
@@ -82,7 +84,9 @@ class PortTests(common.NetworkTagTests):
82
84
  self.assertEqual(self.NAME, json_output.get('name'))
83
85
 
84
86
  json_output = self.openstack(
85
- 'port create --network %s %sx' % (self.NETWORK_NAME, self.NAME),
87
+ 'port create --network {} {}x'.format(
88
+ self.NETWORK_NAME, self.NAME
89
+ ),
86
90
  parse_output=True,
87
91
  )
88
92
  id2 = json_output.get('id')
@@ -169,7 +173,7 @@ class PortTests(common.NetworkTagTests):
169
173
  self.assertIsNotNone(json_output.get('mac_address'))
170
174
 
171
175
  raw_output = self.openstack(
172
- 'port unset --security-group %s %s' % (sg_id, id1)
176
+ f'port unset --security-group {sg_id} {id1}'
173
177
  )
174
178
  self.assertOutput('', raw_output)
175
179
 
@@ -247,7 +251,7 @@ class PortTests(common.NetworkTagTests):
247
251
  )
248
252
 
249
253
  raw_output = self.openstack(
250
- 'port unset --security-group %s %s' % (sg_id1, id1)
254
+ f'port unset --security-group {sg_id1} {id1}'
251
255
  )
252
256
  self.assertOutput('', raw_output)
253
257
 
@@ -287,10 +287,10 @@ class RouterTests(common.NetworkTagTests):
287
287
  self.openstack('router create %s' % router_name)
288
288
  self.addCleanup(self.openstack, 'router delete %s' % router_name)
289
289
 
290
- self.openstack('router add subnet %s %s' % (router_name, subnet_name))
290
+ self.openstack(f'router add subnet {router_name} {subnet_name}')
291
291
  self.addCleanup(
292
292
  self.openstack,
293
- 'router remove subnet %s %s' % (router_name, subnet_name),
293
+ f'router remove subnet {router_name} {subnet_name}',
294
294
  )
295
295
 
296
296
  out1 = (
@@ -18,5 +18,5 @@ class ObjectStoreTests(base.TestCase):
18
18
 
19
19
  @classmethod
20
20
  def setUpClass(cls):
21
- super(ObjectStoreTests, cls).setUpClass()
21
+ super().setUpClass()
22
22
  cls.haz_object_store = cls.is_service_enabled('object-store')
@@ -23,7 +23,7 @@ class ContainerTests(common.ObjectStoreTests):
23
23
 
24
24
  @classmethod
25
25
  def setUpClass(cls):
26
- super(ContainerTests, cls).setUpClass()
26
+ super().setUpClass()
27
27
  if cls.haz_object_store:
28
28
  opts = cls.get_opts(['container'])
29
29
  raw_output = cls.openstack('container create ' + cls.NAME + opts)
@@ -36,10 +36,10 @@ class ContainerTests(common.ObjectStoreTests):
36
36
  raw_output = cls.openstack('container delete ' + cls.NAME)
37
37
  cls.assertOutput('', raw_output)
38
38
  finally:
39
- super(ContainerTests, cls).tearDownClass()
39
+ super().tearDownClass()
40
40
 
41
41
  def setUp(self):
42
- super(ContainerTests, self).setUp()
42
+ super().setUp()
43
43
  # Skip tests if no object-store is present
44
44
  if not self.haz_object_store:
45
45
  self.skipTest("No object-store service present")
@@ -27,7 +27,7 @@ class ObjectTests(common.ObjectStoreTests):
27
27
  CONTAINER_NAME = uuid.uuid4().hex
28
28
 
29
29
  def setUp(self):
30
- super(ObjectTests, self).setUp()
30
+ super().setUp()
31
31
  # Skip tests if no object-store is present
32
32
  if not self.haz_object_store:
33
33
  self.skipTest("No object-store service present")
@@ -54,7 +54,7 @@ class ObjectTests(common.ObjectStoreTests):
54
54
  # TODO(stevemar): Assert returned fields
55
55
 
56
56
  raw_output = self.openstack(
57
- 'object create %s %s' % (self.CONTAINER_NAME, object_file)
57
+ f'object create {self.CONTAINER_NAME} {object_file}'
58
58
  )
59
59
  items = self.parse_listing(raw_output)
60
60
  self.assert_show_fields(items, OBJECT_FIELDS)
@@ -63,9 +63,7 @@ class ObjectTests(common.ObjectStoreTests):
63
63
  items = self.parse_listing(raw_output)
64
64
  self.assert_table_structure(items, BASIC_LIST_HEADERS)
65
65
 
66
- self.openstack(
67
- 'object save %s %s' % (self.CONTAINER_NAME, object_file)
68
- )
66
+ self.openstack(f'object save {self.CONTAINER_NAME} {object_file}')
69
67
  # TODO(stevemar): Assert returned fields
70
68
 
71
69
  tmp_file = 'tmp.txt'
@@ -77,23 +75,21 @@ class ObjectTests(common.ObjectStoreTests):
77
75
  # TODO(stevemar): Assert returned fields
78
76
 
79
77
  raw_output = self.openstack(
80
- 'object save %s %s --file -' % (self.CONTAINER_NAME, object_file)
78
+ 'object save {} {} --file -'.format(
79
+ self.CONTAINER_NAME, object_file
80
+ )
81
81
  )
82
82
  self.assertEqual(raw_output, 'test content')
83
83
 
84
- self.openstack(
85
- 'object show %s %s' % (self.CONTAINER_NAME, object_file)
86
- )
84
+ self.openstack(f'object show {self.CONTAINER_NAME} {object_file}')
87
85
  # TODO(stevemar): Assert returned fields
88
86
 
89
87
  raw_output = self.openstack(
90
- 'object delete %s %s' % (self.CONTAINER_NAME, object_file)
88
+ f'object delete {self.CONTAINER_NAME} {object_file}'
91
89
  )
92
90
  self.assertEqual(0, len(raw_output))
93
91
 
94
- self.openstack(
95
- 'object create %s %s' % (self.CONTAINER_NAME, object_file)
96
- )
92
+ self.openstack(f'object create {self.CONTAINER_NAME} {object_file}')
97
93
  raw_output = self.openstack(
98
94
  'container delete -r %s' % self.CONTAINER_NAME
99
95
  )
@@ -70,7 +70,7 @@ class BaseVolumeTests(base.TestCase):
70
70
  result = cls.openstack(check_type + ' list', parse_output=True)
71
71
  names = [x[name_field] for x in result]
72
72
  if check_name not in names:
73
- print('{} {} is now deleted'.format(check_type, check_name))
73
+ print(f'{check_type} {check_name} is now deleted')
74
74
  return
75
75
  print(
76
76
  'Checking {} {} Waiting for deleted'.format(
@@ -20,7 +20,7 @@ class VolumeServiceTests(common.BaseVolumeTests):
20
20
  cmd_output = self.openstack('volume service list', parse_output=True)
21
21
 
22
22
  # Get the nonredundant services and hosts
23
- services = list(set([x['Binary'] for x in cmd_output]))
23
+ services = list({x['Binary'] for x in cmd_output})
24
24
 
25
25
  # Test volume service list --service
26
26
  cmd_output = self.openstack(
@@ -22,7 +22,7 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
22
22
 
23
23
  @classmethod
24
24
  def setUpClass(cls):
25
- super(VolumeSnapshotTests, cls).setUpClass()
25
+ super().setUpClass()
26
26
  # create a volume for all tests to create snapshot
27
27
  cmd_output = cls.openstack(
28
28
  'volume create ' + '--size 1 ' + cls.VOLLY,
@@ -38,7 +38,7 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
38
38
  raw_output = cls.openstack('volume delete --force ' + cls.VOLLY)
39
39
  cls.assertOutput('', raw_output)
40
40
  finally:
41
- super(VolumeSnapshotTests, cls).tearDownClass()
41
+ super().tearDownClass()
42
42
 
43
43
  def test_volume_snapshot_delete(self):
44
44
  """Test create, delete multiple"""
@@ -23,7 +23,7 @@ class TransferRequestTests(common.BaseVolumeTests):
23
23
 
24
24
  @classmethod
25
25
  def setUpClass(cls):
26
- super(TransferRequestTests, cls).setUpClass()
26
+ super().setUpClass()
27
27
  cmd_output = cls.openstack(
28
28
  'volume create --size 1 ' + cls.VOLUME_NAME,
29
29
  parse_output=True,
@@ -40,7 +40,7 @@ class TransferRequestTests(common.BaseVolumeTests):
40
40
  )
41
41
  cls.assertOutput('', raw_output_volume)
42
42
  finally:
43
- super(TransferRequestTests, cls).tearDownClass()
43
+ super().tearDownClass()
44
44
 
45
45
  def test_volume_transfer_request_accept(self):
46
46
  volume_name = uuid.uuid4().hex
@@ -110,7 +110,7 @@ class VolumeTypeTests(common.BaseVolumeTests):
110
110
  time.sleep(5)
111
111
  self.openstack('volume type create %s' % vol_type2)
112
112
  time.sleep(5)
113
- cmd = 'volume type delete %s %s' % (vol_type1, vol_type2)
113
+ cmd = f'volume type delete {vol_type1} {vol_type2}'
114
114
  raw_output = self.openstack(cmd)
115
115
  self.assertOutput('', raw_output)
116
116
 
@@ -20,8 +20,8 @@ class VolumeServiceTests(common.BaseVolumeTests):
20
20
  cmd_output = self.openstack('volume service list', parse_output=True)
21
21
 
22
22
  # Get the nonredundant services and hosts
23
- services = list(set([x['Binary'] for x in cmd_output]))
24
- hosts = list(set([x['Host'] for x in cmd_output]))
23
+ services = list({x['Binary'] for x in cmd_output})
24
+ hosts = list({x['Host'] for x in cmd_output})
25
25
 
26
26
  # Test volume service list --service
27
27
  cmd_output = self.openstack(
@@ -19,7 +19,7 @@ class VolumeBackupTests(common.BaseVolumeTests):
19
19
  """Functional tests for volume backups."""
20
20
 
21
21
  def setUp(self):
22
- super(VolumeBackupTests, self).setUp()
22
+ super().setUp()
23
23
  self.backup_enabled = False
24
24
  serv_list = self.openstack('volume service list', parse_output=True)
25
25
  for service in serv_list:
@@ -48,7 +48,7 @@ class VolumeBackupTests(common.BaseVolumeTests):
48
48
 
49
49
  # restore the backup
50
50
  backup_restored = self.openstack(
51
- 'volume backup restore %s %s' % (backup['id'], vol_id),
51
+ 'volume backup restore {} {}'.format(backup['id'], vol_id),
52
52
  parse_output=True,
53
53
  )
54
54
  self.assertEqual(backup_restored['backup_id'], backup['id'])
@@ -22,7 +22,7 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
22
22
 
23
23
  @classmethod
24
24
  def setUpClass(cls):
25
- super(VolumeSnapshotTests, cls).setUpClass()
25
+ super().setUpClass()
26
26
  # create a volume for all tests to create snapshot
27
27
  cmd_output = cls.openstack(
28
28
  'volume create ' + '--size 1 ' + cls.VOLLY,
@@ -38,7 +38,7 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
38
38
  raw_output = cls.openstack('volume delete --force ' + cls.VOLLY)
39
39
  cls.assertOutput('', raw_output)
40
40
  finally:
41
- super(VolumeSnapshotTests, cls).tearDownClass()
41
+ super().tearDownClass()
42
42
 
43
43
  def test_volume_snapshot_delete(self):
44
44
  """Test create, delete multiple"""
@@ -129,7 +129,7 @@ class VolumeTypeTests(common.BaseVolumeTests):
129
129
  time.sleep(5)
130
130
  self.openstack('volume type create %s' % vol_type2)
131
131
  time.sleep(5)
132
- cmd = 'volume type delete %s %s' % (vol_type1, vol_type2)
132
+ cmd = f'volume type delete {vol_type1} {vol_type2}'
133
133
  raw_output = self.openstack(cmd)
134
134
  self.assertOutput('', raw_output)
135
135
 
@@ -22,7 +22,7 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
22
22
 
23
23
  @classmethod
24
24
  def setUpClass(cls):
25
- super(VolumeSnapshotTests, cls).setUpClass()
25
+ super().setUpClass()
26
26
  # create a volume for all tests to create snapshot
27
27
  cmd_output = cls.openstack(
28
28
  'volume create ' + '--size 1 ' + cls.VOLLY,
@@ -38,7 +38,7 @@ class VolumeSnapshotTests(common.BaseVolumeTests):
38
38
  raw_output = cls.openstack('volume delete --force ' + cls.VOLLY)
39
39
  cls.assertOutput('', raw_output)
40
40
  finally:
41
- super(VolumeSnapshotTests, cls).tearDownClass()
41
+ super().tearDownClass()
42
42
 
43
43
  def test_volume_snapshot_delete(self):
44
44
  """Test create, delete multiple"""
@@ -129,7 +129,7 @@ class VolumeTypeTests(common.BaseVolumeTests):
129
129
  time.sleep(5)
130
130
  self.openstack('volume type create %s' % vol_type2)
131
131
  time.sleep(5)
132
- cmd = 'volume type delete %s %s' % (vol_type1, vol_type2)
132
+ cmd = f'volume type delete {vol_type1} {vol_type2}'
133
133
  raw_output = self.openstack(cmd)
134
134
  self.assertOutput('', raw_output)
135
135
 
@@ -50,6 +50,6 @@ class TestSession(utils.TestCase):
50
50
  BASE_URL = 'https://api.example.com:1234/vX'
51
51
 
52
52
  def setUp(self):
53
- super(TestSession, self).setUp()
53
+ super().setUp()
54
54
  self.sess = session.Session()
55
55
  self.requests_mock = self.useFixture(fixture.Fixture())
@@ -21,7 +21,7 @@ from openstackclient.tests.unit.api import fakes as api_fakes
21
21
 
22
22
  class TestKeystoneSession(api_fakes.TestSession):
23
23
  def setUp(self):
24
- super(TestKeystoneSession, self).setUp()
24
+ super().setUp()
25
25
  self.api = api.KeystoneSession(
26
26
  session=self.sess,
27
27
  endpoint=self.BASE_URL,
@@ -40,7 +40,7 @@ class TestKeystoneSession(api_fakes.TestSession):
40
40
 
41
41
  class TestBaseAPI(api_fakes.TestSession):
42
42
  def setUp(self):
43
- super(TestBaseAPI, self).setUp()
43
+ super().setUp()
44
44
  self.api = api.BaseAPI(
45
45
  session=self.sess,
46
46
  endpoint=self.BASE_URL,