python-openstackclient 9.0.0__py3-none-any.whl → 10.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 (352) hide show
  1. openstackclient/__init__.py +2 -6
  2. openstackclient/api/api.py +41 -23
  3. openstackclient/api/compute_v2.py +44 -25
  4. openstackclient/api/object_store_v1.py +75 -97
  5. openstackclient/api/volume_v2.py +2 -1
  6. openstackclient/api/volume_v3.py +2 -1
  7. openstackclient/common/availability_zone.py +59 -43
  8. openstackclient/common/clientmanager.py +56 -29
  9. openstackclient/common/configuration.py +10 -3
  10. openstackclient/common/envvars.py +2 -2
  11. openstackclient/common/extension.py +14 -5
  12. openstackclient/common/limits.py +10 -5
  13. openstackclient/common/module.py +36 -34
  14. openstackclient/common/pagination.py +50 -6
  15. openstackclient/common/progressbar.py +7 -6
  16. openstackclient/common/project_cleanup.py +11 -6
  17. openstackclient/common/quota.py +105 -103
  18. openstackclient/common/versions.py +8 -2
  19. openstackclient/compute/client.py +7 -3
  20. openstackclient/compute/v2/agent.py +17 -10
  21. openstackclient/compute/v2/aggregate.py +36 -22
  22. openstackclient/compute/v2/console.py +14 -8
  23. openstackclient/compute/v2/console_connection.py +11 -3
  24. openstackclient/compute/v2/flavor.py +42 -22
  25. openstackclient/compute/v2/host.py +14 -6
  26. openstackclient/compute/v2/hypervisor.py +16 -5
  27. openstackclient/compute/v2/hypervisor_stats.py +10 -2
  28. openstackclient/compute/v2/keypair.py +35 -16
  29. openstackclient/compute/v2/server.py +268 -179
  30. openstackclient/compute/v2/server_backup.py +10 -4
  31. openstackclient/compute/v2/server_event.py +28 -12
  32. openstackclient/compute/v2/server_group.py +23 -11
  33. openstackclient/compute/v2/server_image.py +19 -10
  34. openstackclient/compute/v2/server_migration.py +27 -10
  35. openstackclient/compute/v2/server_share.py +274 -0
  36. openstackclient/compute/v2/server_volume.py +13 -5
  37. openstackclient/compute/v2/service.py +17 -8
  38. openstackclient/compute/v2/usage.py +28 -23
  39. openstackclient/identity/client.py +8 -3
  40. openstackclient/identity/common.py +82 -47
  41. openstackclient/identity/v2_0/catalog.py +14 -7
  42. openstackclient/identity/v2_0/ec2creds.py +21 -10
  43. openstackclient/identity/v2_0/endpoint.py +23 -11
  44. openstackclient/identity/v2_0/project.py +25 -14
  45. openstackclient/identity/v2_0/role.py +28 -14
  46. openstackclient/identity/v2_0/role_assignment.py +9 -3
  47. openstackclient/identity/v2_0/service.py +23 -11
  48. openstackclient/identity/v2_0/token.py +12 -5
  49. openstackclient/identity/v2_0/user.py +26 -15
  50. openstackclient/identity/v3/access_rule.py +32 -12
  51. openstackclient/identity/v3/application_credential.py +66 -24
  52. openstackclient/identity/v3/catalog.py +14 -7
  53. openstackclient/identity/v3/consumer.py +22 -11
  54. openstackclient/identity/v3/credential.py +39 -17
  55. openstackclient/identity/v3/domain.py +40 -19
  56. openstackclient/identity/v3/ec2creds.py +25 -12
  57. openstackclient/identity/v3/endpoint.py +98 -64
  58. openstackclient/identity/v3/endpoint_group.py +28 -17
  59. openstackclient/identity/v3/federation_protocol.py +44 -20
  60. openstackclient/identity/v3/group.py +64 -40
  61. openstackclient/identity/v3/identity_provider.py +95 -57
  62. openstackclient/identity/v3/implied_role.py +21 -9
  63. openstackclient/identity/v3/limit.py +42 -17
  64. openstackclient/identity/v3/mapping.py +58 -28
  65. openstackclient/identity/v3/policy.py +23 -12
  66. openstackclient/identity/v3/project.py +59 -26
  67. openstackclient/identity/v3/region.py +39 -17
  68. openstackclient/identity/v3/registered_limit.py +41 -16
  69. openstackclient/identity/v3/role.py +62 -31
  70. openstackclient/identity/v3/role_assignment.py +25 -7
  71. openstackclient/identity/v3/service.py +39 -17
  72. openstackclient/identity/v3/service_provider.py +40 -16
  73. openstackclient/identity/v3/tag.py +23 -6
  74. openstackclient/identity/v3/token.py +30 -14
  75. openstackclient/identity/v3/trust.py +39 -18
  76. openstackclient/identity/v3/unscoped_saml.py +10 -2
  77. openstackclient/identity/v3/user.py +86 -36
  78. openstackclient/image/client.py +7 -3
  79. openstackclient/image/v1/image.py +33 -26
  80. openstackclient/image/v2/cache.py +16 -11
  81. openstackclient/image/v2/image.py +88 -56
  82. openstackclient/image/v2/info.py +7 -1
  83. openstackclient/image/v2/metadef_namespaces.py +117 -20
  84. openstackclient/image/v2/metadef_objects.py +32 -19
  85. openstackclient/image/v2/metadef_properties.py +30 -16
  86. openstackclient/image/v2/metadef_resource_type_association.py +14 -7
  87. openstackclient/image/v2/metadef_resource_types.py +7 -1
  88. openstackclient/image/v2/task.py +25 -27
  89. openstackclient/locale/tr_TR/LC_MESSAGES/openstackclient.po +7 -192
  90. openstackclient/network/client.py +7 -2
  91. openstackclient/network/common.py +16 -241
  92. openstackclient/network/utils.py +27 -54
  93. openstackclient/network/v2/address_group.py +39 -16
  94. openstackclient/network/v2/address_scope.py +36 -20
  95. openstackclient/network/v2/bgpvpn/bgpvpn.py +477 -0
  96. openstackclient/network/v2/bgpvpn/constants.py +30 -0
  97. openstackclient/network/v2/bgpvpn/network_association.py +226 -0
  98. openstackclient/network/v2/bgpvpn/port_association.py +504 -0
  99. openstackclient/network/v2/bgpvpn/router_association.py +301 -0
  100. openstackclient/network/v2/default_security_group_rule.py +31 -14
  101. openstackclient/network/v2/floating_ip.py +121 -162
  102. openstackclient/network/v2/floating_ip_port_forwarding.py +41 -19
  103. openstackclient/network/v2/fwaas/__init__.py +0 -0
  104. openstackclient/network/v2/fwaas/group.py +499 -0
  105. openstackclient/network/v2/fwaas/policy.py +518 -0
  106. openstackclient/network/v2/fwaas/rule.py +610 -0
  107. openstackclient/network/v2/ip_availability.py +25 -8
  108. openstackclient/network/v2/l3_conntrack_helper.py +35 -13
  109. openstackclient/network/v2/local_ip.py +27 -13
  110. openstackclient/network/v2/local_ip_association.py +17 -7
  111. openstackclient/network/v2/ndp_proxy.py +23 -11
  112. openstackclient/network/v2/network.py +213 -213
  113. openstackclient/network/v2/network_agent.py +77 -34
  114. openstackclient/network/v2/network_auto_allocated_topology.py +27 -15
  115. openstackclient/network/v2/network_flavor.py +45 -21
  116. openstackclient/network/v2/network_flavor_profile.py +42 -17
  117. openstackclient/network/v2/network_meter.py +39 -15
  118. openstackclient/network/v2/network_meter_rule.py +40 -12
  119. openstackclient/network/v2/network_qos_policy.py +39 -21
  120. openstackclient/network/v2/network_qos_rule.py +48 -18
  121. openstackclient/network/v2/network_qos_rule_type.py +28 -9
  122. openstackclient/network/v2/network_rbac.py +34 -16
  123. openstackclient/network/v2/network_segment.py +32 -11
  124. openstackclient/network/v2/network_segment_range.py +70 -31
  125. openstackclient/network/v2/network_service_provider.py +7 -1
  126. openstackclient/network/v2/network_trunk.py +41 -22
  127. openstackclient/network/v2/port.py +141 -40
  128. openstackclient/network/v2/router.py +101 -67
  129. openstackclient/network/v2/security_group.py +97 -198
  130. openstackclient/network/v2/security_group_rule.py +115 -282
  131. openstackclient/network/v2/subnet.py +63 -34
  132. openstackclient/network/v2/subnet_pool.py +42 -24
  133. openstackclient/network/v2/taas/tap_flow.py +35 -14
  134. openstackclient/network/v2/taas/tap_mirror.py +28 -14
  135. openstackclient/network/v2/taas/tap_service.py +26 -12
  136. openstackclient/object/client.py +7 -2
  137. openstackclient/object/v1/account.py +13 -6
  138. openstackclient/object/v1/container.py +28 -16
  139. openstackclient/object/v1/object.py +28 -16
  140. openstackclient/py.typed +0 -0
  141. openstackclient/shell.py +46 -10
  142. openstackclient/tests/functional/base.py +55 -20
  143. openstackclient/tests/functional/common/test_extension.py +4 -0
  144. openstackclient/tests/functional/common/test_quota.py +3 -1
  145. openstackclient/tests/functional/compute/v2/common.py +14 -13
  146. openstackclient/tests/functional/compute/v2/test_flavor.py +3 -1
  147. openstackclient/tests/functional/compute/v2/test_server.py +3 -0
  148. openstackclient/tests/functional/identity/v2/common.py +10 -6
  149. openstackclient/tests/functional/identity/v2/test_role.py +4 -4
  150. openstackclient/tests/functional/identity/v3/common.py +59 -19
  151. openstackclient/tests/functional/identity/v3/test_application_credential.py +1 -1
  152. openstackclient/tests/functional/identity/v3/test_group.py +20 -20
  153. openstackclient/tests/functional/identity/v3/test_idp.py +3 -1
  154. openstackclient/tests/functional/identity/v3/test_mapping.py +81 -0
  155. openstackclient/tests/functional/identity/v3/test_project.py +10 -10
  156. openstackclient/tests/functional/identity/v3/test_role.py +18 -18
  157. openstackclient/tests/functional/identity/v3/test_role_assignment.py +12 -12
  158. openstackclient/tests/functional/identity/v3/test_user.py +8 -8
  159. openstackclient/tests/functional/image/base.py +1 -6
  160. openstackclient/tests/functional/network/v2/common.py +5 -2
  161. openstackclient/tests/functional/network/v2/test_floating_ip.py +10 -4
  162. openstackclient/tests/functional/network/v2/test_ip_availability.py +4 -0
  163. openstackclient/tests/functional/network/v2/test_network_meter_rule.py +3 -2
  164. openstackclient/tests/functional/network/v2/test_network_segment.py +5 -0
  165. openstackclient/tests/functional/network/v2/test_subnet.py +13 -9
  166. openstackclient/tests/functional/object/v1/common.py +4 -0
  167. openstackclient/tests/functional/volume/v2/common.py +4 -0
  168. openstackclient/tests/functional/volume/v2/test_volume_snapshot.py +27 -11
  169. openstackclient/tests/functional/volume/v2/test_volume_type.py +2 -2
  170. openstackclient/tests/functional/volume/v3/common.py +4 -0
  171. openstackclient/tests/functional/volume/v3/test_volume_group.py +163 -0
  172. openstackclient/tests/functional/volume/v3/test_volume_snapshot.py +11 -7
  173. openstackclient/tests/functional/volume/v3/test_volume_type.py +2 -2
  174. openstackclient/tests/unit/common/test_availability_zone.py +35 -49
  175. openstackclient/tests/unit/common/test_extension.py +2 -2
  176. openstackclient/tests/unit/common/test_limits.py +1 -1
  177. openstackclient/tests/unit/common/test_module.py +82 -44
  178. openstackclient/tests/unit/common/test_project_cleanup.py +3 -1
  179. openstackclient/tests/unit/common/test_quota.py +15 -26
  180. openstackclient/tests/unit/compute/v2/fakes.py +26 -57
  181. openstackclient/tests/unit/compute/v2/test_agent.py +4 -4
  182. openstackclient/tests/unit/compute/v2/test_aggregate.py +1 -1
  183. openstackclient/tests/unit/compute/v2/test_console.py +2 -2
  184. openstackclient/tests/unit/compute/v2/test_console_connection.py +1 -1
  185. openstackclient/tests/unit/compute/v2/test_flavor.py +29 -3
  186. openstackclient/tests/unit/compute/v2/test_host.py +3 -3
  187. openstackclient/tests/unit/compute/v2/test_hypervisor.py +2 -2
  188. openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +1 -1
  189. openstackclient/tests/unit/compute/v2/test_keypair.py +7 -7
  190. openstackclient/tests/unit/compute/v2/test_server.py +26 -111
  191. openstackclient/tests/unit/compute/v2/test_server_backup.py +1 -1
  192. openstackclient/tests/unit/compute/v2/test_server_event.py +2 -2
  193. openstackclient/tests/unit/compute/v2/test_server_group.py +1 -1
  194. openstackclient/tests/unit/compute/v2/test_server_image.py +1 -1
  195. openstackclient/tests/unit/compute/v2/test_server_migration.py +4 -4
  196. openstackclient/tests/unit/compute/v2/test_server_share.py +287 -0
  197. openstackclient/tests/unit/compute/v2/test_server_volume.py +2 -2
  198. openstackclient/tests/unit/compute/v2/test_service.py +3 -3
  199. openstackclient/tests/unit/compute/v2/test_usage.py +1 -1
  200. openstackclient/tests/unit/identity/v2_0/fakes.py +3 -7
  201. openstackclient/tests/unit/identity/v2_0/test_endpoint.py +1 -1
  202. openstackclient/tests/unit/identity/v2_0/test_project.py +1 -1
  203. openstackclient/tests/unit/identity/v2_0/test_role.py +1 -1
  204. openstackclient/tests/unit/identity/v2_0/test_role_assignment.py +1 -1
  205. openstackclient/tests/unit/identity/v2_0/test_service.py +1 -1
  206. openstackclient/tests/unit/identity/v2_0/test_token.py +2 -2
  207. openstackclient/tests/unit/identity/v2_0/test_user.py +1 -1
  208. openstackclient/tests/unit/identity/v3/fakes.py +8 -38
  209. openstackclient/tests/unit/identity/v3/test_access_rule.py +3 -3
  210. openstackclient/tests/unit/identity/v3/test_application_credential.py +4 -4
  211. openstackclient/tests/unit/identity/v3/test_credential.py +5 -5
  212. openstackclient/tests/unit/identity/v3/test_domain.py +5 -5
  213. openstackclient/tests/unit/identity/v3/test_endpoint.py +6 -6
  214. openstackclient/tests/unit/identity/v3/test_endpoint_group.py +1 -1
  215. openstackclient/tests/unit/identity/v3/test_group.py +12 -22
  216. openstackclient/tests/unit/identity/v3/test_identity_provider.py +303 -299
  217. openstackclient/tests/unit/identity/v3/test_implied_role.py +1 -1
  218. openstackclient/tests/unit/identity/v3/test_limit.py +5 -5
  219. openstackclient/tests/unit/identity/v3/test_mappings.py +163 -79
  220. openstackclient/tests/unit/identity/v3/test_project.py +28 -5
  221. openstackclient/tests/unit/identity/v3/test_protocol.py +3 -3
  222. openstackclient/tests/unit/identity/v3/test_region.py +5 -5
  223. openstackclient/tests/unit/identity/v3/test_registered_limit.py +5 -5
  224. openstackclient/tests/unit/identity/v3/test_role.py +8 -8
  225. openstackclient/tests/unit/identity/v3/test_role_assignment.py +1 -1
  226. openstackclient/tests/unit/identity/v3/test_service.py +5 -5
  227. openstackclient/tests/unit/identity/v3/test_token.py +2 -2
  228. openstackclient/tests/unit/identity/v3/test_trust.py +4 -4
  229. openstackclient/tests/unit/identity/v3/test_user.py +77 -10
  230. openstackclient/tests/unit/image/v2/test_image.py +11 -11
  231. openstackclient/tests/unit/image/v2/test_metadef_namespaces.py +105 -6
  232. openstackclient/tests/unit/network/test_common.py +0 -155
  233. openstackclient/tests/unit/network/v2/bgpvpn/__init__.py +0 -0
  234. openstackclient/tests/unit/network/v2/bgpvpn/fakes.py +179 -0
  235. openstackclient/tests/unit/network/v2/bgpvpn/test_bgpvpn.py +584 -0
  236. openstackclient/tests/unit/network/v2/bgpvpn/test_network_association.py +285 -0
  237. openstackclient/tests/unit/network/v2/bgpvpn/test_port_association.py +384 -0
  238. openstackclient/tests/unit/network/v2/bgpvpn/test_router_association.py +297 -0
  239. openstackclient/tests/unit/network/v2/fakes.py +5 -77
  240. openstackclient/tests/unit/network/v2/fwaas/__init__.py +0 -0
  241. openstackclient/tests/unit/network/v2/fwaas/test_group.py +923 -0
  242. openstackclient/tests/unit/network/v2/fwaas/test_policy.py +869 -0
  243. openstackclient/tests/unit/network/v2/fwaas/test_rule.py +1005 -0
  244. openstackclient/tests/unit/network/v2/taas/{test_osc_tap_flow.py → test_tap_flow.py} +18 -25
  245. openstackclient/tests/unit/network/v2/taas/{test_osc_tap_mirror.py → test_tap_mirror.py} +19 -29
  246. openstackclient/tests/unit/network/v2/taas/{test_osc_tap_service.py → test_tap_service.py} +19 -29
  247. openstackclient/tests/unit/network/v2/test_address_group.py +26 -2
  248. openstackclient/tests/unit/network/v2/test_address_scope.py +24 -0
  249. openstackclient/tests/unit/network/v2/{test_floating_ip_network.py → test_floating_ip.py} +27 -2
  250. openstackclient/tests/unit/network/v2/test_floating_ip_port_forwarding.py +37 -13
  251. openstackclient/tests/unit/network/v2/test_ip_availability.py +25 -0
  252. openstackclient/tests/unit/network/v2/test_l3_conntrack_helper.py +29 -3
  253. openstackclient/tests/unit/network/v2/test_network.py +74 -12
  254. openstackclient/tests/unit/network/v2/test_network_agent.py +58 -5
  255. openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py +3 -3
  256. openstackclient/tests/unit/network/v2/test_network_flavor.py +26 -2
  257. openstackclient/tests/unit/network/v2/test_network_flavor_profile.py +24 -0
  258. openstackclient/tests/unit/network/v2/test_network_meter.py +24 -0
  259. openstackclient/tests/unit/network/v2/test_network_qos_policy.py +25 -1
  260. openstackclient/tests/unit/network/v2/test_network_qos_rule.py +2 -2
  261. openstackclient/tests/unit/network/v2/test_network_qos_rule_type.py +24 -0
  262. openstackclient/tests/unit/network/v2/test_network_rbac.py +25 -1
  263. openstackclient/tests/unit/network/v2/test_network_segment.py +25 -1
  264. openstackclient/tests/unit/network/v2/test_network_segment_range.py +31 -10
  265. openstackclient/tests/unit/network/v2/test_network_trunk.py +1 -1
  266. openstackclient/tests/unit/network/v2/test_port.py +166 -0
  267. openstackclient/tests/unit/network/v2/test_router.py +36 -16
  268. openstackclient/tests/unit/network/v2/{test_security_group_network.py → test_security_group.py} +11 -8
  269. openstackclient/tests/unit/network/v2/{test_security_group_rule_network.py → test_security_group_rule.py} +28 -37
  270. openstackclient/tests/unit/network/v2/test_subnet.py +30 -5
  271. openstackclient/tests/unit/network/v2/test_subnet_pool.py +26 -1
  272. openstackclient/tests/unit/object/v1/fakes.py +8 -7
  273. openstackclient/tests/unit/object/v1/test_container.py +65 -101
  274. openstackclient/tests/unit/object/v1/test_container_all.py +8 -1
  275. openstackclient/tests/unit/object/v1/test_object.py +44 -84
  276. openstackclient/tests/unit/object/v1/test_object_all.py +8 -1
  277. openstackclient/tests/unit/test_hacking.py +108 -0
  278. openstackclient/tests/unit/volume/v2/fakes.py +21 -140
  279. openstackclient/tests/unit/volume/v2/test_volume_backup.py +6 -14
  280. openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +8 -1
  281. openstackclient/tests/unit/volume/v2/test_volume_type.py +2 -4
  282. openstackclient/tests/unit/volume/v3/fakes.py +205 -100
  283. openstackclient/tests/unit/volume/v3/test_backup_record.py +114 -0
  284. openstackclient/tests/unit/volume/v3/test_consistency_group.py +720 -0
  285. openstackclient/tests/unit/volume/v3/test_consistency_group_snapshot.py +354 -0
  286. openstackclient/tests/unit/volume/v3/test_qos_specs.py +455 -0
  287. openstackclient/tests/unit/volume/v3/test_volume.py +60 -3
  288. openstackclient/tests/unit/volume/v3/test_volume_attachment.py +3 -1
  289. openstackclient/tests/unit/volume/v3/test_volume_backend.py +158 -0
  290. openstackclient/tests/unit/volume/v3/test_volume_backup.py +6 -14
  291. openstackclient/tests/unit/volume/v3/test_volume_group_type.py +65 -0
  292. openstackclient/tests/unit/volume/v3/test_volume_host.py +115 -0
  293. openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +61 -1
  294. openstackclient/tests/unit/volume/v3/test_volume_type.py +2 -4
  295. openstackclient/volume/client.py +7 -3
  296. openstackclient/volume/v2/backup_record.py +15 -6
  297. openstackclient/volume/v2/consistency_group.py +29 -17
  298. openstackclient/volume/v2/consistency_group_snapshot.py +25 -10
  299. openstackclient/volume/v2/qos_specs.py +28 -17
  300. openstackclient/volume/v2/service.py +17 -6
  301. openstackclient/volume/v2/volume.py +60 -30
  302. openstackclient/volume/v2/volume_backend.py +19 -6
  303. openstackclient/volume/v2/volume_backup.py +48 -23
  304. openstackclient/volume/v2/volume_host.py +6 -4
  305. openstackclient/volume/v2/volume_snapshot.py +49 -24
  306. openstackclient/volume/v2/volume_transfer_request.py +31 -13
  307. openstackclient/volume/v2/volume_type.py +43 -24
  308. openstackclient/volume/v3/backup_record.py +94 -0
  309. openstackclient/volume/v3/block_storage_cleanup.py +11 -3
  310. openstackclient/volume/v3/block_storage_cluster.py +19 -7
  311. openstackclient/volume/v3/block_storage_log_level.py +15 -6
  312. openstackclient/volume/v3/block_storage_manage.py +10 -4
  313. openstackclient/volume/v3/block_storage_resource_filter.py +17 -5
  314. openstackclient/volume/v3/consistency_group.py +400 -0
  315. openstackclient/volume/v3/consistency_group_snapshot.py +225 -0
  316. openstackclient/volume/v3/qos_specs.py +389 -0
  317. openstackclient/volume/v3/service.py +16 -6
  318. openstackclient/volume/v3/volume.py +92 -40
  319. openstackclient/volume/v3/volume_attachment.py +47 -21
  320. openstackclient/volume/v3/volume_backend.py +130 -0
  321. openstackclient/volume/v3/volume_backup.py +55 -27
  322. openstackclient/volume/v3/volume_group.py +23 -13
  323. openstackclient/volume/v3/volume_group_snapshot.py +34 -17
  324. openstackclient/volume/v3/volume_group_type.py +27 -14
  325. openstackclient/volume/v3/volume_host.py +74 -0
  326. openstackclient/volume/v3/volume_message.py +18 -8
  327. openstackclient/volume/v3/volume_snapshot.py +70 -32
  328. openstackclient/volume/v3/volume_transfer_request.py +31 -13
  329. openstackclient/volume/v3/volume_type.py +42 -24
  330. {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/METADATA +7 -8
  331. python_openstackclient-10.1.0.dist-info/RECORD +524 -0
  332. {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/WHEEL +1 -1
  333. {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/entry_points.txt +77 -25
  334. {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/licenses/AUTHORS +9 -0
  335. python_openstackclient-10.1.0.dist-info/pbr.json +1 -0
  336. openstackclient/api/image_v1.py +0 -69
  337. openstackclient/api/image_v2.py +0 -79
  338. openstackclient/network/v2/floating_ip_pool.py +0 -38
  339. openstackclient/tests/functional/image/v1/test_image.py +0 -97
  340. openstackclient/tests/unit/api/test_image_v1.py +0 -96
  341. openstackclient/tests/unit/api/test_image_v2.py +0 -96
  342. openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +0 -248
  343. openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +0 -49
  344. openstackclient/tests/unit/network/v2/test_floating_ip_pool_network.py +0 -39
  345. openstackclient/tests/unit/network/v2/test_network_compute.py +0 -404
  346. openstackclient/tests/unit/network/v2/test_security_group_compute.py +0 -392
  347. openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +0 -555
  348. python_openstackclient-9.0.0.dist-info/RECORD +0 -499
  349. python_openstackclient-9.0.0.dist-info/pbr.json +0 -1
  350. /openstackclient/{tests/functional/image/v1 → network/v2/bgpvpn}/__init__.py +0 -0
  351. {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/licenses/LICENSE +0 -0
  352. {python_openstackclient-9.0.0.dist-info → python_openstackclient-10.1.0.dist-info}/top_level.txt +0 -0
@@ -67,6 +67,7 @@ server_add_floating_ip = openstackclient.compute.v2.server:AddFloatingIP
67
67
  server_add_network = openstackclient.compute.v2.server:AddNetwork
68
68
  server_add_port = openstackclient.compute.v2.server:AddPort
69
69
  server_add_security_group = openstackclient.compute.v2.server:AddServerSecurityGroup
70
+ server_add_share = openstackclient.compute.v2.server_share:AddServerShare
70
71
  server_add_volume = openstackclient.compute.v2.server:AddServerVolume
71
72
  server_backup_create = openstackclient.compute.v2.server_backup:CreateServerBackup
72
73
  server_create = openstackclient.compute.v2.server:CreateServer
@@ -99,6 +100,7 @@ server_remove_floating_ip = openstackclient.compute.v2.server:RemoveFloatingIP
99
100
  server_remove_network = openstackclient.compute.v2.server:RemoveNetwork
100
101
  server_remove_port = openstackclient.compute.v2.server:RemovePort
101
102
  server_remove_security_group = openstackclient.compute.v2.server:RemoveServerSecurityGroup
103
+ server_remove_share = openstackclient.compute.v2.server_share:RemoveServerShare
102
104
  server_remove_volume = openstackclient.compute.v2.server:RemoveServerVolume
103
105
  server_rescue = openstackclient.compute.v2.server:RescueServer
104
106
  server_resize = openstackclient.compute.v2.server:ResizeServer
@@ -107,6 +109,8 @@ server_resize_revert = openstackclient.compute.v2.server:ResizeRevert
107
109
  server_restore = openstackclient.compute.v2.server:RestoreServer
108
110
  server_resume = openstackclient.compute.v2.server:ResumeServer
109
111
  server_set = openstackclient.compute.v2.server:SetServer
112
+ server_share_list = openstackclient.compute.v2.server_share:ListServerShare
113
+ server_share_show = openstackclient.compute.v2.server_share:ShowServerShare
110
114
  server_shelve = openstackclient.compute.v2.server:ShelveServer
111
115
  server_show = openstackclient.compute.v2.server:ShowServer
112
116
  server_ssh = openstackclient.compute.v2.server:SshServer
@@ -316,6 +320,7 @@ image_metadef_namespace_delete = openstackclient.image.v2.metadef_namespaces:Del
316
320
  image_metadef_namespace_list = openstackclient.image.v2.metadef_namespaces:ListMetadefNamespace
317
321
  image_metadef_namespace_set = openstackclient.image.v2.metadef_namespaces:SetMetadefNamespace
318
322
  image_metadef_namespace_show = openstackclient.image.v2.metadef_namespaces:ShowMetadefNamespace
323
+ image_metadef_namespace_unset = openstackclient.image.v2.metadef_namespaces:UnsetMetadefNamespace
319
324
  image_metadef_object_create = openstackclient.image.v2.metadef_objects:CreateMetadefObjects
320
325
  image_metadef_object_delete = openstackclient.image.v2.metadef_objects:DeleteMetadefObject
321
326
  image_metadef_object_list = openstackclient.image.v2.metadef_objects:ListMetadefObjects
@@ -360,7 +365,6 @@ default_security_group_rule_show = openstackclient.network.v2.default_security_g
360
365
  floating_ip_create = openstackclient.network.v2.floating_ip:CreateFloatingIP
361
366
  floating_ip_delete = openstackclient.network.v2.floating_ip:DeleteFloatingIP
362
367
  floating_ip_list = openstackclient.network.v2.floating_ip:ListFloatingIP
363
- floating_ip_pool_list = openstackclient.network.v2.floating_ip_pool:ListFloatingIPPool
364
368
  floating_ip_port_forwarding_create = openstackclient.network.v2.floating_ip_port_forwarding:CreateFloatingIPPortForwarding
365
369
  floating_ip_port_forwarding_delete = openstackclient.network.v2.floating_ip_port_forwarding:DeleteFloatingIPPortForwarding
366
370
  floating_ip_port_forwarding_list = openstackclient.network.v2.floating_ip_port_forwarding:ListFloatingIPPortForwarding
@@ -502,6 +506,54 @@ subnet_pool_unset = openstackclient.network.v2.subnet_pool:UnsetSubnetPool
502
506
  subnet_set = openstackclient.network.v2.subnet:SetSubnet
503
507
  subnet_show = openstackclient.network.v2.subnet:ShowSubnet
504
508
  subnet_unset = openstackclient.network.v2.subnet:UnsetSubnet
509
+
510
+ [openstack.network.v2.bgpvpn]
511
+ bgpvpn_create = openstackclient.network.v2.bgpvpn.bgpvpn:CreateBgpvpn
512
+ bgpvpn_delete = openstackclient.network.v2.bgpvpn.bgpvpn:DeleteBgpvpn
513
+ bgpvpn_list = openstackclient.network.v2.bgpvpn.bgpvpn:ListBgpvpn
514
+ bgpvpn_network_association_create = openstackclient.network.v2.bgpvpn.network_association:CreateBgpvpnNetAssoc
515
+ bgpvpn_network_association_delete = openstackclient.network.v2.bgpvpn.network_association:DeleteBgpvpnNetAssoc
516
+ bgpvpn_network_association_list = openstackclient.network.v2.bgpvpn.network_association:ListBgpvpnNetAssoc
517
+ bgpvpn_network_association_show = openstackclient.network.v2.bgpvpn.network_association:ShowBgpvpnNetAssoc
518
+ bgpvpn_port_association_create = openstackclient.network.v2.bgpvpn.port_association:CreateBgpvpnPortAssoc
519
+ bgpvpn_port_association_delete = openstackclient.network.v2.bgpvpn.port_association:DeleteBgpvpnPortAssoc
520
+ bgpvpn_port_association_list = openstackclient.network.v2.bgpvpn.port_association:ListBgpvpnPortAssoc
521
+ bgpvpn_port_association_set = openstackclient.network.v2.bgpvpn.port_association:SetBgpvpnPortAssoc
522
+ bgpvpn_port_association_show = openstackclient.network.v2.bgpvpn.port_association:ShowBgpvpnPortAssoc
523
+ bgpvpn_port_association_unset = openstackclient.network.v2.bgpvpn.port_association:UnsetBgpvpnPortAssoc
524
+ bgpvpn_router_association_create = openstackclient.network.v2.bgpvpn.router_association:CreateBgpvpnRouterAssoc
525
+ bgpvpn_router_association_delete = openstackclient.network.v2.bgpvpn.router_association:DeleteBgpvpnRouterAssoc
526
+ bgpvpn_router_association_list = openstackclient.network.v2.bgpvpn.router_association:ListBgpvpnRouterAssoc
527
+ bgpvpn_router_association_set = openstackclient.network.v2.bgpvpn.router_association:SetBgpvpnRouterAssoc
528
+ bgpvpn_router_association_show = openstackclient.network.v2.bgpvpn.router_association:ShowBgpvpnRouterAssoc
529
+ bgpvpn_router_association_unset = openstackclient.network.v2.bgpvpn.router_association:UnsetBgpvpnRouterAssoc
530
+ bgpvpn_set = openstackclient.network.v2.bgpvpn.bgpvpn:SetBgpvpn
531
+ bgpvpn_show = openstackclient.network.v2.bgpvpn.bgpvpn:ShowBgpvpn
532
+ bgpvpn_unset = openstackclient.network.v2.bgpvpn.bgpvpn:UnsetBgpvpn
533
+
534
+ [openstack.network.v2.fwaas]
535
+ firewall_group_create = openstackclient.network.v2.fwaas.group:CreateFirewallGroup
536
+ firewall_group_delete = openstackclient.network.v2.fwaas.group:DeleteFirewallGroup
537
+ firewall_group_list = openstackclient.network.v2.fwaas.group:ListFirewallGroup
538
+ firewall_group_policy_add_rule = openstackclient.network.v2.fwaas.policy:FirewallPolicyInsertRule
539
+ firewall_group_policy_create = openstackclient.network.v2.fwaas.policy:CreateFirewallPolicy
540
+ firewall_group_policy_delete = openstackclient.network.v2.fwaas.policy:DeleteFirewallPolicy
541
+ firewall_group_policy_list = openstackclient.network.v2.fwaas.policy:ListFirewallPolicy
542
+ firewall_group_policy_remove_rule = openstackclient.network.v2.fwaas.policy:FirewallPolicyRemoveRule
543
+ firewall_group_policy_set = openstackclient.network.v2.fwaas.policy:SetFirewallPolicy
544
+ firewall_group_policy_show = openstackclient.network.v2.fwaas.policy:ShowFirewallPolicy
545
+ firewall_group_policy_unset = openstackclient.network.v2.fwaas.policy:UnsetFirewallPolicy
546
+ firewall_group_rule_create = openstackclient.network.v2.fwaas.rule:CreateFirewallRule
547
+ firewall_group_rule_delete = openstackclient.network.v2.fwaas.rule:DeleteFirewallRule
548
+ firewall_group_rule_list = openstackclient.network.v2.fwaas.rule:ListFirewallRule
549
+ firewall_group_rule_set = openstackclient.network.v2.fwaas.rule:SetFirewallRule
550
+ firewall_group_rule_show = openstackclient.network.v2.fwaas.rule:ShowFirewallRule
551
+ firewall_group_rule_unset = openstackclient.network.v2.fwaas.rule:UnsetFirewallRule
552
+ firewall_group_set = openstackclient.network.v2.fwaas.group:SetFirewallGroup
553
+ firewall_group_show = openstackclient.network.v2.fwaas.group:ShowFirewallGroup
554
+ firewall_group_unset = openstackclient.network.v2.fwaas.group:UnsetFirewallGroup
555
+
556
+ [openstack.network.v2.taas]
505
557
  tap_flow_create = openstackclient.network.v2.taas.tap_flow:CreateTapFlow
506
558
  tap_flow_delete = openstackclient.network.v2.taas.tap_flow:DeleteTapFlow
507
559
  tap_flow_list = openstackclient.network.v2.taas.tap_flow:ListTapFlow
@@ -607,30 +659,30 @@ block_storage_resource_filter_list = openstackclient.volume.v3.block_storage_res
607
659
  block_storage_resource_filter_show = openstackclient.volume.v3.block_storage_resource_filter:ShowBlockStorageResourceFilter
608
660
  block_storage_snapshot_manageable_list = openstackclient.volume.v3.block_storage_manage:BlockStorageManageSnapshots
609
661
  block_storage_volume_manageable_list = openstackclient.volume.v3.block_storage_manage:BlockStorageManageVolumes
610
- consistency_group_add_volume = openstackclient.volume.v2.consistency_group:AddVolumeToConsistencyGroup
611
- consistency_group_create = openstackclient.volume.v2.consistency_group:CreateConsistencyGroup
612
- consistency_group_delete = openstackclient.volume.v2.consistency_group:DeleteConsistencyGroup
613
- consistency_group_list = openstackclient.volume.v2.consistency_group:ListConsistencyGroup
614
- consistency_group_remove_volume = openstackclient.volume.v2.consistency_group:RemoveVolumeFromConsistencyGroup
615
- consistency_group_set = openstackclient.volume.v2.consistency_group:SetConsistencyGroup
616
- consistency_group_show = openstackclient.volume.v2.consistency_group:ShowConsistencyGroup
617
- consistency_group_snapshot_create = openstackclient.volume.v2.consistency_group_snapshot:CreateConsistencyGroupSnapshot
618
- consistency_group_snapshot_delete = openstackclient.volume.v2.consistency_group_snapshot:DeleteConsistencyGroupSnapshot
619
- consistency_group_snapshot_list = openstackclient.volume.v2.consistency_group_snapshot:ListConsistencyGroupSnapshot
620
- consistency_group_snapshot_show = openstackclient.volume.v2.consistency_group_snapshot:ShowConsistencyGroupSnapshot
662
+ consistency_group_add_volume = openstackclient.volume.v3.consistency_group:AddVolumeToConsistencyGroup
663
+ consistency_group_create = openstackclient.volume.v3.consistency_group:CreateConsistencyGroup
664
+ consistency_group_delete = openstackclient.volume.v3.consistency_group:DeleteConsistencyGroup
665
+ consistency_group_list = openstackclient.volume.v3.consistency_group:ListConsistencyGroup
666
+ consistency_group_remove_volume = openstackclient.volume.v3.consistency_group:RemoveVolumeFromConsistencyGroup
667
+ consistency_group_set = openstackclient.volume.v3.consistency_group:SetConsistencyGroup
668
+ consistency_group_show = openstackclient.volume.v3.consistency_group:ShowConsistencyGroup
669
+ consistency_group_snapshot_create = openstackclient.volume.v3.consistency_group_snapshot:CreateConsistencyGroupSnapshot
670
+ consistency_group_snapshot_delete = openstackclient.volume.v3.consistency_group_snapshot:DeleteConsistencyGroupSnapshot
671
+ consistency_group_snapshot_list = openstackclient.volume.v3.consistency_group_snapshot:ListConsistencyGroupSnapshot
672
+ consistency_group_snapshot_show = openstackclient.volume.v3.consistency_group_snapshot:ShowConsistencyGroupSnapshot
621
673
  volume_attachment_complete = openstackclient.volume.v3.volume_attachment:CompleteVolumeAttachment
622
674
  volume_attachment_create = openstackclient.volume.v3.volume_attachment:CreateVolumeAttachment
623
675
  volume_attachment_delete = openstackclient.volume.v3.volume_attachment:DeleteVolumeAttachment
624
676
  volume_attachment_list = openstackclient.volume.v3.volume_attachment:ListVolumeAttachment
625
677
  volume_attachment_set = openstackclient.volume.v3.volume_attachment:SetVolumeAttachment
626
678
  volume_attachment_show = openstackclient.volume.v3.volume_attachment:ShowVolumeAttachment
627
- volume_backend_capability_show = openstackclient.volume.v2.volume_backend:ShowCapability
628
- volume_backend_pool_list = openstackclient.volume.v2.volume_backend:ListPool
679
+ volume_backend_capability_show = openstackclient.volume.v3.volume_backend:ShowCapability
680
+ volume_backend_pool_list = openstackclient.volume.v3.volume_backend:ListPool
629
681
  volume_backup_create = openstackclient.volume.v3.volume_backup:CreateVolumeBackup
630
682
  volume_backup_delete = openstackclient.volume.v3.volume_backup:DeleteVolumeBackup
631
683
  volume_backup_list = openstackclient.volume.v3.volume_backup:ListVolumeBackup
632
- volume_backup_record_export = openstackclient.volume.v2.backup_record:ExportBackupRecord
633
- volume_backup_record_import = openstackclient.volume.v2.backup_record:ImportBackupRecord
684
+ volume_backup_record_export = openstackclient.volume.v3.backup_record:ExportBackupRecord
685
+ volume_backup_record_import = openstackclient.volume.v3.backup_record:ImportBackupRecord
634
686
  volume_backup_restore = openstackclient.volume.v3.volume_backup:RestoreVolumeBackup
635
687
  volume_backup_set = openstackclient.volume.v3.volume_backup:SetVolumeBackup
636
688
  volume_backup_show = openstackclient.volume.v3.volume_backup:ShowVolumeBackup
@@ -652,20 +704,20 @@ volume_group_type_delete = openstackclient.volume.v3.volume_group_type:DeleteVol
652
704
  volume_group_type_list = openstackclient.volume.v3.volume_group_type:ListVolumeGroupType
653
705
  volume_group_type_set = openstackclient.volume.v3.volume_group_type:SetVolumeGroupType
654
706
  volume_group_type_show = openstackclient.volume.v3.volume_group_type:ShowVolumeGroupType
655
- volume_host_set = openstackclient.volume.v2.volume_host:SetVolumeHost
707
+ volume_host_set = openstackclient.volume.v3.volume_host:SetVolumeHost
656
708
  volume_list = openstackclient.volume.v3.volume:ListVolume
657
709
  volume_message_delete = openstackclient.volume.v3.volume_message:DeleteMessage
658
710
  volume_message_list = openstackclient.volume.v3.volume_message:ListMessages
659
711
  volume_message_show = openstackclient.volume.v3.volume_message:ShowMessage
660
712
  volume_migrate = openstackclient.volume.v3.volume:MigrateVolume
661
- volume_qos_associate = openstackclient.volume.v2.qos_specs:AssociateQos
662
- volume_qos_create = openstackclient.volume.v2.qos_specs:CreateQos
663
- volume_qos_delete = openstackclient.volume.v2.qos_specs:DeleteQos
664
- volume_qos_disassociate = openstackclient.volume.v2.qos_specs:DisassociateQos
665
- volume_qos_list = openstackclient.volume.v2.qos_specs:ListQos
666
- volume_qos_set = openstackclient.volume.v2.qos_specs:SetQos
667
- volume_qos_show = openstackclient.volume.v2.qos_specs:ShowQos
668
- volume_qos_unset = openstackclient.volume.v2.qos_specs:UnsetQos
713
+ volume_qos_associate = openstackclient.volume.v3.qos_specs:AssociateQos
714
+ volume_qos_create = openstackclient.volume.v3.qos_specs:CreateQos
715
+ volume_qos_delete = openstackclient.volume.v3.qos_specs:DeleteQos
716
+ volume_qos_disassociate = openstackclient.volume.v3.qos_specs:DisassociateQos
717
+ volume_qos_list = openstackclient.volume.v3.qos_specs:ListQos
718
+ volume_qos_set = openstackclient.volume.v3.qos_specs:SetQos
719
+ volume_qos_show = openstackclient.volume.v3.qos_specs:ShowQos
720
+ volume_qos_unset = openstackclient.volume.v3.qos_specs:UnsetQos
669
721
  volume_revert = openstackclient.volume.v3.volume:VolumeRevertToSnapshot
670
722
  volume_service_list = openstackclient.volume.v3.service:ListService
671
723
  volume_service_set = openstackclient.volume.v3.service:SetService
@@ -23,6 +23,7 @@ Alfredo Moralejo <amoralej@redhat.com>
23
23
  Allain Legacy <Allain.legacy@windriver.com>
24
24
  Alvaro Lopez Garcia <aloga@ifca.unican.es>
25
25
  Amey Bhide <abhide@vmware.com>
26
+ Amit Uniyal <auniyal@redhat.com>
26
27
  Andreas Florath <Andreas.Florath@telekom.de>
27
28
  Andreas Jaeger <aj@suse.com>
28
29
  Andreas Jaeger <aj@suse.de>
@@ -126,9 +127,11 @@ Dougal Matthews <dougal@redhat.com>
126
127
  Douglas Mendizábal <dmendiza@redhat.com>
127
128
  Douglas Viroel <viroel@gmail.com>
128
129
  Dr. Jens Harbott <harbott@osism.tech>
130
+ Dylan McCulloch <dylan.mcculloch@gmail.com>
129
131
  Einst Crazy <yu.changcai@99cloud.net>
130
132
  Elena Ezhova <eezhova@mirantis.com>
131
133
  Elod Illes <elod.illes@est.tech>
134
+ Elvira Garcia <egarciar@redhat.com>
132
135
  Emilien Macchi <emilien@redhat.com>
133
136
  Eric Brown <browne@vmware.com>
134
137
  Eric Fried <openstack@fried.cc>
@@ -194,6 +197,7 @@ Jackie Yuan <yj2311@126.com>
194
197
  Jadon Naas <jadon.naas@canonical.com>
195
198
  Jake Yip <jake.yip@ardc.edu.au>
196
199
  Jake Yip <jake.yip@unimelb.edu.au>
200
+ Jakub Libosvar <libosvar@redhat.com>
197
201
  James Black <jamesjordanblack604@gmail.com>
198
202
  James Denton <james.denton@rackspace.com>
199
203
  James E. Blair <jeblair@hp.com>
@@ -205,6 +209,7 @@ Jan Ueberacker <jan.ueberacker@inovex.de>
205
209
  Jas <singhj@us.ibm.com>
206
210
  Jaspreet Singh Rawel <jaspreetsinghrawel@gmail.com>
207
211
  Javier Pena <jpena@redhat.com>
212
+ Jay Faulkner <jay@jvf.cc>
208
213
  Jean-Philippe Evrard <jean-philippe@evrard.me>
209
214
  Jens Harbott (frickler) <j.harbott@x-ion.de>
210
215
  Jens Harbott <j.harbott@x-ion.de>
@@ -497,10 +502,12 @@ hackertron <jayadityagupta11@gmail.com>
497
502
  heesom <heesom.hs@gmail.com>
498
503
  heha <zhanghanqun@unitedstack.com>
499
504
  henriquetruta <henrique@lsd.ufcg.edu.br>
505
+ hong-p <inyong.hong@samsung.com>
500
506
  hongp <inyong.hong@samsung.com>
501
507
  hoosa <janghoosa@gmail.com>
502
508
  huangshan <huangshan@fiberhome.com>
503
509
  huangtianhua <huangtianhua@huawei.com>
510
+ hyporia23 <taemin23.kim@samsung.com>
504
511
  jay <jayadityagupta11@gmail.com>
505
512
  jeckxie <xiexiaozhe@inspur.com>
506
513
  ji-xuepeng <ji.xuepeng@zte.com.cn>
@@ -512,6 +519,7 @@ jiwonjang <kooriangman@gmail.com>
512
519
  jqjiang.1@gmail.com <jqjiang.1@gmail.com>
513
520
  judy-yu <yujie@cmss.chinamobile.com>
514
521
  kafka <guowang@unitedstack.com>
522
+ lajoskatona <lajos.katona@est.tech>
515
523
  licanwei <li.canwei2@zte.com.cn>
516
524
  lihaijing <lihaijing@fiberhome.com>
517
525
  likui <likui@yovole.com>
@@ -557,6 +565,7 @@ shizhihui <zhihui.shi@easystack.cn>
557
565
  songminglong <songminglong@cmss.chinamobile.com>
558
566
  songwenping <songwenping@inspur.com>
559
567
  sonu.kumar <sonu.kumar@nectechnologies.in>
568
+ soyeonkim <thdusqpf6@gmail.com>
560
569
  sujin01 <a5870771@gmail.com>
561
570
  suneethravi <ravi.sun@northeastern.edu>
562
571
  sunjia <sunjia@inspur.com>
@@ -0,0 +1 @@
1
+ {"git_version": "f4c28ef6", "is_release": true}
@@ -1,69 +0,0 @@
1
- # Licensed under the Apache License, Version 2.0 (the "License"); you may
2
- # not use this file except in compliance with the License. You may obtain
3
- # a copy of the License at
4
- #
5
- # http://www.apache.org/licenses/LICENSE-2.0
6
- #
7
- # Unless required by applicable law or agreed to in writing, software
8
- # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9
- # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10
- # License for the specific language governing permissions and limitations
11
- # under the License.
12
- #
13
-
14
- """Image v1 API Library"""
15
-
16
- from openstackclient.api import api
17
-
18
-
19
- class APIv1(api.BaseAPI):
20
- """Image v1 API"""
21
-
22
- _endpoint_suffix = '/v1'
23
-
24
- def __init__(self, endpoint=None, **kwargs):
25
- super().__init__(endpoint=endpoint, **kwargs)
26
-
27
- self.endpoint = self.endpoint.rstrip('/')
28
- self._munge_url()
29
-
30
- def _munge_url(self):
31
- # Hack this until discovery is up
32
- if not self.endpoint.endswith(self._endpoint_suffix):
33
- self.endpoint = self.endpoint + self._endpoint_suffix
34
-
35
- def image_list(
36
- self, detailed=False, public=False, private=False, **filter
37
- ):
38
- """Get available images
39
-
40
- :param detailed:
41
- Retrieve detailed response from server if True
42
- :param public:
43
- Return public images if True
44
- :param private:
45
- Return private images if True
46
-
47
- If public and private are both True or both False then all images are
48
- returned. Both arguments False is equivalent to no filter and all
49
- images are returned. Both arguments True is a filter that includes
50
- both public and private images which is the same set as all images.
51
-
52
- http://docs.openstack.org/api/openstack-image-service/1.1/content/requesting-a-list-of-public-vm-images.html
53
- http://docs.openstack.org/api/openstack-image-service/1.1/content/requesting-detailed-metadata-on-public-vm-images.html
54
- http://docs.openstack.org/api/openstack-image-service/1.1/content/filtering-images-returned-via-get-images-and-get-imagesdetail.html
55
- """
56
-
57
- url = "/images"
58
- if detailed or public or private:
59
- # Because we can't all use /details
60
- url += "/detail"
61
-
62
- image_list = self.list(url, **filter)['images']
63
-
64
- if public != private:
65
- # One is True and one is False, so public represents the filter
66
- # state in either case
67
- image_list = [i for i in image_list if i['is_public'] == public]
68
-
69
- return image_list
@@ -1,79 +0,0 @@
1
- # Licensed under the Apache License, Version 2.0 (the "License"); you may
2
- # not use this file except in compliance with the License. You may obtain
3
- # a copy of the License at
4
- #
5
- # http://www.apache.org/licenses/LICENSE-2.0
6
- #
7
- # Unless required by applicable law or agreed to in writing, software
8
- # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9
- # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10
- # License for the specific language governing permissions and limitations
11
- # under the License.
12
- #
13
-
14
- """Image v2 API Library"""
15
-
16
- from openstackclient.api import image_v1
17
-
18
-
19
- class APIv2(image_v1.APIv1):
20
- """Image v2 API"""
21
-
22
- _endpoint_suffix = '/v2'
23
-
24
- def _munge_url(self):
25
- # Hack this until discovery is up, and ignore parent endpoint setting
26
- if not self.endpoint.endswith(self._endpoint_suffix):
27
- self.endpoint = self.endpoint + self._endpoint_suffix
28
-
29
- def image_list(
30
- self,
31
- detailed=False,
32
- public=False,
33
- private=False,
34
- community=False,
35
- shared=False,
36
- **filter,
37
- ):
38
- """Get available images
39
-
40
- can add limit/marker
41
-
42
- :param detailed:
43
- For v1 compatibility only, ignored as v2 is always 'detailed'
44
- :param public:
45
- Return public images if True
46
- :param private:
47
- Return private images if True
48
- :param community:
49
- Return commuity images if True
50
- :param shared:
51
- Return shared images if True
52
-
53
- If public, private, community and shared are all True or all False
54
- then all images are returned. All arguments False is equivalent to no
55
- filter and all images are returned. All arguments True is a filter
56
- that includes all public, private, community and shared images which
57
- is the same set as all images.
58
-
59
- http://docs.openstack.org/api/openstack-image-service/2.0/content/list-images.html
60
- """
61
-
62
- if not public and not private and not community and not shared:
63
- # No filtering for all False
64
- filter.pop('visibility', None)
65
- elif public:
66
- filter['visibility'] = 'public'
67
- elif private:
68
- filter['visibility'] = 'private'
69
- elif community:
70
- filter['visibility'] = 'community'
71
- elif shared:
72
- filter['visibility'] = 'shared'
73
-
74
- url = "/images"
75
- if detailed:
76
- # Because we can't all use /details
77
- url += "/detail"
78
-
79
- return self.list(url, **filter)['images']
@@ -1,38 +0,0 @@
1
- # Licensed under the Apache License, Version 2.0 (the "License"); you may
2
- # not use this file except in compliance with the License. You may obtain
3
- # a copy of the License at
4
- #
5
- # http://www.apache.org/licenses/LICENSE-2.0
6
- #
7
- # Unless required by applicable law or agreed to in writing, software
8
- # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9
- # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10
- # License for the specific language governing permissions and limitations
11
- # under the License.
12
-
13
- """Floating IP Pool action implementations"""
14
-
15
- from osc_lib import exceptions
16
-
17
- from openstackclient.api import compute_v2
18
- from openstackclient.i18n import _
19
- from openstackclient.network import common
20
-
21
-
22
- class ListFloatingIPPool(common.NetworkAndComputeLister):
23
- _description = _("List pools of floating IP addresses")
24
-
25
- def take_action_network(self, client, parsed_args):
26
- msg = _(
27
- "Floating ip pool operations are only available for "
28
- "Compute v2 network."
29
- )
30
- raise exceptions.CommandError(msg)
31
-
32
- def take_action_compute(self, client, parsed_args):
33
- columns = ('Name',)
34
- data = [
35
- (x['name'],) for x in compute_v2.list_floating_ip_pools(client)
36
- ]
37
-
38
- return (columns, data)
@@ -1,97 +0,0 @@
1
- # Licensed under the Apache License, Version 2.0 (the "License"); you may
2
- # not use this file except in compliance with the License. You may obtain
3
- # a copy of the License at
4
- #
5
- # http://www.apache.org/licenses/LICENSE-2.0
6
- #
7
- # Unless required by applicable law or agreed to in writing, software
8
- # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9
- # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10
- # License for the specific language governing permissions and limitations
11
- # under the License.
12
-
13
- import uuid
14
-
15
- import fixtures
16
-
17
- from openstackclient.tests.functional.image import base
18
-
19
-
20
- class ImageTests(base.BaseImageTests):
21
- """Functional tests for Image commands"""
22
-
23
- def setUp(self):
24
- super().setUp()
25
-
26
- if not self.haz_v1_api:
27
- self.skipTest('No Image v1 API present')
28
-
29
- ver_fixture = fixtures.EnvironmentVariable('OS_IMAGE_API_VERSION', '1')
30
- self.useFixture(ver_fixture)
31
-
32
- self.name = uuid.uuid4().hex
33
- output = self.openstack(
34
- 'image create ' + self.name,
35
- parse_output=True,
36
- )
37
- self.image_id = output["id"]
38
- self.assertOutput(self.name, output['name'])
39
-
40
- def tearDown(self):
41
- try:
42
- self.openstack('image delete ' + self.image_id)
43
- finally:
44
- super().tearDown()
45
-
46
- def test_image_list(self):
47
- output = self.openstack('image list')
48
- self.assertIn(self.name, [img['Name'] for img in output])
49
-
50
- def test_image_attributes(self):
51
- """Test set, unset, show on attributes, tags and properties"""
52
-
53
- # Test explicit attributes
54
- self.openstack(
55
- 'image set '
56
- + '--min-disk 4 '
57
- + '--min-ram 5 '
58
- + '--disk-format qcow2 '
59
- + '--public '
60
- + self.name
61
- )
62
- output = self.openstack(
63
- 'image show ' + self.name,
64
- parse_output=True,
65
- )
66
- self.assertEqual(
67
- 4,
68
- output["min_disk"],
69
- )
70
- self.assertEqual(
71
- 5,
72
- output["min_ram"],
73
- )
74
- self.assertEqual(
75
- 'qcow2',
76
- output['disk_format'],
77
- )
78
- self.assertTrue(
79
- output["is_public"],
80
- )
81
-
82
- # Test properties
83
- self.openstack(
84
- 'image set '
85
- + '--property a=b '
86
- + '--property c=d '
87
- + '--public '
88
- + self.name
89
- )
90
- output = self.openstack(
91
- 'image show ' + self.name,
92
- parse_output=True,
93
- )
94
- self.assertEqual(
95
- {'a': 'b', 'c': 'd'},
96
- output["properties"],
97
- )
@@ -1,96 +0,0 @@
1
- # Licensed under the Apache License, Version 2.0 (the "License"); you may
2
- # not use this file except in compliance with the License. You may obtain
3
- # a copy of the License at
4
- #
5
- # http://www.apache.org/licenses/LICENSE-2.0
6
- #
7
- # Unless required by applicable law or agreed to in writing, software
8
- # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
9
- # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10
- # License for the specific language governing permissions and limitations
11
- # under the License.
12
- #
13
-
14
- """Image v1 API Library Tests"""
15
-
16
- from keystoneauth1 import session
17
- from requests_mock.contrib import fixture
18
-
19
- from openstackclient.api import image_v1
20
- from openstackclient.tests.unit import utils
21
-
22
-
23
- FAKE_PROJECT = 'xyzpdq'
24
- FAKE_URL = 'http://gopher.dev10.com'
25
-
26
-
27
- class TestImageAPIv1(utils.TestCase):
28
- def setUp(self):
29
- super().setUp()
30
-
31
- sess = session.Session()
32
- self.api = image_v1.APIv1(session=sess, endpoint=FAKE_URL)
33
- self.requests_mock = self.useFixture(fixture.Fixture())
34
-
35
-
36
- class TestImage(TestImageAPIv1):
37
- PUB_PROT = {
38
- 'id': '1',
39
- 'name': 'pub1',
40
- 'is_public': True,
41
- 'protected': True,
42
- }
43
- PUB_NOPROT = {
44
- 'id': '2',
45
- 'name': 'pub2-noprot',
46
- 'is_public': True,
47
- 'protected': False,
48
- }
49
- NOPUB_PROT = {
50
- 'id': '3',
51
- 'name': 'priv3',
52
- 'is_public': False,
53
- 'protected': True,
54
- }
55
- NOPUB_NOPROT = {
56
- 'id': '4',
57
- 'name': 'priv4-noprot',
58
- 'is_public': False,
59
- 'protected': False,
60
- }
61
- LIST_IMAGE_RESP = [
62
- PUB_PROT,
63
- PUB_NOPROT,
64
- NOPUB_PROT,
65
- NOPUB_NOPROT,
66
- ]
67
-
68
- def test_image_list_no_options(self):
69
- self.requests_mock.register_uri(
70
- 'GET',
71
- FAKE_URL + '/v1/images',
72
- json={'images': self.LIST_IMAGE_RESP},
73
- status_code=200,
74
- )
75
- ret = self.api.image_list()
76
- self.assertEqual(self.LIST_IMAGE_RESP, ret)
77
-
78
- def test_image_list_public(self):
79
- self.requests_mock.register_uri(
80
- 'GET',
81
- FAKE_URL + '/v1/images/detail',
82
- json={'images': self.LIST_IMAGE_RESP},
83
- status_code=200,
84
- )
85
- ret = self.api.image_list(public=True)
86
- self.assertEqual([self.PUB_PROT, self.PUB_NOPROT], ret)
87
-
88
- def test_image_list_private(self):
89
- self.requests_mock.register_uri(
90
- 'GET',
91
- FAKE_URL + '/v1/images/detail',
92
- json={'images': self.LIST_IMAGE_RESP},
93
- status_code=200,
94
- )
95
- ret = self.api.image_list(private=True)
96
- self.assertEqual([self.NOPUB_PROT, self.NOPUB_NOPROT], ret)