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
@@ -10,7 +10,6 @@
10
10
  # License for the specific language governing permissions and limitations
11
11
  # under the License.
12
12
 
13
- import argparse
14
13
  import copy
15
14
  from random import choice
16
15
  from random import randint
@@ -33,31 +32,16 @@ from openstack.network.v2 import network_ip_availability as _ip_availability
33
32
  from openstack.network.v2 import network_segment_range as _segment_range
34
33
  from openstack.network.v2 import port as _port
35
34
  from openstack.network.v2 import rbac_policy as network_rbac
35
+ from openstack.network.v2 import security_group as _security_group
36
36
  from openstack.network.v2 import segment as _segment
37
- from openstack.network.v2 import service_profile as _flavor_profile
37
+ from openstack.network.v2 import service_profile as _service_profile
38
38
  from openstack.network.v2 import trunk as _trunk
39
39
 
40
40
  from openstackclient.tests.unit import fakes
41
- from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes_v3
41
+ from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes
42
42
  from openstackclient.tests.unit import utils
43
43
 
44
44
 
45
- QUOTA = {
46
- "subnet": 10,
47
- "network": 10,
48
- "floatingip": 50,
49
- "subnetpool": -1,
50
- "security_group_rule": 100,
51
- "security_group": 10,
52
- "router": 10,
53
- "rbac_policy": -1,
54
- "port": 50,
55
- "vip": 10,
56
- "member": 10,
57
- "healthmonitor": 10,
58
- "l7policy": 5,
59
- }
60
-
61
45
  RULE_TYPE_BANDWIDTH_LIMIT = 'bandwidth-limit'
62
46
  RULE_TYPE_DSCP_MARKING = 'dscp-marking'
63
47
  RULE_TYPE_MINIMUM_BANDWIDTH = 'minimum-bandwidth'
@@ -101,18 +85,11 @@ class FakeClientMixin:
101
85
  self.network_client = self.app.client_manager.network
102
86
 
103
87
 
104
- class TestNetworkV2(FakeClientMixin, utils.TestCommand):
105
- def setUp(self):
106
- super().setUp()
107
-
108
- self.namespace = argparse.Namespace()
109
-
110
- self.app.client_manager.identity = (
111
- identity_fakes_v3.FakeIdentityv3Client(
112
- endpoint=fakes.AUTH_URL,
113
- token=fakes.AUTH_TOKEN,
114
- )
115
- )
88
+ class TestNetworkV2(
89
+ identity_fakes.FakeClientMixin,
90
+ FakeClientMixin,
91
+ utils.TestCommand,
92
+ ): ...
116
93
 
117
94
 
118
95
  def create_one_extension(attrs=None):
@@ -141,7 +118,7 @@ def create_one_extension(attrs=None):
141
118
  return extension
142
119
 
143
120
 
144
- class FakeNetworkQosPolicy(object):
121
+ class FakeNetworkQosPolicy:
145
122
  """Fake one or more QoS policies."""
146
123
 
147
124
  @staticmethod
@@ -221,7 +198,7 @@ class FakeNetworkQosPolicy(object):
221
198
  return mock.Mock(side_effect=qos_policies)
222
199
 
223
200
 
224
- class FakeNetworkSecGroup(object):
201
+ class FakeNetworkSecGroup:
225
202
  """Fake one security group."""
226
203
 
227
204
  @staticmethod
@@ -252,7 +229,7 @@ class FakeNetworkSecGroup(object):
252
229
  return security_group
253
230
 
254
231
 
255
- class FakeNetworkQosRule(object):
232
+ class FakeNetworkQosRule:
256
233
  """Fake one or more Network QoS rules."""
257
234
 
258
235
  @staticmethod
@@ -333,7 +310,7 @@ class FakeNetworkQosRule(object):
333
310
  return mock.Mock(side_effect=qos_rules)
334
311
 
335
312
 
336
- class FakeNetworkQosRuleType(object):
313
+ class FakeNetworkQosRuleType:
337
314
  """Fake one or more Network QoS rule types."""
338
315
 
