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
@@ -13,27 +13,34 @@
13
13
 
14
14
  """L3 Conntrack Helper action implementations"""
15
15
 
16
+ import argparse
16
17
  import logging
18
+ from collections.abc import Iterable, Sequence
19
+ from typing import Any
17
20
 
21
+ from openstack.network.v2 import l3_conntrack_helper as _l3_conntrack_helper
18
22
  from osc_lib import exceptions
19
23
  from osc_lib import utils
20
24
 
21
25
  from openstackclient import command
26
+ from openstackclient.common import pagination
22
27
  from openstackclient.i18n import _
23
28
 
24
29
  LOG = logging.getLogger(__name__)
25
30
 
26
31
 
27
- def _get_columns(item):
32
+ def _get_columns(
33
+ item: _l3_conntrack_helper.ConntrackHelper,
34
+ ) -> tuple[tuple[str, ...], tuple[str, ...]]:
28
35
  hidden_columns = ['location', 'tenant_id']
29
36
  return utils.get_osc_show_columns_for_sdk_resource(
30
37
  item, {}, hidden_columns
31
38
  )
32
39
 
33
40
 
34
- def _get_attrs(client, parsed_args):
41
+ def _get_attrs(client: Any, parsed_args: argparse.Namespace) -> dict[str, Any]:
35
42
  router = client.find_router(parsed_args.router, ignore_missing=False)
36
- attrs = {'router_id': router.id}
43
+ attrs: dict[str, Any] = {'router_id': router.id}
37
44
  if parsed_args.helper:
38
45
  attrs['helper'] = parsed_args.helper
39
46
  if parsed_args.protocol:
@@ -47,7 +54,7 @@ def _get_attrs(client, parsed_args):
47
54
  class CreateConntrackHelper(command.ShowOne):
48
55
  _description = _("Create a new L3 conntrack helper")
49
56
 
50
- def get_parser(self, prog_name):
57
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
51
58
  parser = super().get_parser(prog_name)
