openshift-python-wrapper 11.0.138__tar.gz → 11.0.139__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 (543) hide show
  1. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.github/workflows/close-stale-issues.yml +1 -1
  2. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.pre-commit-config.yaml +1 -1
  3. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/PKG-INFO +1 -1
  4. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/schema/__resources-mappings.json.gz +0 -0
  5. openshift_python_wrapper-11.0.139/ocp_resources/hyperconverged.py +147 -0
  6. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/utils/utils.py +1 -1
  7. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_template.py +35 -0
  8. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_template_request.py +24 -0
  9. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/pyproject.toml +1 -1
  10. openshift_python_wrapper-11.0.139/tests/test_virtual_machine_template.py +147 -0
  11. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/uv.lock +457 -333
  12. openshift_python_wrapper-11.0.138/ocp_resources/hyperconverged.py +0 -39
  13. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.coderabbit.yaml +0 -0
  14. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.dockerignore +0 -0
  15. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.flake8 +0 -0
  16. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.gitattributes +0 -0
  17. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  18. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  19. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.github/pull_request_template.md +0 -0
  20. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.github/weekly-digest.yml +0 -0
  21. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.gitignore +0 -0
  22. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.gitleaks.toml +0 -0
  23. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.readthedocs.yaml +0 -0
  24. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.release-it.json +0 -0
  25. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/.sonarcloud.properties +0 -0
  26. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/CLAUDE.md +0 -0
  27. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/CONTRIBUTING.md +0 -0
  28. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/LICENSE +0 -0
  29. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/Makefile +0 -0
  30. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/OWNERS +0 -0
  31. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/README.md +0 -0
  32. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/README.md +0 -0
  33. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/__init__.py +0 -0
  34. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/cli.py +0 -0
  35. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/constants.py +0 -0
  36. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/core/__init__.py +0 -0
  37. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/core/coverage.py +0 -0
  38. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/core/discovery.py +0 -0
  39. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/core/generator.py +0 -0
  40. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/core/schema.py +0 -0
  41. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/exceptions.py +0 -0
  42. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/formatters/__init__.py +0 -0
  43. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/formatters/file_writer.py +0 -0
  44. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/formatters/template_renderer.py +0 -0
  45. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/manifests/class_generator_template.j2 +0 -0
  46. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/parsers/__init__.py +0 -0
  47. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/parsers/explain_parser.py +0 -0
  48. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/parsers/type_parser.py +0 -0
  49. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/parsers/user_code_parser.py +0 -0
  50. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/py.typed +0 -0
  51. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/schema/__cluster_version__.txt +0 -0
  52. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/schema/_definitions.json +0 -0
  53. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/APIServer/api_server.py +0 -0
  54. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/ClusterOperator/cluster_operator.py +0 -0
  55. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/ConfigMap/config_map.py +0 -0
  56. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/DNS/dns_config_openshift_io.py +0 -0
  57. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/DNS/dns_operator_openshift_io.py +0 -0
  58. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/Deployment/deployment.py +0 -0
  59. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/ImageContentSourcePolicy/image_content_source_policy.py +0 -0
  60. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/Ingress/ingress_config_openshift_io.py +0 -0
  61. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/Ingress/ingress_networking_k8s_io.py +0 -0
  62. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/Machine/machine.py +0 -0
  63. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/NMState/nm_state.py +0 -0
  64. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/OAuth/oauth.py +0 -0
  65. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/Pipeline/pipeline.py +0 -0
  66. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/Pod/pod.py +0 -0
  67. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/RouteAdvertisements/route_advertisements.py +0 -0
  68. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/Secret/secret.py +0 -0
  69. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/ServiceMeshMember/service_mesh_member.py +0 -0
  70. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/ServingRuntime/serving_runtime.py +0 -0
  71. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/manifests/test_parse_explain.j2 +0 -0
  72. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/test_batch_regeneration.py +0 -0
  73. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/test_class_generator.py +0 -0
  74. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/test_cli.py +0 -0
  75. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/test_generation.py +0 -0
  76. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/test_resource_discovery.py +0 -0
  77. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/test_schema_new_functions.py +0 -0
  78. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/test_schema_parsing.py +0 -0
  79. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/test_user_code_parser.py +0 -0
  80. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/tests/test_utils.py +0 -0
  81. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/class_generator/utils.py +0 -0
  82. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/.nojekyll +0 -0
  83. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/Makefile +0 -0
  84. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/assets/callouts.js +0 -0
  85. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/assets/codelabels.js +0 -0
  86. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/assets/copy.js +0 -0
  87. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/assets/github.js +0 -0
  88. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/assets/scrollspy.js +0 -0
  89. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/assets/search.js +0 -0
  90. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/assets/style.css +0 -0
  91. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/assets/theme.js +0 -0
  92. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/class-generator-cli.html +0 -0
  93. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/class-generator-cli.md +0 -0
  94. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/common-patterns.html +0 -0
  95. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/common-patterns.md +0 -0
  96. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/conf.py +0 -0
  97. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/connecting-to-clusters.html +0 -0
  98. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/connecting-to-clusters.md +0 -0
  99. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/creating-and-managing-resources.html +0 -0
  100. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/creating-and-managing-resources.md +0 -0
  101. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/editing-resources-temporarily.html +0 -0
  102. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/editing-resources-temporarily.md +0 -0
  103. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/environment-variables.html +0 -0
  104. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/environment-variables.md +0 -0
  105. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/error-handling.html +0 -0
  106. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/error-handling.md +0 -0
  107. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/generating-resource-classes.html +0 -0
  108. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/generating-resource-classes.md +0 -0
  109. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/index.html +0 -0
  110. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/index.rst +0 -0
  111. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/llms-full.txt +0 -0
  112. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/llms.txt +0 -0
  113. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/managing-resource-lists.html +0 -0
  114. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/managing-resource-lists.md +0 -0
  115. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/mcp-server-integration.html +0 -0
  116. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/mcp-server-integration.md +0 -0
  117. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/modules.rst +0 -0
  118. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/ocp_resources.rst +0 -0
  119. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/pod-execution-and-logs.html +0 -0
  120. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/pod-execution-and-logs.md +0 -0
  121. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/querying-resources.html +0 -0
  122. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/querying-resources.md +0 -0
  123. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/quickstart.html +0 -0
  124. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/quickstart.md +0 -0
  125. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/resource-api.html +0 -0
  126. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/resource-api.md +0 -0
  127. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/resource-class-hierarchy.html +0 -0
  128. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/resource-class-hierarchy.md +0 -0
  129. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/schema-validation-internals.html +0 -0
  130. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/schema-validation-internals.md +0 -0
  131. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/search-index.json +0 -0
  132. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/testing-without-cluster.html +0 -0
  133. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/testing-without-cluster.md +0 -0
  134. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/validating-resources.html +0 -0
  135. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/validating-resources.md +0 -0
  136. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/waiting-for-conditions.html +0 -0
  137. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/waiting-for-conditions.md +0 -0
  138. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/working-with-events.html +0 -0
  139. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/working-with-events.md +0 -0
  140. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/working-with-virtual-machines.html +0 -0
  141. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/docs/working-with-virtual-machines.md +0 -0
  142. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/examples/general.py +0 -0
  143. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/examples/node_network_configuration_policy.py +0 -0
  144. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/examples/pods.py +0 -0
  145. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/examples/resource_list.py +0 -0
  146. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/examples/role.py +0 -0
  147. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/examples/special_cases.py +0 -0
  148. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/examples/validation_demo.py +0 -0
  149. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/examples/validation_troubleshooting.py +0 -0
  150. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/examples/virtual_machine.py +0 -0
  151. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/README.md +0 -0
  152. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/__init__.py +0 -0
  153. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/configuration.py +0 -0
  154. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/dynamic_client.py +0 -0
  155. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/exceptions.py +0 -0
  156. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/kubernetes_client.py +0 -0
  157. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/resource_field.py +0 -0
  158. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/resource_instance.py +0 -0
  159. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/resource_manager.py +0 -0
  160. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/resource_registry.py +0 -0
  161. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/resource_storage.py +0 -0
  162. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/status_schema_parser.py +0 -0
  163. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/status_templates.py +0 -0
  164. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/fake_kubernetes_client/types.py +0 -0
  165. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/mcp_server/README.md +0 -0
  166. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/mcp_server/__init__.py +0 -0
  167. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/mcp_server/example_client.py +0 -0
  168. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/mcp_server/server-info.json +0 -0
  169. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/mcp_server/server.py +0 -0
  170. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/mcp_server/tests/__init__.py +0 -0
  171. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/mcp_server/tests/test_server.py +0 -0
  172. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/__init__.py +0 -0
  173. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/_hook_generated.py +0 -0
  174. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/aaq.py +0 -0
  175. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/api_server.py +0 -0
  176. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/api_service.py +0 -0
  177. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/application_aware_applied_cluster_resource_quota.py +0 -0
  178. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/application_aware_cluster_resource_quota.py +0 -0
  179. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/application_aware_resource_quota.py +0 -0
  180. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/authentication_config_openshift_io.py +0 -0
  181. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/authentication_operator_openshift_io.py +0 -0
  182. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/authorino.py +0 -0
  183. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/backup.py +0 -0
  184. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/benchmark.py +0 -0
  185. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/bgp_session_state.py +0 -0
  186. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/catalog_source.py +0 -0
  187. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cdi.py +0 -0
  188. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cdi_config.py +0 -0
  189. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/chaos_engine.py +0 -0
  190. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/chaos_result.py +0 -0
  191. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cluster_claim.py +0 -0
  192. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cluster_deployment.py +0 -0
  193. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cluster_operator.py +0 -0
  194. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cluster_pool.py +0 -0
  195. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cluster_resource_quota.py +0 -0
  196. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cluster_role.py +0 -0
  197. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cluster_role_binding.py +0 -0
  198. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cluster_service_version.py +0 -0
  199. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cluster_user_defined_network.py +0 -0
  200. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cluster_version.py +0 -0
  201. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/config_imageregistry_operator_openshift_io.py +0 -0
  202. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/config_map.py +0 -0
  203. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/config_operator_openshift_io.py +0 -0
  204. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/config_samples_operator_openshift_io.py +0 -0
  205. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/console_cli_download.py +0 -0
  206. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/console_config_openshift_io.py +0 -0
  207. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/console_operator_openshift_io.py +0 -0
  208. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/console_plugin.py +0 -0
  209. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/console_quick_start.py +0 -0
  210. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/controller_revision.py +0 -0
  211. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/conversion.py +0 -0
  212. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/cron_job.py +0 -0
  213. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/csi_driver.py +0 -0
  214. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/csi_storage_capacity.py +0 -0
  215. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/custom_resource_definition.py +0 -0
  216. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/daemon_set.py +0 -0
  217. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/daemonset.py +0 -0
  218. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/data_import_cron.py +0 -0
  219. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/data_protection_application.py +0 -0
  220. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/data_science_cluster.py +0 -0
  221. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/data_science_pipelines_application.py +0 -0
  222. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/data_source.py +0 -0
  223. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/datavolume.py +0 -0
  224. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/deployment.py +0 -0
  225. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/destination_rule.py +0 -0
  226. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/direct_volume_migration.py +0 -0
  227. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/direct_volume_migration_progress.py +0 -0
  228. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/dns_config_openshift_io.py +0 -0
  229. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/dns_operator_openshift_io.py +0 -0
  230. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/dsc_initialization.py +0 -0
  231. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/endpoint_slice.py +0 -0
  232. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/endpoints.py +0 -0
  233. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/evalhub.py +0 -0
  234. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/event.py +0 -0
  235. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/exceptions.py +0 -0
  236. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/fence_agent_remediation_templates.py +0 -0
  237. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/forklift_controller.py +0 -0
  238. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/frr_configuration.py +0 -0
  239. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/gateway.py +0 -0
  240. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/gateway_class.py +0 -0
  241. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/gateway_config.py +0 -0
  242. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/gateway_gateway_networking_k8s_io.py +0 -0
  243. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/gateway_networking_istio_io.py +0 -0
  244. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/group.py +0 -0
  245. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/guardrails_orchestrator.py +0 -0
  246. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/hook.py +0 -0
  247. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/host.py +0 -0
  248. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/hostpath_provisioner.py +0 -0
  249. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/image_caching_internal_knative_dev.py +0 -0
  250. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/image_config_openshift_io.py +0 -0
  251. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/image_content_source_policy.py +0 -0
  252. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/image_digest_mirror_set.py +0 -0
  253. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/image_image_openshift_io.py +0 -0
  254. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/image_stream.py +0 -0
  255. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/imagestreamtag.py +0 -0
  256. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/inference_graph.py +0 -0
  257. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/inference_service.py +0 -0
  258. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/infrastructure.py +0 -0
  259. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/ingress_config_openshift_io.py +0 -0
  260. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/ingress_controller.py +0 -0
  261. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/ingress_networking_k8s_io.py +0 -0
  262. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/installplan.py +0 -0
  263. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/ip_address_pool.py +0 -0
  264. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/jaeger.py +0 -0
  265. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/job.py +0 -0
  266. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/kube_descheduler.py +0 -0
  267. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/kubelet_config.py +0 -0
  268. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/kubevirt.py +0 -0
  269. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/l2_advertisement.py +0 -0
  270. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/lease.py +0 -0
  271. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/limit_range.py +0 -0
  272. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/llama_stack_distribution.py +0 -0
  273. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/llm_inference_service.py +0 -0
  274. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/lm_eval_job.py +0 -0
  275. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/maa_s_auth_policy.py +0 -0
  276. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/maa_s_model.py +0 -0
  277. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/maa_s_subscription.py +0 -0
  278. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/maas_auth_policy.py +0 -0
  279. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/maas_model_ref.py +0 -0
  280. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/maas_subscription.py +0 -0
  281. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/machine.py +0 -0
  282. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/machine_config.py +0 -0
  283. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/machine_config_pool.py +0 -0
  284. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/machine_health_check.py +0 -0
  285. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/machine_set.py +0 -0
  286. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/managed_cluster.py +0 -0
  287. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/maria_db.py +0 -0
  288. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/mariadb_operator.py +0 -0
  289. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/metallb.py +0 -0
  290. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/mig_analytic.py +0 -0
  291. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/mig_cluster.py +0 -0
  292. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/mig_controller.py +0 -0
  293. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/mig_migration.py +0 -0
  294. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/mig_plan.py +0 -0
  295. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/migration.py +0 -0
  296. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/migration_policy.py +0 -0
  297. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/mlflow.py +0 -0
  298. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/mlflow_config.py +0 -0
  299. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/model_registry.py +0 -0
  300. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/model_registry_components_platform_opendatahub_io.py +0 -0
  301. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/model_registry_modelregistry_opendatahub_io.py +0 -0
  302. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/mtq.py +0 -0
  303. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/multi_cluster_hub.py +0 -0
  304. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/multi_cluster_observability.py +0 -0
  305. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/multi_namespace_virtual_machine_storage_migration.py +0 -0
  306. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/multi_namespace_virtual_machine_storage_migration_plan.py +0 -0
  307. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/multi_network_policy.py +0 -0
  308. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/mutating_webhook_config.py +0 -0
  309. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/namespace.py +0 -0
  310. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/nemo_guardrails.py +0 -0
  311. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/network_addons_config.py +0 -0
  312. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/network_attachment_definition.py +0 -0
  313. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/network_config_openshift_io.py +0 -0
  314. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/network_map.py +0 -0
  315. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/network_operator_openshift_io.py +0 -0
  316. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/network_policy.py +0 -0
  317. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/nm_state.py +0 -0
  318. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/node.py +0 -0
  319. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/node_config_openshift_io.py +0 -0
  320. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/node_health_check.py +0 -0
  321. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/node_maintenance.py +0 -0
  322. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/node_network_configuration_enactment.py +0 -0
  323. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/node_network_configuration_policy.py +0 -0
  324. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/node_network_configuration_policy_latest.py +0 -0
  325. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/node_network_state.py +0 -0
  326. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/notebook.py +0 -0
  327. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/oauth.py +0 -0
  328. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/ocs_initialization.py +0 -0
  329. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/open_telemetry_collector.py +0 -0
  330. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/operator.py +0 -0
  331. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/operator_condition.py +0 -0
  332. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/operator_group.py +0 -0
  333. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/operator_hub.py +0 -0
  334. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/operator_source.py +0 -0
  335. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/package_manifest.py +0 -0
  336. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/peer_authentication.py +0 -0
  337. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/performance_profile.py +0 -0
  338. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/persistent_volume.py +0 -0
  339. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/persistent_volume_claim.py +0 -0
  340. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/pipeline.py +0 -0
  341. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/pipeline_run.py +0 -0
  342. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/plan.py +0 -0
  343. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/pod.py +0 -0
  344. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/pod_disruption_budget.py +0 -0
  345. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/pod_metrics.py +0 -0
  346. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/priority_class.py +0 -0
  347. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/project_config_openshift_io.py +0 -0
  348. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/project_project_openshift_io.py +0 -0
  349. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/project_request.py +0 -0
  350. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/prometheus.py +0 -0
  351. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/prometheus_rule.py +0 -0
  352. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/provider.py +0 -0
  353. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/proxy.py +0 -0
  354. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/py.typed +0 -0
  355. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/rate_limit_policy.py +0 -0
  356. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/reclaim_space_cron_job.py +0 -0
  357. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/reclaim_space_job.py +0 -0
  358. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/replica_set.py +0 -0
  359. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/resource.py +0 -0
  360. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/resource_quota.py +0 -0
  361. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/restore.py +0 -0
  362. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/rhmi.py +0 -0
  363. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/role.py +0 -0
  364. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/role_binding.py +0 -0
  365. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/route.py +0 -0
  366. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/route_advertisements.py +0 -0
  367. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/scaled_object.py +0 -0
  368. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/scheduler.py +0 -0
  369. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/sealed_secret.py +0 -0
  370. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/secret.py +0 -0
  371. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/securesign.py +0 -0
  372. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/security_context_constraints.py +0 -0
  373. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/self_node_remediation_templates.py +0 -0
  374. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/self_subject_review.py +0 -0
  375. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/service.py +0 -0
  376. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/service_account.py +0 -0
  377. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/service_mesh_control_plane.py +0 -0
  378. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/service_mesh_member.py +0 -0
  379. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/service_mesh_member_roll.py +0 -0
  380. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/service_monitor.py +0 -0
  381. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/service_serving_knative_dev.py +0 -0
  382. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/serving_runtime.py +0 -0
  383. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/snapshot.py +0 -0
  384. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/sriov_network.py +0 -0
  385. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/sriov_network_node_policy.py +0 -0
  386. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/sriov_network_node_state.py +0 -0
  387. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/ssp.py +0 -0
  388. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/storage_class.py +0 -0
  389. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/storage_cluster.py +0 -0
  390. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/storage_map.py +0 -0
  391. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/storage_profile.py +0 -0
  392. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/subscription.py +0 -0
  393. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/task.py +0 -0
  394. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/task_run.py +0 -0
  395. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/tekton_tasks.py +0 -0
  396. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/template.py +0 -0
  397. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/tempo_stack.py +0 -0
  398. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/token_rate_limit_policy.py +0 -0
  399. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/trustyai_service.py +0 -0
  400. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/upload_token_request.py +0 -0
  401. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/user.py +0 -0
  402. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/user_defined_network.py +0 -0
  403. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/utils/__init__.py +0 -0
  404. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/utils/archive_utils.py +0 -0
  405. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/utils/client_config.py +0 -0
  406. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/utils/constants.py +0 -0
  407. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/utils/resource_constants.py +0 -0
  408. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/utils/schema_validator.py +0 -0
  409. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/validating_admission_policy.py +0 -0
  410. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/validating_admission_policy_binding.py +0 -0
  411. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/validating_webhook_config.py +0 -0
  412. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine.py +0 -0
  413. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_backup.py +0 -0
  414. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_backup_tracker.py +0 -0
  415. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_clone.py +0 -0
  416. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_cluster_instancetype.py +0 -0
  417. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_cluster_preference.py +0 -0
  418. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_export.py +0 -0
  419. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_import.py +0 -0
  420. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_instance.py +0 -0
  421. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_instance_migration.py +0 -0
  422. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_instance_preset.py +0 -0
  423. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_instance_replica_set.py +0 -0
  424. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_instancetype.py +0 -0
  425. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_migration_resource_quota.py +0 -0
  426. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_preference.py +0 -0
  427. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_restore.py +0 -0
  428. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_snapshot.py +0 -0
  429. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_storage_migration.py +0 -0
  430. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_machine_storage_migration_plan.py +0 -0
  431. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/virtual_service.py +0 -0
  432. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/vm_import_config.py +0 -0
  433. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/volume_snapshot.py +0 -0
  434. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/volume_snapshot_class.py +0 -0
  435. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/ocp_resources/vtep.py +0 -0
  436. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/pypi-dist/.gitignore +0 -0
  437. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/renovate.json +0 -0
  438. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/scripts/__init__.py +0 -0
  439. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/scripts/diff-from-latest-release.sh +0 -0
  440. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/scripts/diff-from-tag.sh +0 -0
  441. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/scripts/generate_changelog.py +0 -0
  442. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/scripts/get-latest-release.sh +0 -0
  443. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/sonar-project.properties +0 -0
  444. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/__init__.py +0 -0
  445. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/conftest.py +0 -0
  446. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/fixtures/validation_schemas.py +0 -0
  447. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/manifests/vm.yaml +0 -0
  448. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/scripts/__init__.py +0 -0
  449. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/scripts/generate_pytest_test.py +0 -0
  450. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/scripts/validate_resources.py +0 -0
  451. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_api_group_order.py +0 -0
  452. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_camelcase_to_snake.py +0 -0
  453. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_daemonset.py +0 -0
  454. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resource.py +0 -0
  455. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resource_validation.py +0 -0
  456. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_aaq.py +0 -0
  457. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_api_server.py +0 -0
  458. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_authorino.py +0 -0
  459. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_cdi.py +0 -0
  460. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_cdi_config.py +0 -0
  461. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_cluster_resource_quota.py +0 -0
  462. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_cluster_user_defined_network.py +0 -0
  463. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_config_map.py +0 -0
  464. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_console_config_openshift_io.py +0 -0
  465. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_console_operator_openshift_io.py +0 -0
  466. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_csi_driver.py +0 -0
  467. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_data_import_cron.py +0 -0
  468. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_data_science_cluster.py +0 -0
  469. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_deployment.py +0 -0
  470. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_direct_volume_migration.py +0 -0
  471. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_direct_volume_migration_progress.py +0 -0
  472. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_dns_config_openshift_io.py +0 -0
  473. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_dns_operator_openshift_io.py +0 -0
  474. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_dsc_initialization.py +0 -0
  475. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_group.py +0 -0
  476. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_guardrails_orchestrator.py +0 -0
  477. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_image_caching_internal_knative_dev.py +0 -0
  478. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_image_config_openshift_io.py +0 -0
  479. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_image_content_source_policy.py +0 -0
  480. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_image_image_openshift_io.py +0 -0
  481. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_inference_graph.py +0 -0
  482. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_kube_descheduler.py +0 -0
  483. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_kubelet_config.py +0 -0
  484. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_kubevirt.py +0 -0
  485. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_llama_stack_distribution.py +0 -0
  486. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_lm_eval_job.py +0 -0
  487. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_machine.py +0 -0
  488. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_maria_db.py +0 -0
  489. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_mariadb_operator.py +0 -0
  490. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_mig_analytic.py +0 -0
  491. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_mig_cluster.py +0 -0
  492. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_mig_migration.py +0 -0
  493. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_mig_plan.py +0 -0
  494. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_model_registry.py +0 -0
  495. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_model_registry_components_platform_opendatahub_io.py +0 -0
  496. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_model_registry_modelregistry_opendatahub_io.py +0 -0
  497. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_mtq.py +0 -0
  498. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_namespace.py +0 -0
  499. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_network_config_openshift_io.py +0 -0
  500. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_network_operator_openshift_io.py +0 -0
  501. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_nm_state.py +0 -0
  502. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_node.py +0 -0
  503. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_node_config_openshift_io.py +0 -0
  504. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_node_network_configuration_policy_latest.py +0 -0
  505. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_notebook.py +0 -0
  506. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_oauth.py +0 -0
  507. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_operator.py +0 -0
  508. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_pod.py +0 -0
  509. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_pod_metrics.py +0 -0
  510. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_project_config_openshift_io.py +0 -0
  511. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_project_project_openshift_io.py +0 -0
  512. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_project_request.py +0 -0
  513. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_prometheus.py +0 -0
  514. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_replica_set.py +0 -0
  515. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_scheduler.py +0 -0
  516. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_security_context_constraints.py +0 -0
  517. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_self_subject_review.py +0 -0
  518. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_service.py +0 -0
  519. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_service_mesh_member.py +0 -0
  520. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_service_serving_knative_dev.py +0 -0
  521. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_serving_runtime.py +0 -0
  522. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_snapshot.py +0 -0
  523. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_ssp.py +0 -0
  524. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_storage_cluster.py +0 -0
  525. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_user.py +0 -0
  526. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_user_defined_network.py +0 -0
  527. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_virtual_machine_cluster_instancetype.py +0 -0
  528. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_virtual_machine_cluster_preference.py +0 -0
  529. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_virtual_machine_export.py +0 -0
  530. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_virtual_machine_instance_migration.py +0 -0
  531. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_virtual_machine_instance_preset.py +0 -0
  532. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_virtual_machine_instance_replica_set.py +0 -0
  533. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_virtual_machine_instancetype.py +0 -0
  534. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_virtual_machine_preference.py +0 -0
  535. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_volume_snapshot.py +0 -0
  536. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_resources/test_volume_snapshot_class.py +0 -0
  537. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_schema_loading.py +0 -0
  538. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_unittests.py +0 -0
  539. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_validate_resources.py +0 -0
  540. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_validate_resources_script.py +0 -0
  541. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/test_validation_error.py +0 -0
  542. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tests/utils.py +0 -0
  543. {openshift_python_wrapper-11.0.138 → openshift_python_wrapper-11.0.139}/tox.toml +0 -0
