openshift-python-wrapper 11.0.115__tar.gz → 11.0.116__tar.gz

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 (469) hide show
  1. openshift_python_wrapper-11.0.116/.git +1 -0
  2. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/PKG-INFO +1 -1
  3. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_instance.py +217 -65
  4. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/pyproject.toml +1 -1
  5. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/uv.lock +1 -1
  6. openshift_python_wrapper-11.0.115/.git +0 -1
  7. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.coderabbit.yaml +0 -0
  8. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.dockerignore +0 -0
  9. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.flake8 +0 -0
  10. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.gitattributes +0 -0
  11. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  12. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  13. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.github/pull_request_template.md +0 -0
  14. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.github/weekly-digest.yml +0 -0
  15. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.github/workflows/close-stale-issues.yml +0 -0
  16. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.gitignore +0 -0
  17. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.gitleaks.toml +0 -0
  18. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.pre-commit-config.yaml +0 -0
  19. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.readthedocs.yaml +0 -0
  20. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.release-it.json +0 -0
  21. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/.sonarcloud.properties +0 -0
  22. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/CONTRIBUTING.md +0 -0
  23. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/LICENSE +0 -0
  24. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/Makefile +0 -0
  25. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/OWNERS +0 -0
  26. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/README.md +0 -0
  27. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/README.md +0 -0
  28. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/__init__.py +0 -0
  29. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/cli.py +0 -0
  30. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/constants.py +0 -0
  31. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/core/__init__.py +0 -0
  32. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/core/coverage.py +0 -0
  33. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/core/discovery.py +0 -0
  34. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/core/generator.py +0 -0
  35. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/core/schema.py +0 -0
  36. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/exceptions.py +0 -0
  37. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/formatters/__init__.py +0 -0
  38. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/formatters/file_writer.py +0 -0
  39. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/formatters/template_renderer.py +0 -0
  40. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/manifests/class_generator_template.j2 +0 -0
  41. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/parsers/__init__.py +0 -0
  42. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/parsers/explain_parser.py +0 -0
  43. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/parsers/type_parser.py +0 -0
  44. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/parsers/user_code_parser.py +0 -0
  45. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/py.typed +0 -0
  46. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/schema/__cluster_version__.txt +0 -0
  47. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/schema/__resources-mappings.json.gz +0 -0
  48. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/schema/_definitions.json +0 -0
  49. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/APIServer/api_server.py +0 -0
  50. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/ClusterOperator/cluster_operator.py +0 -0
  51. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/ConfigMap/config_map.py +0 -0
  52. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/DNS/dns_config_openshift_io.py +0 -0
  53. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/DNS/dns_operator_openshift_io.py +0 -0
  54. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/Deployment/deployment.py +0 -0
  55. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/ImageContentSourcePolicy/image_content_source_policy.py +0 -0
  56. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/Ingress/ingress_config_openshift_io.py +0 -0
  57. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/Ingress/ingress_networking_k8s_io.py +0 -0
  58. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/Machine/machine.py +0 -0
  59. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/NMState/nm_state.py +0 -0
  60. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/OAuth/oauth.py +0 -0
  61. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/Pipeline/pipeline.py +0 -0
  62. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/Pod/pod.py +0 -0
  63. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/RouteAdvertisements/route_advertisements.py +0 -0
  64. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/Secret/secret.py +0 -0
  65. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/ServiceMeshMember/service_mesh_member.py +0 -0
  66. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/ServingRuntime/serving_runtime.py +0 -0
  67. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/manifests/test_parse_explain.j2 +0 -0
  68. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/test_batch_regeneration.py +0 -0
  69. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/test_class_generator.py +0 -0
  70. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/test_cli.py +0 -0
  71. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/test_generation.py +0 -0
  72. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/test_resource_discovery.py +0 -0
  73. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/test_schema_new_functions.py +0 -0
  74. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/test_schema_parsing.py +0 -0
  75. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/test_user_code_parser.py +0 -0
  76. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/tests/test_utils.py +0 -0
  77. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/class_generator/utils.py +0 -0
  78. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/docs/Makefile +0 -0
  79. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/docs/conf.py +0 -0
  80. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/docs/index.rst +0 -0
  81. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/docs/modules.rst +0 -0
  82. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/docs/ocp_resources.rst +0 -0
  83. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/examples/general.py +0 -0
  84. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/examples/node_network_configuration_policy.py +0 -0
  85. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/examples/pods.py +0 -0
  86. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/examples/resource_list.py +0 -0
  87. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/examples/role.py +0 -0
  88. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/examples/special_cases.py +0 -0
  89. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/examples/validation_demo.py +0 -0
  90. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/examples/validation_troubleshooting.py +0 -0
  91. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/examples/virtual_machine.py +0 -0
  92. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/README.md +0 -0
  93. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/__init__.py +0 -0
  94. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/configuration.py +0 -0
  95. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/dynamic_client.py +0 -0
  96. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/exceptions.py +0 -0
  97. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/kubernetes_client.py +0 -0
  98. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/resource_field.py +0 -0
  99. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/resource_instance.py +0 -0
  100. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/resource_manager.py +0 -0
  101. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/resource_registry.py +0 -0
  102. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/resource_storage.py +0 -0
  103. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/status_schema_parser.py +0 -0
  104. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/status_templates.py +0 -0
  105. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/fake_kubernetes_client/types.py +0 -0
  106. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/mcp_server/README.md +0 -0
  107. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/mcp_server/__init__.py +0 -0
  108. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/mcp_server/example_client.py +0 -0
  109. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/mcp_server/server-info.json +0 -0
  110. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/mcp_server/server.py +0 -0
  111. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/mcp_server/tests/__init__.py +0 -0
  112. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/mcp_server/tests/test_server.py +0 -0
  113. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/__init__.py +0 -0
  114. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/aaq.py +0 -0
  115. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/api_server.py +0 -0
  116. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/api_service.py +0 -0
  117. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/application_aware_applied_cluster_resource_quota.py +0 -0
  118. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/application_aware_cluster_resource_quota.py +0 -0
  119. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/application_aware_resource_quota.py +0 -0
  120. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/authentication_config_openshift_io.py +0 -0
  121. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/authentication_operator_openshift_io.py +0 -0
  122. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/authorino.py +0 -0
  123. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/backup.py +0 -0
  124. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/benchmark.py +0 -0
  125. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/bgp_session_state.py +0 -0
  126. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/catalog_source.py +0 -0
  127. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cdi.py +0 -0
  128. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cdi_config.py +0 -0
  129. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/chaos_engine.py +0 -0
  130. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/chaos_result.py +0 -0
  131. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cluster_claim.py +0 -0
  132. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cluster_deployment.py +0 -0
  133. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cluster_operator.py +0 -0
  134. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cluster_pool.py +0 -0
  135. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cluster_resource_quota.py +0 -0
  136. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cluster_role.py +0 -0
  137. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cluster_role_binding.py +0 -0
  138. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cluster_service_version.py +0 -0
  139. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cluster_user_defined_network.py +0 -0
  140. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cluster_version.py +0 -0
  141. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/config_imageregistry_operator_openshift_io.py +0 -0
  142. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/config_map.py +0 -0
  143. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/config_operator_openshift_io.py +0 -0
  144. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/config_samples_operator_openshift_io.py +0 -0
  145. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/console_cli_download.py +0 -0
  146. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/console_config_openshift_io.py +0 -0
  147. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/console_operator_openshift_io.py +0 -0
  148. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/console_plugin.py +0 -0
  149. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/console_quick_start.py +0 -0
  150. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/controller_revision.py +0 -0
  151. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/cron_job.py +0 -0
  152. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/csi_driver.py +0 -0
  153. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/csi_storage_capacity.py +0 -0
  154. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/custom_resource_definition.py +0 -0
  155. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/daemonset.py +0 -0
  156. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/data_import_cron.py +0 -0
  157. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/data_science_cluster.py +0 -0
  158. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/data_science_pipelines_application.py +0 -0
  159. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/data_source.py +0 -0
  160. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/datavolume.py +0 -0
  161. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/deployment.py +0 -0
  162. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/destination_rule.py +0 -0
  163. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/direct_volume_migration.py +0 -0
  164. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/direct_volume_migration_progress.py +0 -0
  165. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/dns_config_openshift_io.py +0 -0
  166. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/dns_operator_openshift_io.py +0 -0
  167. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/dsc_initialization.py +0 -0
  168. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/endpoint_slice.py +0 -0
  169. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/endpoints.py +0 -0
  170. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/event.py +0 -0
  171. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/exceptions.py +0 -0
  172. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/fence_agent_remediation_templates.py +0 -0
  173. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/forklift_controller.py +0 -0
  174. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/frr_configuration.py +0 -0
  175. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/gateway.py +0 -0
  176. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/gateway_class.py +0 -0
  177. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/gateway_config.py +0 -0
  178. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/gateway_gateway_networking_k8s_io.py +0 -0
  179. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/gateway_networking_istio_io.py +0 -0
  180. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/group.py +0 -0
  181. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/guardrails_orchestrator.py +0 -0
  182. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/hook.py +0 -0
  183. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/host.py +0 -0
  184. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/hostpath_provisioner.py +0 -0
  185. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/hyperconverged.py +0 -0
  186. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/image_caching_internal_knative_dev.py +0 -0
  187. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/image_config_openshift_io.py +0 -0
  188. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/image_content_source_policy.py +0 -0
  189. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/image_digest_mirror_set.py +0 -0
  190. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/image_image_openshift_io.py +0 -0
  191. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/image_stream.py +0 -0
  192. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/imagestreamtag.py +0 -0
  193. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/inference_graph.py +0 -0
  194. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/inference_service.py +0 -0
  195. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/infrastructure.py +0 -0
  196. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/ingress_config_openshift_io.py +0 -0
  197. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/ingress_controller.py +0 -0
  198. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/ingress_networking_k8s_io.py +0 -0
  199. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/installplan.py +0 -0
  200. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/ip_address_pool.py +0 -0
  201. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/jaeger.py +0 -0
  202. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/job.py +0 -0
  203. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/kube_descheduler.py +0 -0
  204. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/kubelet_config.py +0 -0
  205. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/kubevirt.py +0 -0
  206. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/l2_advertisement.py +0 -0
  207. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/lease.py +0 -0
  208. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/limit_range.py +0 -0
  209. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/llama_stack_distribution.py +0 -0
  210. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/llm_inference_service.py +0 -0
  211. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/lm_eval_job.py +0 -0
  212. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/maa_s_auth_policy.py +0 -0
  213. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/maa_s_model.py +0 -0
  214. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/maa_s_subscription.py +0 -0
  215. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/machine.py +0 -0
  216. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/machine_config.py +0 -0
  217. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/machine_config_pool.py +0 -0
  218. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/machine_health_check.py +0 -0
  219. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/machine_set.py +0 -0
  220. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/managed_cluster.py +0 -0
  221. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/maria_db.py +0 -0
  222. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/mariadb_operator.py +0 -0
  223. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/metallb.py +0 -0
  224. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/mig_analytic.py +0 -0
  225. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/mig_cluster.py +0 -0
  226. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/mig_controller.py +0 -0
  227. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/mig_migration.py +0 -0
  228. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/mig_plan.py +0 -0
  229. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/migration.py +0 -0
  230. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/migration_policy.py +0 -0
  231. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/model_registry.py +0 -0
  232. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/model_registry_components_platform_opendatahub_io.py +0 -0
  233. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/model_registry_modelregistry_opendatahub_io.py +0 -0
  234. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/mtq.py +0 -0
  235. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/multi_cluster_hub.py +0 -0
  236. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/multi_cluster_observability.py +0 -0
  237. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/multi_namespace_virtual_machine_storage_migration.py +0 -0
  238. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/multi_namespace_virtual_machine_storage_migration_plan.py +0 -0
  239. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/multi_network_policy.py +0 -0
  240. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/mutating_webhook_config.py +0 -0
  241. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/namespace.py +0 -0
  242. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/network_addons_config.py +0 -0
  243. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/network_attachment_definition.py +0 -0
  244. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/network_config_openshift_io.py +0 -0
  245. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/network_map.py +0 -0
  246. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/network_operator_openshift_io.py +0 -0
  247. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/network_policy.py +0 -0
  248. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/nm_state.py +0 -0
  249. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/node.py +0 -0
  250. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/node_config_openshift_io.py +0 -0
  251. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/node_health_check.py +0 -0
  252. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/node_maintenance.py +0 -0
  253. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/node_network_configuration_enactment.py +0 -0
  254. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/node_network_configuration_policy.py +0 -0
  255. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/node_network_configuration_policy_latest.py +0 -0
  256. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/node_network_state.py +0 -0
  257. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/notebook.py +0 -0
  258. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/oauth.py +0 -0
  259. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/ocs_initialization.py +0 -0
  260. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/open_telemetry_collector.py +0 -0
  261. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/operator.py +0 -0
  262. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/operator_condition.py +0 -0
  263. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/operator_group.py +0 -0
  264. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/operator_hub.py +0 -0
  265. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/operator_source.py +0 -0
  266. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/package_manifest.py +0 -0
  267. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/peer_authentication.py +0 -0
  268. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/performance_profile.py +0 -0
  269. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/persistent_volume.py +0 -0
  270. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/persistent_volume_claim.py +0 -0
  271. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/pipeline.py +0 -0
  272. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/pipeline_run.py +0 -0
  273. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/plan.py +0 -0
  274. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/pod.py +0 -0
  275. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/pod_disruption_budget.py +0 -0
  276. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/pod_metrics.py +0 -0
  277. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/priority_class.py +0 -0
  278. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/project_config_openshift_io.py +0 -0
  279. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/project_project_openshift_io.py +0 -0
  280. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/project_request.py +0 -0
  281. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/prometheus.py +0 -0
  282. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/prometheus_rule.py +0 -0
  283. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/provider.py +0 -0
  284. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/proxy.py +0 -0
  285. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/py.typed +0 -0
  286. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/rate_limit_policy.py +0 -0
  287. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/reclaim_space_cron_job.py +0 -0
  288. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/reclaim_space_job.py +0 -0
  289. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/replica_set.py +0 -0
  290. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/resource.py +0 -0
  291. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/resource_quota.py +0 -0
  292. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/restore.py +0 -0
  293. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/rhmi.py +0 -0
  294. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/role.py +0 -0
  295. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/role_binding.py +0 -0
  296. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/route.py +0 -0
  297. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/route_advertisements.py +0 -0
  298. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/scaled_object.py +0 -0
  299. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/scheduler.py +0 -0
  300. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/sealed_secret.py +0 -0
  301. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/secret.py +0 -0
  302. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/securesign.py +0 -0
  303. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/security_context_constraints.py +0 -0
  304. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/self_node_remediation_templates.py +0 -0
  305. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/self_subject_review.py +0 -0
  306. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/service.py +0 -0
  307. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/service_account.py +0 -0
  308. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/service_mesh_control_plane.py +0 -0
  309. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/service_mesh_member.py +0 -0
  310. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/service_mesh_member_roll.py +0 -0
  311. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/service_monitor.py +0 -0
  312. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/service_serving_knative_dev.py +0 -0
  313. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/serving_runtime.py +0 -0
  314. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/snapshot.py +0 -0
  315. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/sriov_network.py +0 -0
  316. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/sriov_network_node_policy.py +0 -0
  317. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/sriov_network_node_state.py +0 -0
  318. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/ssp.py +0 -0
  319. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/storage_class.py +0 -0
  320. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/storage_cluster.py +0 -0
  321. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/storage_map.py +0 -0
  322. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/storage_profile.py +0 -0
  323. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/subscription.py +0 -0
  324. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/task.py +0 -0
  325. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/task_run.py +0 -0
  326. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/tekton_tasks.py +0 -0
  327. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/template.py +0 -0
  328. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/tempo_stack.py +0 -0
  329. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/token_rate_limit_policy.py +0 -0
  330. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/trustyai_service.py +0 -0
  331. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/upload_token_request.py +0 -0
  332. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/user.py +0 -0
  333. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/user_defined_network.py +0 -0
  334. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/utils/__init__.py +0 -0
  335. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/utils/archive_utils.py +0 -0
  336. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/utils/constants.py +0 -0
  337. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/utils/resource_constants.py +0 -0
  338. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/utils/schema_validator.py +0 -0
  339. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/utils/utils.py +0 -0
  340. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/validating_admission_policy.py +0 -0
  341. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/validating_admission_policy_binding.py +0 -0
  342. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/validating_webhook_config.py +0 -0
  343. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine.py +0 -0
  344. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_clone.py +0 -0
  345. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_cluster_instancetype.py +0 -0
  346. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_cluster_preference.py +0 -0
  347. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_export.py +0 -0
  348. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_import.py +0 -0
  349. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_instance_migration.py +0 -0
  350. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_instance_preset.py +0 -0
  351. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_instance_replica_set.py +0 -0
  352. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_instancetype.py +0 -0
  353. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_migration_resource_quota.py +0 -0
  354. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_preference.py +0 -0
  355. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_restore.py +0 -0
  356. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_snapshot.py +0 -0
  357. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_storage_migration.py +0 -0
  358. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_machine_storage_migration_plan.py +0 -0
  359. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/virtual_service.py +0 -0
  360. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/vm_import_config.py +0 -0
  361. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/volume_snapshot.py +0 -0
  362. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/ocp_resources/volume_snapshot_class.py +0 -0
  363. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/pypi-dist/.gitignore +0 -0
  364. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/renovate.json +0 -0
  365. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/scripts/__init__.py +0 -0
  366. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/scripts/diff-from-latest-release.sh +0 -0
  367. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/scripts/diff-from-tag.sh +0 -0
  368. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/scripts/generate_changelog.py +0 -0
  369. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/scripts/get-latest-release.sh +0 -0
  370. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/sonar-project.properties +0 -0
  371. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/__init__.py +0 -0
  372. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/conftest.py +0 -0
  373. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/fixtures/validation_schemas.py +0 -0
  374. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/manifests/vm.yaml +0 -0
  375. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/scripts/__init__.py +0 -0
  376. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/scripts/generate_pytest_test.py +0 -0
  377. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/scripts/validate_resources.py +0 -0
  378. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_api_group_order.py +0 -0
  379. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_camelcase_to_snake.py +0 -0
  380. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resource.py +0 -0
  381. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resource_validation.py +0 -0
  382. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_aaq.py +0 -0
  383. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_api_server.py +0 -0
  384. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_authorino.py +0 -0
  385. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_cdi.py +0 -0
  386. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_cdi_config.py +0 -0
  387. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_cluster_resource_quota.py +0 -0
  388. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_cluster_user_defined_network.py +0 -0
  389. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_config_map.py +0 -0
  390. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_console_config_openshift_io.py +0 -0
  391. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_console_operator_openshift_io.py +0 -0
  392. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_csi_driver.py +0 -0
  393. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_data_import_cron.py +0 -0
  394. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_data_science_cluster.py +0 -0
  395. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_deployment.py +0 -0
  396. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_direct_volume_migration.py +0 -0
  397. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_direct_volume_migration_progress.py +0 -0
  398. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_dns_config_openshift_io.py +0 -0
  399. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_dns_operator_openshift_io.py +0 -0
  400. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_dsc_initialization.py +0 -0
  401. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_group.py +0 -0
  402. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_guardrails_orchestrator.py +0 -0
  403. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_image_caching_internal_knative_dev.py +0 -0
  404. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_image_config_openshift_io.py +0 -0
  405. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_image_content_source_policy.py +0 -0
  406. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_image_image_openshift_io.py +0 -0
  407. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_inference_graph.py +0 -0
  408. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_kube_descheduler.py +0 -0
  409. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_kubelet_config.py +0 -0
  410. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_kubevirt.py +0 -0
  411. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_llama_stack_distribution.py +0 -0
  412. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_lm_eval_job.py +0 -0
  413. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_machine.py +0 -0
  414. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_maria_db.py +0 -0
  415. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_mariadb_operator.py +0 -0
  416. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_mig_analytic.py +0 -0
  417. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_mig_cluster.py +0 -0
  418. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_mig_migration.py +0 -0
  419. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_mig_plan.py +0 -0
  420. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_model_registry.py +0 -0
  421. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_model_registry_components_platform_opendatahub_io.py +0 -0
  422. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_model_registry_modelregistry_opendatahub_io.py +0 -0
  423. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_mtq.py +0 -0
  424. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_namespace.py +0 -0
  425. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_network_config_openshift_io.py +0 -0
  426. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_network_operator_openshift_io.py +0 -0
  427. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_nm_state.py +0 -0
  428. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_node.py +0 -0
  429. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_node_config_openshift_io.py +0 -0
  430. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_node_network_configuration_policy_latest.py +0 -0
  431. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_notebook.py +0 -0
  432. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_oauth.py +0 -0
  433. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_operator.py +0 -0
  434. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_pod.py +0 -0
  435. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_pod_metrics.py +0 -0
  436. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_project_config_openshift_io.py +0 -0
  437. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_project_project_openshift_io.py +0 -0
  438. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_project_request.py +0 -0
  439. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_prometheus.py +0 -0
  440. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_replica_set.py +0 -0
  441. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_scheduler.py +0 -0
  442. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_security_context_constraints.py +0 -0
  443. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_self_subject_review.py +0 -0
  444. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_service.py +0 -0
  445. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_service_mesh_member.py +0 -0
  446. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_service_serving_knative_dev.py +0 -0
  447. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_serving_runtime.py +0 -0
  448. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_snapshot.py +0 -0
  449. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_ssp.py +0 -0
  450. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_storage_cluster.py +0 -0
  451. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_user.py +0 -0
  452. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_user_defined_network.py +0 -0
  453. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_virtual_machine_cluster_instancetype.py +0 -0
  454. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_virtual_machine_cluster_preference.py +0 -0
  455. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_virtual_machine_export.py +0 -0
  456. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_virtual_machine_instance_migration.py +0 -0
  457. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_virtual_machine_instance_preset.py +0 -0
  458. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_virtual_machine_instance_replica_set.py +0 -0
  459. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_virtual_machine_instancetype.py +0 -0
  460. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_virtual_machine_preference.py +0 -0
  461. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_volume_snapshot.py +0 -0
  462. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_resources/test_volume_snapshot_class.py +0 -0
  463. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_schema_loading.py +0 -0
  464. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_unittests.py +0 -0
  465. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_validate_resources.py +0 -0
  466. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_validate_resources_script.py +0 -0
  467. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/test_validation_error.py +0 -0
  468. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tests/utils.py +0 -0
  469. {openshift_python_wrapper-11.0.115 → openshift_python_wrapper-11.0.116}/tox.toml +0 -0