339
316
  @staticmethod
@@ -380,7 +357,7 @@ class FakeNetworkQosRuleType(object):
380
357
  return qos_rule_types
381
358
 
382
359
 
383
- class FakeRouter(object):
360
+ class FakeRouter:
384
361
  """Fake one or more routers."""
385
362
 
386
363
  @staticmethod
@@ -464,7 +441,7 @@ class FakeRouter(object):
464
441
  return mock.Mock(side_effect=routers)
465
442
 
466
443
 
467
- class FakeSecurityGroup(object):
444
+ class FakeSecurityGroup:
468
445
  """Fake one or more security groups."""
469
446
 
470
447
  @staticmethod
@@ -538,7 +515,7 @@ class FakeSecurityGroup(object):
538
515
  return mock.Mock(side_effect=security_groups)
539
516
 
540
517
 
541
- class FakeSecurityGroupRule(object):
518
+ class FakeSecurityGroupRule:
542
519
  """Fake one or more security group rules."""
543
520
 
544
521
  @staticmethod
@@ -620,7 +597,7 @@ class FakeSecurityGroupRule(object):
620
597
  return mock.Mock(side_effect=security_group_rules)
621
598
 
622
599
 
623
- class FakeSubnet(object):
600
+ class FakeSubnet:
624
601
  """Fake one or more subnets."""
625
602
 
626
603
  @staticmethod
@@ -708,7 +685,7 @@ class FakeSubnet(object):
708
685
  return mock.Mock(side_effect=subnets)
709
686
 
710
687
 
711
- class FakeFloatingIP(object):
688
+ class FakeFloatingIP:
712
689
  """Fake one or more floating ip."""
713
690
 
714
691
  @staticmethod
@@ -785,7 +762,7 @@ class FakeFloatingIP(object):
785
762
  return mock.Mock(side_effect=floating_ips)
786
763
 
787
764
 
788
- class FakeNetworkMeter(object):
765
+ class FakeNetworkMeter:
789
766
  """Fake network meter"""
790
767
 
791
768
  @staticmethod
@@ -827,7 +804,7 @@ class FakeNetworkMeter(object):
827
804
  return mock.Mock(side_effect=meter)
828
805
 
829
806
 
830
- class FakeNetworkMeterRule(object):
807
+ class FakeNetworkMeterRule:
831
808
  """Fake metering rule"""
832
809
 
833
810
  @staticmethod
@@ -872,7 +849,7 @@ class FakeNetworkMeterRule(object):
872
849
  return mock.Mock(side_effect=meter_rule)
873
850
 
874
851
 
875
- class FakeSubnetPool(object):
852
+ class FakeSubnetPool:
876
853
  """Fake one or more subnet pools."""
877
854
 
878
855
  @staticmethod
@@ -959,7 +936,7 @@ class FakeSubnetPool(object):
959
936
  return mock.Mock(side_effect=subnet_pools)
960
937
 
961
938
 
962
- class FakeNetworkServiceProvider(object):
939
+ class FakeNetworkServiceProvider:
963
940
  """Fake Network Service Providers"""
964
941
 
965
942
  @staticmethod
@@ -997,83 +974,7 @@ class FakeNetworkServiceProvider(object):
997
974
  return service_providers
998
975
 
999
976
 