@@ -7,7 +7,7 @@ jobs:
7
7
  stale:
8
8
  runs-on: ubuntu-latest
9
9
  steps:
10
- - uses: actions/stale@v10
10
+ - uses: actions/stale@v11
11
11
  with:
12
12
  stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
13
13
  days-before-stale: 30
@@ -46,7 +46,7 @@ repos:
46
46
  ]
47
47
 
48
48
  - repo: https://github.com/astral-sh/ruff-pre-commit
49
- rev: v0.15.22
49
+ rev: v0.16.0
50
50
  hooks:
51
51
  - id: ruff
52
52
  - id: ruff-format
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openshift-python-wrapper
3
- Version: 11.0.138
3
+ Version: 11.0.139
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/
@@ -0,0 +1,147 @@
1
+ # Generated using https://github.com/RedHatQE/openshift-python-wrapper/blob/main/class_generator/README.md
2
+
3
+
4
+ from typing import Any
5
+
6
+ from ocp_resources.resource import NamespacedResource
7
+
8
+
9
+ class HyperConverged(NamespacedResource):
10
+ """
11
+ HyperConverged is the Schema for the hyperconvergeds API
12
+ """
13
+
14
+ api_group: str = NamespacedResource.ApiGroup.HCO_KUBEVIRT_IO
15
+
16
+ def __init__(
17
+ self,
18
+ deployment: dict[str, Any] | None = None,
19
+ feature_gates: list[Any] | None = None,
20
+ networking: dict[str, Any] | None = None,
21
+ security: dict[str, Any] | None = None,
22
+ storage: dict[str, Any] | None = None,
23
+ virtualization: dict[str, Any] | None = None,
24
+ workload_sources: dict[str, Any] | None = None,
25
+ **kwargs: Any,
26
+ ) -> None:
27
+ r"""
28
+ Args:
29
+ deployment (dict[str, Any]): Deployment contains all the configurations related to deployment of
30
+ KubeVirt components
31
+
32
+ feature_gates (list[Any]): FeatureGates is a set of optional feature gates to enable or disable
33
+ new features that are not generally available yet. Add a new
34
+ FeatureGate Object to this set, to enable a feature that is
35
+ disabled by default, or to disable a feature that is enabled by
36
+ default. A feature gate may be in the following phases: * alpha:
37
+ the feature is in dev-preview. It is disabled by default, but can
38
+ be enabled. * beta: the feature gate is in tech-preview. It is
39
+ enabled by default, but can be disabled. * GA: the feature is
40
+ graduated and is always enabled. There is no way to disable it.
41
+ * deprecated: the feature is deprecated. The feature gate will be
42
+ removed in a future release. Feature-Gate list: *
43
+ decentralizedLiveMigration: DecentralizedLiveMigration enables
44
+ the decentralized live migration (cross-cluster migration)
45
+ feature. This feature allows live migration of
46
+ VirtualMachineInstances between different clusters. This feature
47
+ is in Developer Preview. Phase: beta *
48
+ declarativeHotplugVolumes: DeclarativeHotplugVolumes enables the
49
+ use of the declarative volume hotplug feature in KubeVirt. When
50
+ set to true or nil, the "DeclarativeHotplugVolumes" feature gate
51
+ is enabled and the "HotplugVolumes" feature gate is not (default
52
+ behavior). When set to false, the "HotplugVolumes" featuregate
53
+ is enabled in KubeVirt. This feature is in Technical Preview.
54
+ Phase: beta * template: VirtualMachine Templates provide a
55
+ native, in-cluster VM templating for KubeVirt. They allow you to
56
+ define reusable VM blueprints with parameterized values that can
57
+ be processed to create virtual machine. the "template" feature
58
+ gate enables this feature. Note: this feature is in Tech
59
+ Preview. Phase: beta * alignCPUs: Enable KubeVirt to request
60
+ up to two additional dedicated CPUs in order to complete the
61
+ total CPU count to an even parity when using emulator thread
62
+ isolation. Note: this feature is in Developer Preview. Phase:
63
+ alpha * containerPathVolumes: ContainerPathVolumes enables the
64
+ use of container paths as volumes in KubeVirt. This allows VMs
65
+ to access files and directories from the virt-launcher pod's
66
+ filesystem via virtiofs. Phase: alpha * deployKubeSecondaryDNS:
67
+ Deploy KubeSecondaryDNS by CNAO Phase: alpha *
68
+ deployObservabilityController: Deploy the virt-observability-
69
+ controller component. When enabled, the controller exposes
70
+ KubeVirt metrics and manages PrometheusRule resources
71
+ independently from the KubeVirt control plane. Phase: alpha *
72
+ downwardMetrics: Allow to expose a limited set of host metrics
73
+ to guests. Phase: alpha * enableMultiArchBootImageImport:
74
+ EnableMultiArchBootImageImport allows the HCO to run on
75
+ heterogeneous clusters with different CPU architectures. Setting
76
+ this field to true will allow the HCO to create Golden Images
77
+ for different CPU architectures. This feature is in Developer
78
+ Preview. Phase: alpha * incrementalBackup: IncrementalBackup
79
+ enables changed block tracking backups and incremental backups
80
+ using QEMU capabilities in KubeVirt. When enabled, this also
81
+ enables the UtilityVolumes feature gate in the KubeVirt CR. Note:
82
+ This feature is in Tech Preview. Phase: alpha * objectGraph:
83
+ ObjectGraph enables the ObjectGraph VM and VMI subresource in
84
+ KubeVirt. This subresource returns a structured list of k8s
85
+ objects that are related to the specified VM or VMI, enabling
86
+ better dependency tracking. Note: This feature is in Developer
87
+ Preview. Phase: alpha * disableMDevConfiguration: Deprecated:
88
+ use spec.virtualization.mediatedDevicesConfiguration.enabled
89
+ instead. This feature gate is deprecated and will be removed in a
90
+ future release. Phase: deprecated * persistentReservation:
91
+ This feature gate has graduated to a dedicated configuration
92
+ field. Use
93
+ spec.storage.persistentReservationConfiguration.enabled instead.
94
+ This feature gate is deprecated and will be removed in a future
95
+ release. Phase: deprecated
96
+
97
+ networking (dict[str, Any]): Networking contains all the configurations for networking
98
+
99
+ security (dict[str, Any]): Security contains all the security configurations
100
+
101
+ storage (dict[str, Any]): Storage contains all the configurations for storage
102
+
103
+ virtualization (dict[str, Any]): Virtualization contains all the configurations for virtualization
104
+
105
+ workload_sources (dict[str, Any]): WorkloadSources contains all the configurations for workload sources
106
+
107
+ """
108
+ super().__init__(**kwargs)
109
+
110
+ self.deployment = deployment
111
+ self.feature_gates = feature_gates
112
+ self.networking = networking
113
+ self.security = security
114
+ self.storage = storage
115
+ self.virtualization = virtualization
116
+ self.workload_sources = workload_sources
117
+
118
+ def to_dict(self) -> None:
119
+
120
+ super().to_dict()
121
+
122
+ if not self.kind_dict and not self.yaml_file:
123
+ self.res["spec"] = {}
124
+ _spec = self.res["spec"]
125
+
126
+ if self.deployment is not None:
127
+ _spec["deployment"] = self.deployment
128
+
129
+ if self.feature_gates is not None:
130
+ _spec["featureGates"] = self.feature_gates
131
+
132
+ if self.networking is not None:
133
+ _spec["networking"] = self.networking
134
+
135
+ if self.security is not None:
136
+ _spec["security"] = self.security
137
+
138
+ if self.storage is not None:
139
+ _spec["storage"] = self.storage
140
+
141
+ if self.virtualization is not None:
142
+ _spec["virtualization"] = self.virtualization
143
+
144
+ if self.workload_sources is not None:
145
+ _spec["workloadSources"] = self.workload_sources
146
+
147
+ # End of generated code
@@ -82,7 +82,7 @@ def convert_camel_case_to_snake_case(name: str) -> str:
82
82
  - The function handles both single-word camel case strings (e.g., "Service") and multi-word camel case strings