@@ -0,0 +1 @@
1
+ gitdir: /tmp/github-webhook-openshift-python-wrapper-lp5ldn9g/.git/worktrees/github-webhook-openshift-python-wrapper-lp5ldn9g-worktree-6e87b0ed-15da-46f6-9ce1-71e1061e06df
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openshift-python-wrapper
3
- Version: 11.0.115
3
+ Version: 11.0.116
4
4
  Summary: Wrapper around https://github.com/kubernetes-client/python
5
5
  Project-URL: homepage, https://github.com/RedHatQE/openshift-python-wrapper
6
6
  Project-URL: documentation, https://openshift-python-wrapper.readthedocs.io/en/latest/
@@ -6,6 +6,7 @@ from typing import Any
6
6
  from warnings import warn
7
7
 
8
8
  import xmltodict
9
+ from kubernetes.dynamic import DynamicClient
9
10
  from kubernetes.dynamic.exceptions import ResourceNotFoundError
10
11
  from timeout_sampler import TimeoutExpiredError, TimeoutSampler
11
12
 
@@ -13,7 +14,12 @@ from ocp_resources.exceptions import MissingRequiredArgumentError
13
14
  from ocp_resources.node import Node
14
15
  from ocp_resources.pod import Pod
15
16
  from ocp_resources.resource import NamespacedResource