1000
- class FakeQuota(object):
1001
- """Fake quota"""
1002
-
1003
- @staticmethod
1004
- def create_one_net_quota(attrs=None):
1005
- """Create one quota"""
1006
- attrs = attrs or {}
1007
-
1008
- quota_attrs = {
1009
- 'floating_ips': 20,
1010
- 'networks': 25,
1011
- 'ports': 11,
1012
- 'rbac_policies': 15,
1013
- 'routers': 40,
1014
- 'security_groups': 10,
1015
- 'security_group_rules': 100,
1016
- 'subnets': 20,
1017
- 'subnet_pools': 30,
1018
- }
1019
-
1020
- quota_attrs.update(attrs)
1021
-
1022
- quota = fakes.FakeResource(
1023
- info=copy.deepcopy(quota_attrs), loaded=True
1024
- )
1025
- return quota
1026
-
1027
- @staticmethod
1028
- def create_one_default_net_quota(attrs=None):
1029
- """Create one quota"""
1030
- attrs = attrs or {}
1031
-
1032
- quota_attrs = {
1033
- 'floatingip': 30,
1034
- 'network': 20,
1035
- 'port': 10,
1036
- 'rbac_policy': 25,
1037
- 'router': 30,
1038
- 'security_group': 30,
1039
- 'security_group_rule': 200,
1040
- 'subnet': 10,
1041
- 'subnetpool': 20,
1042
- }
1043
-
1044
- quota_attrs.update(attrs)
1045
-
1046
- quota = fakes.FakeResource(
1047
- info=copy.deepcopy(quota_attrs), loaded=True
1048
- )
1049
- return quota
1050
-
1051
- @staticmethod
1052
- def create_one_net_detailed_quota(attrs=None):
1053
- """Create one quota"""
1054
- attrs = attrs or {}
1055
-
1056
- quota_attrs = {
1057
- 'floating_ips': {'used': 0, 'reserved': 0, 'limit': 20},
1058
- 'networks': {'used': 0, 'reserved': 0, 'limit': 25},
1059
- 'ports': {'used': 0, 'reserved': 0, 'limit': 11},
1060
- 'rbac_policies': {'used': 0, 'reserved': 0, 'limit': 15},
1061
- 'routers': {'used': 0, 'reserved': 0, 'limit': 40},
1062
- 'security_groups': {'used': 0, 'reserved': 0, 'limit': 10},
1063
- 'security_group_rules': {'used': 0, 'reserved': 0, 'limit': 100},
1064
- 'subnets': {'used': 0, 'reserved': 0, 'limit': 20},
1065
- 'subnet_pools': {'used': 0, 'reserved': 0, 'limit': 30},
1066
- }
1067
-
1068
- quota_attrs.update(attrs)
1069
-
1070
- quota = fakes.FakeResource(
1071
- info=copy.deepcopy(quota_attrs), loaded=True
1072
- )
1073
- return quota
1074
-
1075
-
1076
- class FakeFloatingIPPortForwarding(object):
977
+ class FakeFloatingIPPortForwarding:
1077
978
  """Fake one or more Port forwarding"""
1078
979
 
1079
980
  @staticmethod
@@ -1177,7 +1078,7 @@ class FakeFloatingIPPortForwarding(object):
1177
1078
  return mock.Mock(side_effect=port_forwardings)
1178
1079
 
1179
1080
 
1180
- class FakeL3ConntrackHelper(object):
1081
+ class FakeL3ConntrackHelper:
1181
1082
  """Fake one or more L3 conntrack helper"""
1182
1083
 
1183
1084
  @staticmethod
@@ -1951,11 +1852,44 @@ def get_network_rbacs(rbac_policies=None, count=2):
1951
1852
  return mock.Mock(side_effect=rbac_policies)
1952
1853
 
1953
1854
 
1855
+ def create_one_security_group(attrs=None):
1856
+ """Create a security group."""
1857
+ attrs = attrs or {}
1858
+
1859
+ security_group_attrs = {
1860
+ 'name': 'security-group-name-' + uuid.uuid4().hex,
1861
+ 'id': 'security-group-id-' + uuid.uuid4().hex,
1862
+ 'project_id': 'project-id-' + uuid.uuid4().hex,
1863
+ 'description': 'security-group-description-' + uuid.uuid4().hex,
1864
+ 'location': 'MUNCHMUNCHMUNCH',
1865
+ }
1866
+
1867
+ security_group_attrs.update(attrs)
1868
+
1869
+ security_group = _security_group.SecurityGroup(**security_group_attrs)
1870
+
1871
+ return security_group
1872
+
1873
+
1874
+ def create_security_groups(attrs=None, count=2):
1875
+ """Create multiple fake security groups.
1876
+
1877
+ :param dict attrs: A dictionary with all attributes
1878
+ :param int count: The number of security groups to fake
1879
+ :return: A list of fake SecurityGroup objects
1880
+ """
1881
+ security_groups = []
1882
+ for i in range(0, count):
1883
+ security_groups.append(create_one_security_group(attrs))
1884
+
1885
+ return security_groups
1886
+
1887
+
1954
1888
  def create_one_service_profile(attrs=None):