83
83
  (e.g., "myCamelCaseString").
84
84
  """
85
- do_not_process_list = ["oauth", "kubevirt"]
85
+ do_not_process_list = ["hyperconverged", "oauth", "kubevirt"]
86
86
 
87
87
  # If the input string is in the do_not_proccess_list, return it as it is.
88
88
  if name.lower() in do_not_process_list:
@@ -64,3 +64,38 @@ class VirtualMachineTemplate(NamespacedResource):
64
64
  _spec["parameters"] = self.parameters
65
65
 
66
66
  # End of generated code
67
+
68
+ def process(
69
+ self,
70
+ parameters: dict[str, str] | None = None,
71
+ client: Any = None,
72
+ ) -> Any:
73
+ """
74
+ Process the VirtualMachineTemplate using the KubeVirt subresources API.
75
+
76
+ Sends a POST request to the process subresource endpoint, substituting the
77
+ provided parameter values into the template and returning the result.
78
+
79
+ Args:
80
+ parameters (dict[str, str] | None): Key-value pairs of template parameters
81
+ to substitute, e.g. ``{"NAME": "my-vm", "INSTANCETYPE": "u1.large"}``.
82
+ Defaults to an empty dict (no substitutions).
83
+ client: Optional Kubernetes API client. Defaults to ``self.client``.
84
+
85
+ Returns:
86
+ Any: The raw API server response object.
87
+
88
+ """
89
+ _client = client or self.client
90
+ _subresources_api = f"subresources.{self.api_version}"
91
+ body: dict[str, Any] = {
92
+ "apiVersion": _subresources_api,
93
+ "kind": "ProcessOptions",
94
+ "parameters": parameters or {},
95
+ }
96
+ response = _client.request(
97
+ "POST",
98
+ f"/apis/{_subresources_api}/namespaces/{self.namespace}/virtualmachinetemplates/{self.name}/process",
99
+ body,
100
+ )
101
+ return response
@@ -16,23 +16,41 @@ class VirtualMachineTemplateRequest(NamespacedResource):
16
16
 
17
17
  def __init__(
18
18
  self,
19
+ template_labels: dict[str, Any] | None = None,
19
20
  template_name: str | None = None,
21
+ ttl_seconds_after_finished: int | None = None,
20
22
  virtual_machine_ref: dict[str, Any] | None = None,
21
23
  **kwargs: Any,
22
24
  ) -> None:
23
25
  r"""