16
- from ocp_resources.utils.constants import PROTOCOL_ERROR_EXCEPTION_DICT, TIMEOUT_4MINUTES, TIMEOUT_5SEC, TIMEOUT_30SEC
17
+ from ocp_resources.utils.constants import (
18
+ PROTOCOL_ERROR_EXCEPTION_DICT,
19
+ TIMEOUT_4MINUTES,
20
+ TIMEOUT_5SEC,
21
+ TIMEOUT_30SEC,
22
+ )
17
23
 
18
24
 
19
25
  class VirtualMachineInstance(NamespacedResource):
@@ -268,12 +274,12 @@ class VirtualMachineInstance(NamespacedResource):
268
274
  def pause(self, timeout=TIMEOUT_4MINUTES, wait=False):
269
275
  self.api_request(method="PUT", action="pause")
270
276
  if wait:
271
- return self.wait_for_pause_status(pause=True, timeout=timeout)
277
+ self.wait_for_pause_status(pause=True, timeout=timeout)
272
278
 
273
279
  def unpause(self, timeout=TIMEOUT_4MINUTES, wait=False):
274
280
  self.api_request(method="PUT", action="unpause")
275
281
  if wait:
276
- return self.wait_for_pause_status(pause=False, timeout=timeout)
282
+ self.wait_for_pause_status(pause=False, timeout=timeout)
277
283
 