1955
- """Create flavor profile."""
1889
+ """Create service profile."""
1956
1890
  attrs = attrs or {}
1957
1891
 
1958
- flavor_profile_attrs = {
1892
+ service_profile_attrs = {
1959
1893
  'id': 'flavor-profile-id' + uuid.uuid4().hex,
1960
1894
  'description': 'flavor-profile-description-' + uuid.uuid4().hex,
1961
1895
  'project_id': 'project-id-' + uuid.uuid4().hex,
@@ -1965,20 +1899,20 @@ def create_one_service_profile(attrs=None):
1965
1899
  'location': 'MUNCHMUNCHMUNCH',
1966
1900
  }
1967
1901
 
1968
- flavor_profile_attrs.update(attrs)
1902
+ service_profile_attrs.update(attrs)
1969
1903
 
1970
- flavor_profile = _flavor_profile.ServiceProfile(**flavor_profile_attrs)
1904
+ flavor_profile = _service_profile.ServiceProfile(**service_profile_attrs)
1971
1905
 
1972
1906
  return flavor_profile
1973
1907
 
1974
1908
 
1975
1909
  def create_service_profile(attrs=None, count=2):
1976
- """Create multiple flavor profiles."""
1910
+ """Create multiple service profiles."""
1977
1911
 
1978
- flavor_profiles = []
1912
+ service_profiles = []
1979
1913
  for i in range(0, count):
1980
- flavor_profiles.append(create_one_service_profile(attrs))
1981
- return flavor_profiles
1914
+ service_profiles.append(create_one_service_profile(attrs))
1915
+ return service_profiles
1982
1916
 
1983
1917
 
1984
1918
  def get_service_profile(flavor_profile=None, count=2):
@@ -24,12 +24,12 @@ from openstackclient.tests.unit import utils as tests_utils
24
24
 
25
25
  class TestAddressGroup(network_fakes.TestNetworkV2):
26
26
  def setUp(self):
27
- super(TestAddressGroup, self).setUp()
27
+ super().setUp()
28
28
 
29
29
  # Get a shortcut to the ProjectManager Mock
30
- self.projects_mock = self.app.client_manager.identity.projects
30
+ self.projects_mock = self.identity_client.projects
31
31
  # Get a shortcut to the DomainManager Mock
32
- self.domains_mock = self.app.client_manager.identity.domains
32
+ self.domains_mock = self.identity_client.domains
33
33
 
34
34
 
35
35
  class TestCreateAddressGroup(TestAddressGroup):
@@ -57,13 +57,13 @@ class TestCreateAddressGroup(TestAddressGroup):
57
57
  )
58
58
 
59
59
  def setUp(self):
60
- super(TestCreateAddressGroup, self).setUp()
60
+ super().setUp()
61
61
  self.network_client.create_address_group = mock.Mock(
62
62
  return_value=self.new_address_group
63
63
  )
64
64
 
65
65
  # Get the command object to test
66
- self.cmd = address_group.CreateAddressGroup(self.app, self.namespace)
66
+ self.cmd = address_group.CreateAddressGroup(self.app, None)
67
67
 
68
68
  self.projects_mock.get.return_value = self.project
69
69
  self.domains_mock.get.return_value = self.domain
@@ -144,7 +144,7 @@ class TestDeleteAddressGroup(TestAddressGroup):
144
144
  _address_groups = network_fakes.create_address_groups(count=2)
145
145
 
146
146
  def setUp(self):
147
- super(TestDeleteAddressGroup, self).setUp()
147
+ super().setUp()
148
148
  self.network_client.delete_address_group = mock.Mock(return_value=None)