24
26
  Args:
27
+ template_labels (dict[str, Any]): TemplateLabels holds optional labels to apply to the created
28
+ VirtualMachineTemplate. Labels with the "template.kubevirt.io/"
29
+ prefix are reserved for system use and are not allowed.
30
+
25
31
  template_name (str): TemplateName holds the optional name for the new
26
32
  VirtualMachineTemplate. If not specified the template will have
27
33
  the same name as the VirtualMachineTemplateRequest.
28
34
 
35
+ ttl_seconds_after_finished (int): TTLSecondsAfterFinished limits the lifetime of a
36
+ VirtualMachineTemplateRequest that has finished execution. Failed
37
+ VirtualMachineTemplateRequests are never cleaned up by the TTL
38
+ controller, so they remain available for debugging. If this field
39
+ is unset, the VirtualMachineTemplateRequest is not automatically
40
+ deleted and must be removed manually or through the owner
41
+ reference cleanup described below. If this field is set to zero,
42
+ the VirtualMachineTemplateRequest becomes eligible to be deleted
43
+ immediately after it finishes.
44
+
29
45
  virtual_machine_ref (dict[str, Any]): VirtualMachineReference holds a reference to a
30
46
  VirtualMachine.kubevirt.io
31
47
 
32
48
  """
33
49
  super().__init__(**kwargs)
34
50
 
51
+ self.template_labels = template_labels
35
52
  self.template_name = template_name
53
+ self.ttl_seconds_after_finished = ttl_seconds_after_finished
36
54
  self.virtual_machine_ref = virtual_machine_ref
37
55
 
38
56
  def to_dict(self) -> None:
@@ -48,7 +66,13 @@ class VirtualMachineTemplateRequest(NamespacedResource):
48
66
 
49
67
  _spec["virtualMachineRef"] = self.virtual_machine_ref
50
68
 
69
+ if self.template_labels is not None:
70
+ _spec["templateLabels"] = self.template_labels
71
+
51
72
  if self.template_name is not None:
52
73
  _spec["templateName"] = self.template_name
53
74
 
75
+ if self.ttl_seconds_after_finished is not None:
76
+ _spec["ttlSecondsAfterFinished"] = self.ttl_seconds_after_finished
77
+
54
78
  # End of generated code
@@ -75,7 +75,7 @@ include = [
75
75
  [project]
76
76
  requires-python = ">=3.10"
77
77
  name = "openshift-python-wrapper"
78
- version = "11.0.138"
78
+ version = "11.0.139"
79
79
  description = "Wrapper around https://github.com/kubernetes-client/python"
80
80
  readme = "README.md"
81
81
  license = "Apache-2.0"
@@ -0,0 +1,147 @@
1
+ from typing import Any
2
+ from unittest.mock import MagicMock
3
+
4
+ import pytest
5
+
6
+ from ocp_resources.resource import get_client
7
+ from ocp_resources.virtual_machine_template import VirtualMachineTemplate
8
+
9
+ # ── constants ────────────────────────────────────────────────────────────────
10
+
11
+ VMT_NAMESPACE = "test-ns"
12
+ VMT_NAME = "test-vmt"
13
+ _API_GROUP = "template.kubevirt.io"
14
+ _API_VERSION = "v1alpha1"
15
+ _FULL_API_VERSION = f"{_API_GROUP}/{_API_VERSION}"
16
+ # The process method builds: "subresources.<self.api_version>"
17
+ _SUBRESOURCES_API = f"subresources.{_FULL_API_VERSION}"
18
+ # Expected POST path used by process()
19
+ VMT_PROCESS_PATH = f"/apis/{_SUBRESOURCES_API}/namespaces/{VMT_NAMESPACE}/virtualmachinetemplates/{VMT_NAME}/process"
20
+
21
+ # Resource definition required to register VirtualMachineTemplate in the fake client
22
+ _VMT_RESOURCE_DEF: dict[str, Any] = {
23
+ "kind": "VirtualMachineTemplate",
24
+ "api_version": _API_VERSION,
25
+ "group": _API_GROUP,
26
+ "version": _API_VERSION,
27
+ "group_version": _FULL_API_VERSION,
28
+ "plural": "virtualmachinetemplates",
29
+ "singular": "virtualmachinetemplate",
30
+ "namespaced": True,
31
+ }
32
+
33
+
34
+ # ── helpers ───────────────────────────────────────────────────────────────────
35
+
36
+
37
+ def _make_fake_client(response_data: dict[str, Any] | None = None) -> Any:
38
+ """
39
+ Return a fake client (get_client(fake=True)) with VirtualMachineTemplate registered
40
+ and request() replaced by a MagicMock so call args and return values are inspectable.
41
+ """
42
+ client = get_client(fake=True)
43
+ client.register_resources(_VMT_RESOURCE_DEF)
44
+ mock_response = MagicMock()
45
+ mock_response.to_dict.return_value = response_data if response_data is not None else {}
46
+ # Intentionally replacing the stub method with a MagicMock for call-arg inspection
47
+ client.request = MagicMock(return_value=mock_response) # type: ignore[method-assign]
48
+ return client
49
+
50
+
51
+ # ── fixtures ──────────────────────────────────────────────────────────────────
52
+
53
+
54
+ @pytest.fixture()
55
+ def vmt() -> VirtualMachineTemplate:
56
+ return VirtualMachineTemplate(
57
+ client=_make_fake_client(),
58
+ name=VMT_NAME,
59
+ namespace=VMT_NAMESPACE,
60
+ virtual_machine={"spec": {}},
61
+ )
62
+
63
+
64
+ # ── tests ─────────────────────────────────────────────────────────────────────
65
+
66
+
67
+ class TestProcessPath:
68
+ """process() sends a POST to the correct subresource URL."""
69
+
70
+ def test_process_default_parameters_uses_correct_path(self, vmt: VirtualMachineTemplate) -> None:
71
+ process_client = _make_fake_client()
72
+ vmt.process(client=process_client)
73
+
74
+ method, path, _ = process_client.request.call_args.args
75
+ assert method == "POST"
76
+ assert path == VMT_PROCESS_PATH
77
+
78
+ def test_process_with_parameters_uses_correct_path(self, vmt: VirtualMachineTemplate) -> None:
79
+ process_client = _make_fake_client()
80
+ vmt.process(parameters={"NAME": "my-vm"}, client=process_client)
81
+
82
+ method, path, _ = process_client.request.call_args.args
83
+ assert method == "POST"
84
+ assert path == VMT_PROCESS_PATH
85
+
86
+
87
+ class TestProcessOptionsBody:
88
+ """process() sends the correct ProcessOptions body."""
89
+
90
+ def test_body_kind_is_process_options(self, vmt: VirtualMachineTemplate) -> None:
91
+ process_client = _make_fake_client()
92
+ vmt.process(client=process_client)
93
+
94
+ _, _, body = process_client.request.call_args.args
95
+ assert body["kind"] == "ProcessOptions"
96
+
97
+ def test_body_api_version_matches_subresources_api(self, vmt: VirtualMachineTemplate) -> None:
98
+ process_client = _make_fake_client()
99
+ vmt.process(client=process_client)
100
+
101
+ _, _, body = process_client.request.call_args.args
102
+ assert body["apiVersion"] == _SUBRESOURCES_API
103
+
104
+ def test_body_parameters_empty_when_none_supplied(self, vmt: VirtualMachineTemplate) -> None:
105
+ """parameters=None should produce an empty dict in the request body."""
106
+ process_client = _make_fake_client()
107
+ vmt.process(client=process_client)
108
+
109
+ _, _, body = process_client.request.call_args.args
110
+ assert body["parameters"] == {}
111
+
112
+ def test_body_parameters_passed_through_when_supplied(self, vmt: VirtualMachineTemplate) -> None:
113
+ """Supplied parameters dict should appear unchanged in the request body."""
114
+ supplied = {"NAME": "my-vm", "INSTANCETYPE": "u1.large"}
115
+ process_client = _make_fake_client()
116
+ vmt.process(parameters=supplied, client=process_client)
117
+
118
+ _, _, body = process_client.request.call_args.args
119
+ assert body["parameters"] == supplied
120
+
121
+
122
+ class TestProcessClientSelection:
123
+ """process() uses the injected client, falling back to self.client."""
124
+
125
+ def test_process_uses_injected_client(self, vmt: VirtualMachineTemplate) -> None:
126
+ injected = _make_fake_client()
127
+ vmt.process(client=injected)
128
+
129
+ injected.request.assert_called_once()
130
+ vmt.client.request.assert_not_called()
131
+
132
+ def test_process_falls_back_to_self_client_when_not_injected(self, vmt: VirtualMachineTemplate) -> None:
133
+ vmt.client.request.return_value.to_dict.return_value = {}
134
+ vmt.process()
135
+
136
+ vmt.client.request.assert_called_once()
137
+
138
+
139
+ class TestProcessReturnValue:
140
+ """process() returns the raw response object from the API client."""
141
+
142
+ def test_process_returns_raw_response(self, vmt: VirtualMachineTemplate) -> None:
143
+ process_client = _make_fake_client()
144
+
145
+ result = vmt.process(client=process_client)
146
+
147
+ assert result is process_client.request.return_value