278
284
  def reset(self) -> dict[str, Any]:
279
285
  return self.api_request(method="PUT", action="reset")
@@ -282,11 +288,21 @@ class VirtualMachineInstance(NamespacedResource):
282
288
  def interfaces(self):
283
289
  return self.instance.status.interfaces
284
290
 
285
- @property
286
- def virt_launcher_pod(self):
291
+ def get_virt_launcher_pod(self, privileged_client: DynamicClient | None = None) -> Pod:
292
+ """Get the virt-launcher pod for this VMI.
293
+
294
+ Args:
295
+ privileged_client: Client with elevated privileges for pod listing.
296
+
297
+ Returns:
298
+ Pod: The virt-launcher pod.
299
+
300
+ Raises:
301
+ ResourceNotFoundError: If no virt-launcher pod is found.
302
+ """
287
303
  pods = list(
288
304
  Pod.get(
289
- client=self.client,
305
+ client=privileged_client or self.client,
290
306
  namespace=self.namespace,
291
307
  label_selector=f"kubevirt.io=virt-launcher,kubevirt.io/created-by={self.instance.metadata.uid}",
292
308
  )
@@ -301,14 +317,33 @@ class VirtualMachineInstance(NamespacedResource):
301
317
  for pod in pods:
302
318
  if migration_state.targetPod == pod.name:
303
319
  return pod
304
- else:
305
- return pods[0]
320
+
321
+ return pods[0]
306
322
 
307
323
  @property
308
- def virt_handler_pod(self):
324
+ def virt_launcher_pod(self) -> Pod:
325
+ warn(
326
+ "'virt_launcher_pod' property is deprecated, use 'get_virt_launcher_pod' instead.",
327
+ category=DeprecationWarning,
328
+ stacklevel=2,
329
+ )
330
+ return self.get_virt_launcher_pod(privileged_client=self.client)
331
+
332
+ def get_virt_handler_pod(self, privileged_client: DynamicClient | None = None) -> Pod:
333
+ """Get the virt-handler pod running on the same node as this VMI.
334
+
335
+ Args:
336
+ privileged_client: Client with elevated privileges for pod listing.
337
+
338
+ Returns:
339
+ Pod: The virt-handler pod.
340
+
341
+ Raises:
342
+ ResourceNotFoundError: If no matching virt-handler pod is found.
343
+ """
309
344
  pods = list(
310
345
  Pod.get(
311
- client=self.client,
346
+ client=privileged_client or self.client,
312
347
  label_selector="kubevirt.io=virt-handler",
313
348
  )
314
349
  )
@@ -316,9 +351,24 @@ class VirtualMachineInstance(NamespacedResource):
316
351
  if pod.instance["spec"]["nodeName"] == self.instance.status.nodeName:
317
352
  return pod
318
353
 
319
- raise ResourceNotFoundError
354
+ raise ResourceNotFoundError(f"virt-handler pod not found on node {self.instance.status.nodeName}")
355
+
356
+ @property
357
+ def virt_handler_pod(self) -> Pod:
358
+ warn(
359
+ "'virt_handler_pod' property is deprecated, use 'get_virt_handler_pod' instead.",
360
+ category=DeprecationWarning,
361
+ stacklevel=2,
362
+ )
363
+ return self.get_virt_handler_pod(privileged_client=self.client)
320
364
 
321
- def wait_until_running(self, timeout=TIMEOUT_4MINUTES, logs=True, stop_status=None):
365
+ def wait_until_running(
366
+ self,
367
+ timeout: int = TIMEOUT_4MINUTES,
368
+ logs: bool = True,
369
+ stop_status: str | None = None,
370
+ privileged_client: DynamicClient | None = None,
371
+ ) -> None:
322
372
  """
323
373
  Wait until VMI is running
324
374
 
@@ -326,6 +376,7 @@ class VirtualMachineInstance(NamespacedResource):
326
376
  timeout (int): Time to wait for VMI.
327
377
  logs (bool): True to extract logs from the VMI pod and from the VMI.
328
378
  stop_status (str): Status which should stop the wait and failed.
379
+ privileged_client: Client with elevated privileges for error-path pod access.
329
380
 
330
381
  Raises:
331
382
  TimeoutExpiredError: If VMI failed to run.
@@ -336,7 +387,7 @@ class VirtualMachineInstance(NamespacedResource):
336
387
  if not logs:
337
388
  raise
338
389
  try:
339
- virt_pod = self.virt_launcher_pod
390
+ virt_pod = self.get_virt_launcher_pod(privileged_client=privileged_client or self.client)
340
391
  self.logger.error(f"Status of virt-launcher pod {virt_pod.name}: {virt_pod.status}")
341
392
  self.logger.debug(f"{virt_pod.name} *****LOGS*****")
342
393
  self.logger.debug(virt_pod.log(container="compute"))
@@ -400,84 +451,157 @@ class VirtualMachineInstance(NamespacedResource):
400
451
  if not (pause and sample.get("reason")):
401
452
  return
402
453
 
454
+ def get_node(self, privileged_client: DynamicClient | None = None) -> Node:
455
+ """Get the node where this VMI is running.
456
+
457
+ Args:
458
+ privileged_client: Client with elevated privileges for node access.
459
+
460
+ Returns:
461
+ Node: The node running this VMI.
462
+ """
463
+ return Node(
464
+ client=privileged_client or self.client,
465
+ name=self.instance.status.nodeName,
466
+ )
467
+
403
468
  @property
404
- def node(self):
469
+ def node(self) -> Node:
405
470
  """
406
471
  Get the node name where the VM is running
407
472
 
408
473
  Returns:
409
474
  Node: Node
410
475
  """
411
- return Node(
412
- client=self.client,
413
- name=self.instance.status.nodeName,
476
+ warn(
477
+ "'node' property is deprecated, use 'get_node' instead.",
478
+ category=DeprecationWarning,
479
+ stacklevel=2,
414
480
  )
481
+ return self.get_node(privileged_client=self.client)
415
482
 
416
- def virsh_cmd(self, action):
417
- return shlex.split(
418
- f"virsh {self.virt_launcher_pod_hypervisor_connection_uri} {action} {self.namespace}_{self.name}"
419
- )
483
+ @staticmethod
484
+ def get_pod_user_uid(pod: Pod) -> int | None:
485
+ """Get the runAsUser UID from a pod's security context.
420
486
 
421
- def get_xml(self):
422
- """
423
- Get virtual machine instance XML
487
+ Args:
488
+ pod: The pod to inspect.
424
489
 
425
490
  Returns:
426
- xml_output(string): VMI XML in the multi-line string
491
+ int | None: The runAsUser UID value, or None if not set.
427
492
  """
428
- return self.execute_virsh_command(command="dumpxml")
493
+ security_context = pod.instance.spec.get("securityContext", {})
494
+ if security_context:
495
+ return security_context.get("runAsUser")
496
+ return None
429
497
 
430
- @property
431
- def virt_launcher_pod_user_uid(self):
432
- """
433
- Get Virt Launcher Pod User UID value
498
+ @staticmethod
499
+ def is_pod_root(pod: Pod) -> bool:
500
+ """Check if a pod runs as root.
501
+
502
+ Args:
503
+ pod: The pod to inspect.
434
504
 
435
505
  Returns:
436
- Int: Virt Launcher Pod UID value
506
+ bool: True if the pod runs as root (UID 0 or unset).
437
507
  """
438
- return self.virt_launcher_pod.instance.spec.securityContext.runAsUser
508
+ uid = VirtualMachineInstance.get_pod_user_uid(pod=pod)
509
+ # In KubeVirt, virt-launcher pods without explicit runAsUser run as root (UID 0).
510
+ return uid is None or uid == 0
439
511
 
440
- @property
441
- def is_virt_launcher_pod_root(self):
512
+ @staticmethod
513
+ def get_hypervisor_connection_uri(pod: Pod) -> str:
514
+ """Get the hypervisor connection URI for a pod.
515
+
516
+ Note: This method executes a remote command on the pod to detect the libvirt socket type.
517
+
518
+ Args:
519
+ pod: The virt-launcher pod.
520
+
521
+ Returns:
522
+ str: The hypervisor connection URI string.
442
523
  """
443
- Check if Virt Launcher Pod is Root
524
+ if VirtualMachineInstance.is_pod_root(pod=pod):
525
+ return ""
526
+
527
+ virtqemud_socket = "virtqemud"
528
+ socket = (
529
+ virtqemud_socket
530
+ if virtqemud_socket in pod.execute(command=["ls", "/var/run/libvirt/"], container="compute")
531
+ else "libvirt"
532
+ )
533
+ return f"-c qemu+unix:///session?socket=/var/run/libvirt/{socket}-sock"
534
+
535
+ def virsh_cmd(
536
+ self, action: str, privileged_client: DynamicClient | None = None, pod: Pod | None = None
537
+ ) -> list[str]:
538
+ """Build a virsh command list for the given action.
539
+
540
+ Args:
541
+ action: The virsh action to perform (e.g., 'dumpxml', 'domstate').
542
+ privileged_client: Client with elevated privileges.
543
+ pod: Optional virt-launcher pod (avoids re-fetching if already available).
444
544
 
445
545
  Returns:
446
- Bool: True if Virt Launcher Pod is Root.
546
+ list[str]: The command as a list of strings.
447
547
  """
448
- return not bool(self.virt_launcher_pod_user_uid)
548
+ # For backward compatibility
549
+ if pod is None:
550
+ pod = self.get_virt_launcher_pod(privileged_client=privileged_client or self.client)
449
551
 
450
- @property
451
- def virt_launcher_pod_hypervisor_connection_uri(self):
552
+ hypervisor_uri = self.get_hypervisor_connection_uri(pod=pod)
553
+ return shlex.split(f"virsh {hypervisor_uri} {action} {self.namespace}_{self.name}")
554
+
555
+ def get_xml(self, privileged_client: DynamicClient | None = None) -> str:
452
556
  """
453
- Get Virt Launcher Pod Hypervisor Connection URI
557
+ Get virtual machine instance XML
454
558
 
455
- Required to connect to Hypervisor for
456
- Non-Root Virt-Launcher Pod.
559
+ Args:
560
+ privileged_client: Client with elevated privileges.
457
561
 
458
562
  Returns:
459
- String: Hypervisor Connection URI
563
+ xml_output(string): VMI XML in the multi-line string
460
564
  """
461
- if self.is_virt_launcher_pod_root:
462
- hypervisor_connection_uri = ""
463
- else:
464
- virtqemud_socket = "virtqemud"
465
- socket = (
466
- virtqemud_socket
467
- if virtqemud_socket
468
- in self.virt_launcher_pod.execute(command=["ls", "/var/run/libvirt/"], container="compute")
469
- else "libvirt"
470
- )
471
- hypervisor_connection_uri = f"-c qemu+unix:///session?socket=/var/run/libvirt/{socket}-sock"
472
- return hypervisor_connection_uri
565
+ return self.execute_virsh_command(command="dumpxml", privileged_client=privileged_client)
566
+
567
+ @property
568
+ def virt_launcher_pod_user_uid(self) -> int | None:
569
+ warn(
570
+ "'virt_launcher_pod_user_uid' property is deprecated, use 'get_pod_user_uid' instead.",
571
+ category=DeprecationWarning,
572
+ stacklevel=2,
573
+ )
574
+ return self.get_pod_user_uid(pod=self.get_virt_launcher_pod(privileged_client=self.client))
575
+
576
+ @property
577
+ def is_virt_launcher_pod_root(self) -> bool:
578
+ warn(
579
+ "'is_virt_launcher_pod_root' property is deprecated, use 'is_pod_root' instead.",
580
+ category=DeprecationWarning,
581
+ stacklevel=2,
582
+ )
583
+ return self.is_pod_root(pod=self.get_virt_launcher_pod(privileged_client=self.client))
473
584
 
474
- def get_domstate(self):
585
+ @property
586
+ def virt_launcher_pod_hypervisor_connection_uri(self) -> str:
587
+ warn(
588
+ "'virt_launcher_pod_hypervisor_connection_uri' property is deprecated, "
589
+ "use 'get_hypervisor_connection_uri' instead.",
590
+ category=DeprecationWarning,
591
+ stacklevel=2,
592
+ )
593
+ return self.get_hypervisor_connection_uri(pod=self.get_virt_launcher_pod(privileged_client=self.client))
594
+
595
+ def get_domstate(self, privileged_client: DynamicClient | None = None) -> str:
475
596
  """
476
597
  Get virtual machine instance Status.
477
598
 
478
599
  Current workaround, as VM/VMI shows no status/phase == Paused yet.
479
600
  Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1805178
480
601
 
602
+ Args:
603
+ privileged_client: Client with elevated privileges.
604
+
481
605
  Returns:
482
606
  String: VMI Status as string
483
607
  """
@@ -486,17 +610,20 @@ class VirtualMachineInstance(NamespacedResource):
486
610
  category=DeprecationWarning,
487
611
  stacklevel=2,
488
612
  )
489
- return self.execute_virsh_command(command="domstate")
613
+ return self.execute_virsh_command(command="domstate", privileged_client=privileged_client)
490
614
 
491
- def get_dommemstat(self):
615
+ def get_dommemstat(self, privileged_client: DynamicClient | None = None) -> str:
492
616
  """
493
617
  Get virtual machine domain memory stats
494
618
  link: https://libvirt.org/manpages/virsh.html#dommemstat
495
619
 
620
+ Args:
621
+ privileged_client: Client with elevated privileges.
622
+
496
623
  Returns:
497
624
  String: VMI domain memory stats as string
498
625
  """
499
- return self.execute_virsh_command(command="dommemstat")
626
+ return self.execute_virsh_command(command="dommemstat", privileged_client=privileged_client)
500
627
 
501
628
  def get_vmi_active_condition(self):
502
629
  """A VMI may have multiple conditions; the active one it the one with
@@ -508,11 +635,26 @@ class VirtualMachineInstance(NamespacedResource):
508
635
  if condition["lastTransitionTime"]
509
636
  }