149
149
  self.network_client.find_address_group = (
150
150
  network_fakes.get_address_groups(
@@ -153,7 +153,7 @@ class TestDeleteAddressGroup(TestAddressGroup):
153
153
  )
154
154
 
155
155
  # Get the command object to test
156
- self.cmd = address_group.DeleteAddressGroup(self.app, self.namespace)
156
+ self.cmd = address_group.DeleteAddressGroup(self.app, None)
157
157
 
158
158
  def test_address_group_delete(self):
159
159
  arglist = [
@@ -250,13 +250,13 @@ class TestListAddressGroup(TestAddressGroup):
250
250
  )
251
251
 
252
252
  def setUp(self):
253
- super(TestListAddressGroup, self).setUp()
253
+ super().setUp()
254
254
  self.network_client.address_groups = mock.Mock(
255
255
  return_value=self.address_groups
256
256
  )
257
257
 
258
258
  # Get the command object to test
259
- self.cmd = address_group.ListAddressGroup(self.app, self.namespace)
259
+ self.cmd = address_group.ListAddressGroup(self.app, None)
260
260
 
261
261
  def test_address_group_list(self):
262
262
  arglist = []
@@ -332,7 +332,7 @@ class TestSetAddressGroup(TestAddressGroup):
332
332
  _address_group = network_fakes.create_one_address_group()
333
333
 
334
334
  def setUp(self):
335
- super(TestSetAddressGroup, self).setUp()
335
+ super().setUp()
336
336
  self.network_client.update_address_group = mock.Mock(return_value=None)
337
337
  self.network_client.find_address_group = mock.Mock(
338
338
  return_value=self._address_group
@@ -341,7 +341,7 @@ class TestSetAddressGroup(TestAddressGroup):
341
341
  return_value=self._address_group
342
342
  )
343
343
  # Get the command object to test
344
- self.cmd = address_group.SetAddressGroup(self.app, self.namespace)
344
+ self.cmd = address_group.SetAddressGroup(self.app, None)
345
345
 
346
346
  def test_set_nothing(self):
347
347
  arglist = [
@@ -441,13 +441,13 @@ class TestShowAddressGroup(TestAddressGroup):
441
441
  )
442
442
 
443
443
  def setUp(self):
444
- super(TestShowAddressGroup, self).setUp()
444
+ super().setUp()
445
445
  self.network_client.find_address_group = mock.Mock(
446
446
  return_value=self._address_group
447
447
  )
448
448
 
449
449
  # Get the command object to test
450
- self.cmd = address_group.ShowAddressGroup(self.app, self.namespace)
450
+ self.cmd = address_group.ShowAddressGroup(self.app, None)
451
451
 
452
452
  def test_show_no_options(self):
453
453
  arglist = []
@@ -485,7 +485,7 @@ class TestUnsetAddressGroup(TestAddressGroup):
485
485
  _address_group = network_fakes.create_one_address_group()
486
486
 
487
487
  def setUp(self):
488
- super(TestUnsetAddressGroup, self).setUp()
488
+ super().setUp()
489
489
  self.network_client.find_address_group = mock.Mock(
490
490
  return_value=self._address_group
491
491
  )
@@ -493,7 +493,7 @@ class TestUnsetAddressGroup(TestAddressGroup):
493
493
  return_value=self._address_group
494
494
  )
495
495
  # Get the command object to test
496
- self.cmd = address_group.UnsetAddressGroup(self.app, self.namespace)
496
+ self.cmd = address_group.UnsetAddressGroup(self.app, None)
497
497
 
498
498
  def test_unset_nothing(self):
499
499
  arglist = [
@@ -24,12 +24,12 @@ from openstackclient.tests.unit import utils as tests_utils
24
24
 
25
25
  class TestAddressScope(network_fakes.TestNetworkV2):
26
26
  def setUp(self):
27
- super(TestAddressScope, self).setUp()
27
+ super().setUp()
28
28
 
29
29
  # Get a shortcut to the ProjectManager Mock
30
- self.projects_mock = self.app.client_manager.identity.projects
30
+ self.projects_mock = self.identity_client.projects
31
31
  # Get a shortcut to the DomainManager Mock
32
- self.domains_mock = self.app.client_manager.identity.domains
32
+ self.domains_mock = self.identity_client.domains
33
33
 
34
34
 
35
35
  class TestCreateAddressScope(TestAddressScope):
@@ -51,13 +51,13 @@ class TestCreateAddressScope(TestAddressScope):
51
51
  )