52
59
  parser.add_argument(
53
60
  'router',
@@ -78,7 +85,9 @@ class CreateConntrackHelper(command.ShowOne):
78
85
 
79
86
  return parser
80
87
 
81
- def take_action(self, parsed_args):
88
+ def take_action(
89
+ self, parsed_args: argparse.Namespace
90
+ ) -> tuple[Sequence[str], Iterable[Any]]:
82
91
  client = self.app.client_manager.network
83
92
 
84
93
  attrs = _get_attrs(client, parsed_args)
@@ -92,7 +101,7 @@ class CreateConntrackHelper(command.ShowOne):
92
101
  class DeleteConntrackHelper(command.Command):
93
102
  _description = _("Delete L3 conntrack helper")
94
103
 
95
- def get_parser(self, prog_name):
104
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
96
105
  parser = super().get_parser(prog_name)
97
106
  parser.add_argument(
98
107
  'router',
@@ -108,7 +117,7 @@ class DeleteConntrackHelper(command.Command):
108
117
 
109
118
  return parser
110
119
 
111
- def take_action(self, parsed_args):
120
+ def take_action(self, parsed_args: argparse.Namespace) -> None:
112
121
  client = self.app.client_manager.network
113
122
  result = 0
114
123
 
@@ -140,7 +149,7 @@ class DeleteConntrackHelper(command.Command):
140
149
  class ListConntrackHelper(command.Lister):
141
150
  _description = _("List L3 conntrack helpers")
142
151
 
143
- def get_parser(self, prog_name):
152
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
144
153
  parser = super().get_parser(prog_name)
145
154
  parser.add_argument(
146
155
  'router',
@@ -171,10 +180,13 @@ class ListConntrackHelper(command.Lister):
171
180
  'the netfilter conntrack target rule (name or ID)'
172
181
  ),
173
182
  )
183
+ pagination.add_marker_pagination_option_to_parser(parser)
174
184
 
175
185
  return parser
176
186
 
177
- def take_action(self, parsed_args):
187
+ def take_action(
188
+ self, parsed_args: argparse.Namespace
189
+ ) -> tuple[tuple[str, ...], Iterable[tuple[Any, ...]]]:
178
190
  client = self.app.client_manager.network
179
191
  columns = (
180
192
  'id',
@@ -190,7 +202,15 @@ class ListConntrackHelper(command.Lister):
190
202
  'Protocol',
191
203
  'Port',
192
204
  )
205
+
193
206
  attrs = _get_attrs(client, parsed_args)
207
+ if parsed_args.marker is not None:
208
+ attrs['marker'] = parsed_args.marker
209
+ if parsed_args.limit is not None:
210
+ attrs['limit'] = parsed_args.limit
211
+ if parsed_args.max_items is not None:
212
+ attrs['max_items'] = parsed_args.max_items
213
+
194
214
  data = client.conntrack_helpers(attrs.pop('router_id'), **attrs)
195
215
 
196
216
  return (
@@ -209,7 +229,7 @@ class ListConntrackHelper(command.Lister):
209
229
  class SetConntrackHelper(command.Command):
210
230
  _description = _("Set L3 conntrack helper properties")
211
231
 
212
- def get_parser(self, prog_name):
232
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
213
233
  parser = super().get_parser(prog_name)
214
234
  parser.add_argument(
215
235
  'router',
@@ -241,7 +261,7 @@ class SetConntrackHelper(command.Command):
241
261
  )
242
262
  return parser
243
263
 
244
- def take_action(self, parsed_args):
264
+ def take_action(self, parsed_args: argparse.Namespace) -> None:
245
265
  client = self.app.client_manager.network
246
266
  attrs = _get_attrs(client, parsed_args)
247
267
  if attrs:
@@ -255,7 +275,7 @@ class SetConntrackHelper(command.Command):
255
275
  class ShowConntrackHelper(command.ShowOne):
256
276
  _description = _("Display L3 conntrack helper details")
257
277
 
258
- def get_parser(self, prog_name):
278
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
259
279
  parser = super().get_parser(prog_name)
260
280
  parser.add_argument(
261
281
  'router',
@@ -270,7 +290,9 @@ class ShowConntrackHelper(command.ShowOne):
270
290
 
271
291
  return parser
272
292
 
273
- def take_action(self, parsed_args):
293
+ def take_action(
294
+ self, parsed_args: argparse.Namespace
295
+ ) -> tuple[Sequence[str], Iterable[Any]]:
274
296
  client = self.app.client_manager.network
275
297
  router = client.find_router(parsed_args.router, ignore_missing=False)
276
298
  obj = client.get_conntrack_helper(
@@ -15,8 +15,12 @@
15
15
 
16
16
  """Node Local IP action implementations"""
17
17
 
18
+ import argparse
18
19
  import logging
20
+ from collections.abc import Iterable, Sequence
21
+ from typing import Any
19
22
 
23
+ from openstack.network.v2 import local_ip as _local_ip
20
24
  from osc_lib import exceptions
21
25
  from osc_lib import utils
22
26
 
@@ -27,15 +31,19 @@ from openstackclient.identity import common as identity_common
27
31
  LOG = logging.getLogger(__name__)
28
32
 
29
33
 
30
- def _get_columns(item):
34
+ def _get_columns(
35
+ item: _local_ip.LocalIP,
36
+ ) -> tuple[tuple[str, ...], tuple[str, ...]]:
31
37
  hidden_columns = ['location', 'tenant_id']
32
38
  return utils.get_osc_show_columns_for_sdk_resource(
33
39
  item, {}, hidden_columns
34
40
  )
35
41
 
36
42
 
37
- def _get_attrs(client_manager, parsed_args):
38
- attrs = {}
43
+ def _get_attrs(
44
+ client_manager: Any, parsed_args: argparse.Namespace
45
+ ) -> dict[str, Any]:
46
+ attrs: dict[str, Any] = {}
39
47
  network_client = client_manager.network
40
48
 
41
49
  if parsed_args.name:
@@ -70,7 +78,7 @@ def _get_attrs(client_manager, parsed_args):
70
78
  class CreateLocalIP(command.ShowOne):
71
79
  _description = _("Create Local IP")
72
80
 
73
- def get_parser(self, prog_name):
81
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
74
82
  parser = super().get_parser(prog_name)
75
83
  parser.add_argument(
76
84
  '--name', metavar="<name>", help=_("New Local IP name")
@@ -105,7 +113,9 @@ class CreateLocalIP(command.ShowOne):
105
113
 
106
114
  return parser
107
115
 
108
- def take_action(self, parsed_args):
116
+ def take_action(
117
+ self, parsed_args: argparse.Namespace
118
+ ) -> tuple[Sequence[str], Iterable[Any]]:
109
119
  client = self.app.client_manager.network
110
120
  attrs = _get_attrs(self.app.client_manager, parsed_args)
111
121
 
@@ -119,7 +129,7 @@ class CreateLocalIP(command.ShowOne):
119
129
  class DeleteLocalIP(command.Command):
120
130
  _description = _("Delete Local IP(s)")
121
131
 
122
- def get_parser(self, prog_name):
132
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
123
133
  parser = super().get_parser(prog_name)
124
134
  parser.add_argument(
125
135
  'local_ip',
@@ -130,7 +140,7 @@ class DeleteLocalIP(command.Command):
130
140
 
131
141
  return parser
132
142
 
133
- def take_action(self, parsed_args):
143
+ def take_action(self, parsed_args: argparse.Namespace) -> None:
134
144
  client = self.app.client_manager.network
135
145
  result = 0
136
146
 
@@ -160,7 +170,7 @@ class DeleteLocalIP(command.Command):
160
170
  class SetLocalIP(command.Command):
161
171
  _description = _("Set Local IP properties")
162
172
 
163
- def get_parser(self, prog_name):
173
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
164
174
  parser = super().get_parser(prog_name)
165
175
  parser.add_argument(
166
176
  'local_ip',
@@ -177,7 +187,7 @@ class SetLocalIP(command.Command):
177
187
  )
178
188
  return parser
179
189
 
180
- def take_action(self, parsed_args):
190
+ def take_action(self, parsed_args: argparse.Namespace) -> None:
181
191
  client = self.app.client_manager.network
182
192
  obj = client.find_local_ip(parsed_args.local_ip, ignore_missing=False)
183
193
  attrs = {}
@@ -192,7 +202,7 @@ class SetLocalIP(command.Command):
192
202
  class ListLocalIP(command.Lister):
193
203
  _description = _("List Local IPs")
194
204
 
195
- def get_parser(self, prog_name):
205
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
196
206
  parser = super().get_parser(prog_name)
197
207
 
198
208
  parser.add_argument(
@@ -236,7 +246,9 @@ class ListLocalIP(command.Lister):
236
246
 
237
247
  return parser
238
248
 
239
- def take_action(self, parsed_args):
249
+ def take_action(
250
+ self, parsed_args: argparse.Namespace
251
+ ) -> tuple[tuple[str, ...], Iterable[tuple[Any, ...]]]:
240
252
  client = self.app.client_manager.network
241
253
  columns = (
242
254
  'id',
@@ -301,7 +313,7 @@ class ListLocalIP(command.Lister):
301
313
  class ShowLocalIP(command.ShowOne):
302
314
  _description = _("Display Local IP details")
303
315
 
304
- def get_parser(self, prog_name):
316
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
305
317
  parser = super().get_parser(prog_name)
306
318
  parser.add_argument(
307
319
  'local_ip',
@@ -311,7 +323,9 @@ class ShowLocalIP(command.ShowOne):
311
323
 
312
324
  return parser
313
325
 
314
- def take_action(self, parsed_args):
326
+ def take_action(
327
+ self, parsed_args: argparse.Namespace
328
+ ) -> tuple[Sequence[str], Iterable[Any]]:
315
329
  client = self.app.client_manager.network
316
330
  obj = client.find_local_ip(parsed_args.local_ip, ignore_missing=False)
317
331
  display_columns, columns = _get_columns(obj)
@@ -15,8 +15,12 @@
15
15
 
16
16
  """Node Local IP action implementations"""
17
17
 
18
+ import argparse
18
19
  import logging
20
+ from collections.abc import Iterable, Sequence
21
+ from typing import Any
19
22
 
23
+ from openstack.network.v2 import local_ip_association as _local_ip_association
20
24
  from osc_lib import exceptions
21
25
  from osc_lib import utils
22
26
 
@@ -27,7 +31,9 @@ from openstackclient.identity import common as identity_common
27
31
  LOG = logging.getLogger(__name__)
28
32
 
29
33
 
30
- def _get_columns(item):
34
+ def _get_columns(
35
+ item: _local_ip_association.LocalIPAssociation,
36
+ ) -> tuple[tuple[str, ...], tuple[str, ...]]:
31
37
  hidden_columns = ['location', 'name', 'id', 'tenant_id']
32
38
  return utils.get_osc_show_columns_for_sdk_resource(
33
39
  item, {}, hidden_columns
@@ -37,7 +43,7 @@ def _get_columns(item):
37
43
  class CreateLocalIPAssociation(command.ShowOne):
38
44
  _description = _("Create Local IP Association")
39
45
 
40
- def get_parser(self, prog_name):
46
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
41
47
  parser = super().get_parser(prog_name)
42
48
  parser.add_argument(
43
49
  'local_ip',
@@ -61,7 +67,9 @@ class CreateLocalIPAssociation(command.ShowOne):
61
67
 
62
68
  return parser
63
69
 
64
- def take_action(self, parsed_args):
70
+ def take_action(
71
+ self, parsed_args: argparse.Namespace
72
+ ) -> tuple[Sequence[str], Iterable[Any]]:
65
73
  client = self.app.client_manager.network
66
74
 
67
75
  attrs = {}
@@ -83,7 +91,7 @@ class CreateLocalIPAssociation(command.ShowOne):
83
91
  class DeleteLocalIPAssociation(command.Command):
84
92
  _description = _("Delete Local IP association(s)")
85
93
 
86
- def get_parser(self, prog_name):
94
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
87
95
  parser = super().get_parser(prog_name)
88
96
  parser.add_argument(
89
97
  'local_ip',
@@ -100,7 +108,7 @@ class DeleteLocalIPAssociation(command.Command):
100
108
  )
101
109
  return parser
102
110
 
103
- def take_action(self, parsed_args):
111
+ def take_action(self, parsed_args: argparse.Namespace) -> None:
104
112
  client = self.app.client_manager.network
105
113
  local_ip = client.find_local_ip(
106
114
  parsed_args.local_ip,
@@ -138,7 +146,7 @@ class DeleteLocalIPAssociation(command.Command):
138
146
  class ListLocalIPAssociation(command.Lister):
139
147
  _description = _("List Local IP Associations")
140
148
 
141
- def get_parser(self, prog_name):
149
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
142
150
  parser = super().get_parser(prog_name)
143
151
 
144
152
  parser.add_argument(
@@ -170,7 +178,9 @@ class ListLocalIPAssociation(command.Lister):
170
178
 
171
179
  return parser
172
180
 
173
- def take_action(self, parsed_args):
181
+ def take_action(
182
+ self, parsed_args: argparse.Namespace
183
+ ) -> tuple[tuple[str, ...], Iterable[tuple[Any, ...]]]:
174
184
  client = self.app.client_manager.network
175
185
  columns = (
176
186
  'local_ip_id',
@@ -15,8 +15,12 @@
15
15
 
16
16
  """Router NDP proxy action implementations"""
17
17
 
18
+ import argparse
18
19
  import logging
20
+ from collections.abc import Iterable, Sequence
21
+ from typing import Any
19
22
 
23
+ from openstack.network.v2 import ndp_proxy as _ndp_proxy
20
24
  from osc_lib import exceptions
21
25
  from osc_lib import utils
22
26
 
@@ -28,7 +32,9 @@ from openstackclient.identity import common as identity_common
28
32
  LOG = logging.getLogger(__name__)
29
33
 
30
34
 
31
- def _get_columns(item):
35
+ def _get_columns(
36
+ item: _ndp_proxy.NDPProxy,
37
+ ) -> tuple[tuple[str, ...], tuple[str, ...]]:
32
38
  hidden_columns = ['location']
33
39
  return utils.get_osc_show_columns_for_sdk_resource(
34
40
  item, {}, hidden_columns
@@ -38,7 +44,7 @@ def _get_columns(item):
38
44
  class CreateNDPProxy(command.ShowOne):
39
45
  _description = _("Create NDP proxy")
40
46
 
41
- def get_parser(self, prog_name):
47
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
42
48
  parser = super().get_parser(prog_name)
43
49
  parser.add_argument(
44
50
  'router', metavar='<router>', help=_("The name or ID of a router")
@@ -75,7 +81,9 @@ class CreateNDPProxy(command.ShowOne):
75
81
 
76
82
  return parser
77
83
 
78
- def take_action(self, parsed_args):
84
+ def take_action(
85
+ self, parsed_args: argparse.Namespace
86
+ ) -> tuple[Sequence[str], Iterable[Any]]:
79
87
  attrs = {'name': parsed_args.name}
80
88
  client = self.app.client_manager.network
81
89
  router = client.find_router(
@@ -102,7 +110,7 @@ class CreateNDPProxy(command.ShowOne):
102
110
  class DeleteNDPProxy(command.Command):
103
111
  _description = _("Delete NDP proxy")
104
112
 
105
- def get_parser(self, prog_name):
113
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
106
114
  parser = super().get_parser(prog_name)
107
115
  parser.add_argument(
108
116
  'ndp_proxy',
@@ -112,7 +120,7 @@ class DeleteNDPProxy(command.Command):
112
120
  )
113
121
  return parser
114
122
 
115
- def take_action(self, parsed_args):
123
+ def take_action(self, parsed_args: argparse.Namespace) -> None:
116
124
  client = self.app.client_manager.network
117
125
  result = 0
118
126
 
@@ -137,7 +145,7 @@ class DeleteNDPProxy(command.Command):
137
145
  class ListNDPProxy(command.Lister):
138
146
  _description = _("List NDP proxies")
139
147
 
140
- def get_parser(self, prog_name):
148
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
141
149
  parser = super().get_parser(prog_name)
142
150
  parser.add_argument(
143
151
  '--router',
@@ -180,7 +188,9 @@ class ListNDPProxy(command.Lister):
180
188
 
181
189
  return parser
182
190
 
183
- def take_action(self, parsed_args):
191
+ def take_action(
192
+ self, parsed_args: argparse.Namespace
193
+ ) -> tuple[tuple[str, ...], Iterable[tuple[Any, ...]]]:
184
194
  client = self.app.client_manager.network
185
195
  identity_client = self.app.client_manager.identity
186
196
 
@@ -239,7 +249,7 @@ class ListNDPProxy(command.Lister):
239
249
  class SetNDPProxy(command.Command):
240
250
  _description = _("Set NDP proxy properties")
241
251
 
242
- def get_parser(self, prog_name):
252
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
243
253
  parser = super().get_parser(prog_name)
244
254
  parser.add_argument(
245
255
  'ndp_proxy',
@@ -259,7 +269,7 @@ class SetNDPProxy(command.Command):
259
269
  )
260
270
  return parser
261
271
 
262
- def take_action(self, parsed_args):
272
+ def take_action(self, parsed_args: argparse.Namespace) -> None:
263
273
  client = self.app.client_manager.network
264
274
  attrs = {}
265
275
  if parsed_args.description is not None:
@@ -276,7 +286,7 @@ class SetNDPProxy(command.Command):
276
286
  class ShowNDPProxy(command.ShowOne):
277
287
  _description = _("Display NDP proxy details")
278
288
 
279
- def get_parser(self, prog_name):
289
+ def get_parser(self, prog_name: str) -> argparse.ArgumentParser:
280
290
  parser = super().get_parser(prog_name)
281
291
  parser.add_argument(
282
292
  'ndp_proxy',
@@ -285,7 +295,9 @@ class ShowNDPProxy(command.ShowOne):
285
295
  )
286
296
  return parser
287
297
 
288
- def take_action(self, parsed_args):
298
+ def take_action(
299
+ self, parsed_args: argparse.Namespace
300
+ ) -> tuple[Sequence[str], Iterable[Any]]:
289
301
  client = self.app.client_manager.network
290
302
  obj = client.find_ndp_proxy(
291
303
  parsed_args.ndp_proxy, ignore_missing=False