510
637
 
638
+ def get_xml_dict(self, privileged_client: DynamicClient | None = None) -> dict[str, Any]:
639
+ """Get virtual machine instance XML as dict.
640
+
641
+ Args:
642
+ privileged_client: Client with elevated privileges.
643
+
644
+ Returns:
645
+ dict: Parsed XML of the VMI.
646
+ """
647
+ return xmltodict.parse(xml_input=self.get_xml(privileged_client=privileged_client), process_namespaces=True)
648
+
511
649
  @property
512
- def xml_dict(self):
650
+ def xml_dict(self) -> dict[str, Any]:
513
651
  """Get virtual machine instance XML as dict"""
514
-
515
- return xmltodict.parse(xml_input=self.get_xml(), process_namespaces=True)
652
+ warn(
653
+ "'xml_dict' property is deprecated, use 'get_xml_dict' instead.",
654
+ category=DeprecationWarning,
655
+ stacklevel=2,
656
+ )
657
+ return self.get_xml_dict(privileged_client=self.client)
516
658
 
517
659
  @property
518
660
  def guest_os_info(self):
@@ -537,8 +679,18 @@ class VirtualMachineInstance(NamespacedResource):
537
679
  iface_ip = [iface["ipAddress"] for iface in self.interfaces if iface["interfaceName"] == interface]