52
52
 
53
53
  def setUp(self):
54
- super(TestCreateAddressScope, self).setUp()
54
+ super().setUp()
55
55
  self.network_client.create_address_scope = mock.Mock(
56
56
  return_value=self.new_address_scope
57
57
  )
58
58
 
59
59
  # Get the command object to test
60
- self.cmd = address_scope.CreateAddressScope(self.app, self.namespace)
60
+ self.cmd = address_scope.CreateAddressScope(self.app, None)
61
61
 
62
62
  self.projects_mock.get.return_value = self.project
63
63
  self.domains_mock.get.return_value = self.domain
@@ -159,7 +159,7 @@ class TestDeleteAddressScope(TestAddressScope):
159
159
  _address_scopes = network_fakes.create_address_scopes(count=2)
160
160
 
161
161
  def setUp(self):
162
- super(TestDeleteAddressScope, self).setUp()
162
+ super().setUp()
163
163
  self.network_client.delete_address_scope = mock.Mock(return_value=None)
164
164
  self.network_client.find_address_scope = (
165
165
  network_fakes.get_address_scopes(
@@ -168,7 +168,7 @@ class TestDeleteAddressScope(TestAddressScope):
168
168
  )
169
169
 
170
170
  # Get the command object to test
171
- self.cmd = address_scope.DeleteAddressScope(self.app, self.namespace)
171
+ self.cmd = address_scope.DeleteAddressScope(self.app, None)
172
172
 
173
173
  def test_address_scope_delete(self):
174
174
  arglist = [
@@ -266,13 +266,13 @@ class TestListAddressScope(TestAddressScope):
266
266
  )
267
267
 
268
268
  def setUp(self):
269
- super(TestListAddressScope, self).setUp()
269
+ super().setUp()
270
270
  self.network_client.address_scopes = mock.Mock(
271
271
  return_value=self.address_scopes
272
272
  )
273
273
 
274
274
  # Get the command object to test
275
- self.cmd = address_scope.ListAddressScope(self.app, self.namespace)
275
+ self.cmd = address_scope.ListAddressScope(self.app, None)
276
276
 
277
277
  def test_address_scope_list(self):
278
278
  arglist = []
@@ -397,14 +397,14 @@ class TestSetAddressScope(TestAddressScope):
397
397
  _address_scope = network_fakes.create_one_address_scope()
398
398
 
399
399
  def setUp(self):
400
- super(TestSetAddressScope, self).setUp()
400
+ super().setUp()
401
401
  self.network_client.update_address_scope = mock.Mock(return_value=None)
402
402
  self.network_client.find_address_scope = mock.Mock(
403
403
  return_value=self._address_scope
404
404
  )
405
405
 
406
406
  # Get the command object to test
407
- self.cmd = address_scope.SetAddressScope(self.app, self.namespace)
407
+ self.cmd = address_scope.SetAddressScope(self.app, None)
408
408
 
409
409
  def test_set_nothing(self):
410
410
  arglist = [
@@ -487,13 +487,13 @@ class TestShowAddressScope(TestAddressScope):
487
487
  )
488
488
 
489
489
  def setUp(self):
490
- super(TestShowAddressScope, self).setUp()
490
+ super().setUp()
491
491
  self.network_client.find_address_scope = mock.Mock(
492
492
  return_value=self._address_scope
493
493
  )
494
494
 
495
495
  # Get the command object to test
496
- self.cmd = address_scope.ShowAddressScope(self.app, self.namespace)
496
+ self.cmd = address_scope.ShowAddressScope(self.app, None)
497
497
 
498
498
  def test_show_no_options(self):
499
499
  arglist = []