538
680
  return iface_ip[0] if iface_ip else None
539
681
 
540
- def execute_virsh_command(self, command):
541
- return self.virt_launcher_pod.execute(
542
- command=self.virsh_cmd(action=command),
682
+ def execute_virsh_command(self, command: str, privileged_client: DynamicClient | None = None) -> str:
683
+ """Execute a virsh command in the virt-launcher pod.
684
+
685
+ Args:
686
+ command: The virsh command to execute (e.g., 'dumpxml', 'domstate').
687
+ privileged_client: Client with elevated privileges.
688
+
689
+ Returns:
690
+ str: Command output.
691
+ """
692
+ pod = self.get_virt_launcher_pod(privileged_client=privileged_client or self.client)
693
+ return pod.execute(
694
+ command=self.virsh_cmd(action=command, pod=pod),
543
695
  container="compute",
544
696
  )
@@ -72,7 +72,7 @@ include = [
72
72
  [project]
73
73
  requires-python = ">=3.10"
74
74
  name = "openshift-python-wrapper"
75
- version = "11.0.115"
75
+ version = "11.0.116"
76
76
  description = "Wrapper around https://github.com/kubernetes-client/python"
77
77
  readme = "README.md"
78
78
  license = "Apache-2.0"
@@ -1233,7 +1233,7 @@ wheels = [
1233
1233
 
1234
1234
  [[package]]
1235
1235
  name = "openshift-python-wrapper"
1236
- version = "11.0.115"
1236
+ version = "11.0.116"
1237
1237
  source = { editable = "." }
1238
1238
  dependencies = [
1239
1239
  { name = "cloup" },
@@ -1 +0,0 @@
1
- gitdir: /tmp/github-webhook-openshift-python-wrapper-gcj5ehjh/.git/worktrees/github-webhook-openshift-python-wrapper-gcj5ehjh-worktree-1efbe74c-4b77-4d54-9d28-e2e64a75ba62