openshift-python-wrapper 4.20.6__tar.gz → 4.20.7__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 (458) hide show
  1. openshift_python_wrapper-4.20.7/.git +1 -0
  2. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.pre-commit-config.yaml +2 -2
  3. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/PKG-INFO +1 -1
  4. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/cli.py +1 -1
  5. openshift_python_wrapper-4.20.7/class_generator/formatters/file_writer.py +71 -0
  6. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/manifests/class_generator_template.j2 +5 -1
  7. {openshift_python_wrapper-4.20.6/ocp_resources → openshift_python_wrapper-4.20.7/class_generator/tests/manifests/APIServer}/api_server.py +1 -0
  8. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/manifests/ClusterOperator/cluster_operator.py +1 -0
  9. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/manifests/ConfigMap/config_map.py +1 -0
  10. {openshift_python_wrapper-4.20.6/ocp_resources → openshift_python_wrapper-4.20.7/class_generator/tests/manifests/DNS}/dns_config_openshift_io.py +1 -0
  11. {openshift_python_wrapper-4.20.6/ocp_resources → openshift_python_wrapper-4.20.7/class_generator/tests/manifests/DNS}/dns_operator_openshift_io.py +1 -0
  12. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/manifests/Deployment/deployment.py +2 -1
  13. {openshift_python_wrapper-4.20.6/ocp_resources → openshift_python_wrapper-4.20.7/class_generator/tests/manifests/ImageContentSourcePolicy}/image_content_source_policy.py +1 -0
  14. {openshift_python_wrapper-4.20.6/ocp_resources → openshift_python_wrapper-4.20.7/class_generator/tests/manifests/Ingress}/ingress_config_openshift_io.py +1 -0
  15. {openshift_python_wrapper-4.20.6/ocp_resources → openshift_python_wrapper-4.20.7/class_generator/tests/manifests/Ingress}/ingress_networking_k8s_io.py +1 -0
  16. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/manifests/Machine/machine.py +1 -0
  17. {openshift_python_wrapper-4.20.6/ocp_resources → openshift_python_wrapper-4.20.7/class_generator/tests/manifests/NMState}/nm_state.py +1 -0
  18. {openshift_python_wrapper-4.20.6/ocp_resources → openshift_python_wrapper-4.20.7/class_generator/tests/manifests/OAuth}/oauth.py +1 -0
  19. {openshift_python_wrapper-4.20.6/ocp_resources → openshift_python_wrapper-4.20.7/class_generator/tests/manifests/Pipeline}/pipeline.py +1 -0
  20. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/manifests/Pod/pod.py +2 -1
  21. {openshift_python_wrapper-4.20.6/ocp_resources → openshift_python_wrapper-4.20.7/class_generator/tests/manifests/RouteAdvertisements}/route_advertisements.py +2 -1
  22. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/manifests/Secret/secret.py +1 -0
  23. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/manifests/ServiceMeshMember/service_mesh_member.py +2 -1
  24. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/manifests/ServingRuntime/serving_runtime.py +2 -1
  25. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/manifests/test_parse_explain.j2 +10 -15
  26. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/test_class_generator.py +4 -6
  27. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/test_cli.py +3 -1
  28. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/test_schema_new_functions.py +12 -5
  29. openshift_python_wrapper-4.20.7/ocp_resources/mig_controller.py +54 -0
  30. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/pyproject.toml +1 -1
  31. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/scripts/generate_pytest_test.py +1 -1
  32. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/uv.lock +1 -1
  33. openshift_python_wrapper-4.20.6/.git +0 -1
  34. openshift_python_wrapper-4.20.6/class_generator/formatters/file_writer.py +0 -36
  35. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.coderabbit.yaml +0 -0
  36. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.dockerignore +0 -0
  37. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.flake8 +0 -0
  38. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.gitattributes +0 -0
  39. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  40. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  41. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.github/pull_request_template.md +0 -0
  42. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.github/weekly-digest.yml +0 -0
  43. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.github/workflows/close-stale-issues.yml +0 -0
  44. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.gitignore +0 -0
  45. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.gitleaks.toml +0 -0
  46. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.readthedocs.yaml +0 -0
  47. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.release-it.json +0 -0
  48. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/.sonarcloud.properties +0 -0
  49. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/CONTRIBUTING.md +0 -0
  50. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/LICENSE +0 -0
  51. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/Makefile +0 -0
  52. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/OWNERS +0 -0
  53. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/README.md +0 -0
  54. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/VERSION +0 -0
  55. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/README.md +0 -0
  56. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/__init__.py +0 -0
  57. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/constants.py +0 -0
  58. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/core/__init__.py +0 -0
  59. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/core/coverage.py +0 -0
  60. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/core/discovery.py +0 -0
  61. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/core/generator.py +0 -0
  62. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/core/schema.py +0 -0
  63. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/formatters/__init__.py +0 -0
  64. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/formatters/template_renderer.py +0 -0
  65. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/parsers/__init__.py +0 -0
  66. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/parsers/explain_parser.py +0 -0
  67. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/parsers/type_parser.py +0 -0
  68. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/parsers/user_code_parser.py +0 -0
  69. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/py.typed +0 -0
  70. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/schema/__cluster_version__.txt +0 -0
  71. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/schema/__resources-mappings.json.gz +0 -0
  72. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/schema/_definitions.json +0 -0
  73. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/test_batch_regeneration.py +0 -0
  74. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/test_generation.py +0 -0
  75. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/test_resource_discovery.py +0 -0
  76. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/test_schema_parsing.py +0 -0
  77. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/test_user_code_parser.py +0 -0
  78. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/tests/test_utils.py +0 -0
  79. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/class_generator/utils.py +0 -0
  80. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/docs/Makefile +0 -0
  81. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/docs/conf.py +0 -0
  82. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/docs/index.rst +0 -0
  83. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/docs/modules.rst +0 -0
  84. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/docs/ocp_resources.rst +0 -0
  85. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/examples/general.py +0 -0
  86. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/examples/node_network_configuration_policy.py +0 -0
  87. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/examples/pods.py +0 -0
  88. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/examples/resource_list.py +0 -0
  89. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/examples/role.py +0 -0
  90. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/examples/special_cases.py +0 -0
  91. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/examples/validation_demo.py +0 -0
  92. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/examples/validation_troubleshooting.py +0 -0
  93. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/examples/virtual_machine.py +0 -0
  94. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/README.md +0 -0
  95. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/__init__.py +0 -0
  96. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/configuration.py +0 -0
  97. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/dynamic_client.py +0 -0
  98. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/exceptions.py +0 -0
  99. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/kubernetes_client.py +0 -0
  100. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/resource_field.py +0 -0
  101. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/resource_instance.py +0 -0
  102. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/resource_manager.py +0 -0
  103. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/resource_registry.py +0 -0
  104. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/resource_storage.py +0 -0
  105. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/status_schema_parser.py +0 -0
  106. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/status_templates.py +0 -0
  107. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/fake_kubernetes_client/types.py +0 -0
  108. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/mcp_server/README.md +0 -0
  109. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/mcp_server/__init__.py +0 -0
  110. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/mcp_server/example_client.py +0 -0
  111. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/mcp_server/server-info.json +0 -0
  112. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/mcp_server/server.py +0 -0
  113. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/mcp_server/tests/__init__.py +0 -0
  114. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/mcp_server/tests/test_server.py +0 -0
  115. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/__init__.py +0 -0
  116. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/aaq.py +0 -0
  117. {openshift_python_wrapper-4.20.6/class_generator/tests/manifests/APIServer → openshift_python_wrapper-4.20.7/ocp_resources}/api_server.py +0 -0
  118. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/api_service.py +0 -0
  119. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/application_aware_applied_cluster_resource_quota.py +0 -0
  120. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/application_aware_cluster_resource_quota.py +0 -0
  121. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/application_aware_resource_quota.py +0 -0
  122. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/authorino.py +0 -0
  123. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/backup.py +0 -0
  124. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/benchmark.py +0 -0
  125. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/bgp_session_state.py +0 -0
  126. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/catalog_source.py +0 -0
  127. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cdi.py +0 -0
  128. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cdi_config.py +0 -0
  129. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/chaos_engine.py +0 -0
  130. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/chaos_result.py +0 -0
  131. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cluster_claim.py +0 -0
  132. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cluster_deployment.py +0 -0
  133. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cluster_operator.py +0 -0
  134. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cluster_pool.py +0 -0
  135. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cluster_resource_quota.py +0 -0
  136. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cluster_role.py +0 -0
  137. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cluster_role_binding.py +0 -0
  138. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cluster_service_version.py +0 -0
  139. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cluster_user_defined_network.py +0 -0
  140. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cluster_version.py +0 -0
  141. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/config_imageregistry_operator_openshift_io.py +0 -0
  142. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/config_map.py +0 -0
  143. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/config_operator_openshift_io.py +0 -0
  144. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/config_samples_operator_openshift_io.py +0 -0
  145. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/console_cli_download.py +0 -0
  146. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/console_config_openshift_io.py +0 -0
  147. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/console_operator_openshift_io.py +0 -0
  148. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/console_plugin.py +0 -0
  149. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/console_quick_start.py +0 -0
  150. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/controller_revision.py +0 -0
  151. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/cron_job.py +0 -0
  152. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/csi_driver.py +0 -0
  153. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/csi_storage_capacity.py +0 -0
  154. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/custom_resource_definition.py +0 -0
  155. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/daemonset.py +0 -0
  156. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/data_import_cron.py +0 -0
  157. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/data_science_cluster.py +0 -0
  158. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/data_source.py +0 -0
  159. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/datavolume.py +0 -0
  160. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/deployment.py +0 -0
  161. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/destination_rule.py +0 -0
  162. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/direct_volume_migration.py +0 -0
  163. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/direct_volume_migration_progress.py +0 -0
  164. {openshift_python_wrapper-4.20.6/class_generator/tests/manifests/DNS → openshift_python_wrapper-4.20.7/ocp_resources}/dns_config_openshift_io.py +0 -0
  165. {openshift_python_wrapper-4.20.6/class_generator/tests/manifests/DNS → openshift_python_wrapper-4.20.7/ocp_resources}/dns_operator_openshift_io.py +0 -0
  166. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/dsc_initialization.py +0 -0
  167. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/endpoint_slice.py +0 -0
  168. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/endpoints.py +0 -0
  169. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/event.py +0 -0
  170. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/exceptions.py +0 -0
  171. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/fence_agent_remediation_templates.py +0 -0
  172. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/forklift_controller.py +0 -0
  173. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/frr_configuration.py +0 -0
  174. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/gateway.py +0 -0
  175. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/gateway_class.py +0 -0
  176. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/gateway_gateway_networking_k8s_io.py +0 -0
  177. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/gateway_networking_istio_io.py +0 -0
  178. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/group.py +0 -0
  179. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/guardrails_orchestrator.py +0 -0
  180. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/hook.py +0 -0
  181. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/host.py +0 -0
  182. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/hostpath_provisioner.py +0 -0
  183. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/hyperconverged.py +0 -0
  184. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/image_caching_internal_knative_dev.py +0 -0
  185. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/image_config_openshift_io.py +0 -0
  186. {openshift_python_wrapper-4.20.6/class_generator/tests/manifests/ImageContentSourcePolicy → openshift_python_wrapper-4.20.7/ocp_resources}/image_content_source_policy.py +0 -0
  187. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/image_digest_mirror_set.py +0 -0
  188. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/image_image_openshift_io.py +0 -0
  189. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/image_stream.py +0 -0
  190. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/imagestreamtag.py +0 -0
  191. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/inference_graph.py +0 -0
  192. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/inference_service.py +0 -0
  193. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/infrastructure.py +0 -0
  194. {openshift_python_wrapper-4.20.6/class_generator/tests/manifests/Ingress → openshift_python_wrapper-4.20.7/ocp_resources}/ingress_config_openshift_io.py +0 -0
  195. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/ingress_controller.py +0 -0
  196. {openshift_python_wrapper-4.20.6/class_generator/tests/manifests/Ingress → openshift_python_wrapper-4.20.7/ocp_resources}/ingress_networking_k8s_io.py +0 -0
  197. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/installplan.py +0 -0
  198. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/ip_address_pool.py +0 -0
  199. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/jaeger.py +0 -0
  200. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/job.py +0 -0
  201. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/kube_descheduler.py +0 -0
  202. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/kubelet_config.py +0 -0
  203. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/kubevirt.py +0 -0
  204. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/l2_advertisement.py +0 -0
  205. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/lease.py +0 -0
  206. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/limit_range.py +0 -0
  207. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/llama_stack_distribution.py +0 -0
  208. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/llm_inference_service.py +0 -0
  209. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/lm_eval_job.py +0 -0
  210. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/machine.py +0 -0
  211. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/machine_config.py +0 -0
  212. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/machine_config_pool.py +0 -0
  213. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/machine_health_check.py +0 -0
  214. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/machine_set.py +0 -0
  215. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/managed_cluster.py +0 -0
  216. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/maria_db.py +0 -0
  217. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/mariadb_operator.py +0 -0
  218. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/metallb.py +0 -0
  219. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/mig_analytic.py +0 -0
  220. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/mig_cluster.py +0 -0
  221. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/mig_migration.py +0 -0
  222. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/mig_plan.py +0 -0
  223. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/migration.py +0 -0
  224. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/migration_policy.py +0 -0
  225. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/model_registry.py +0 -0
  226. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/model_registry_components_platform_opendatahub_io.py +0 -0
  227. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/model_registry_modelregistry_opendatahub_io.py +0 -0
  228. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/mtq.py +0 -0
  229. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/multi_cluster_hub.py +0 -0
  230. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/multi_cluster_observability.py +0 -0
  231. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/multi_namespace_virtual_machine_storage_migration.py +0 -0
  232. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/multi_namespace_virtual_machine_storage_migration_plan.py +0 -0
  233. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/multi_network_policy.py +0 -0
  234. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/mutating_webhook_config.py +0 -0
  235. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/namespace.py +0 -0
  236. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/network_addons_config.py +0 -0
  237. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/network_attachment_definition.py +0 -0
  238. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/network_config_openshift_io.py +0 -0
  239. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/network_map.py +0 -0
  240. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/network_operator_openshift_io.py +0 -0
  241. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/network_policy.py +0 -0
  242. {openshift_python_wrapper-4.20.6/class_generator/tests/manifests/NMState → openshift_python_wrapper-4.20.7/ocp_resources}/nm_state.py +0 -0
  243. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/node.py +0 -0
  244. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/node_config_openshift_io.py +0 -0
  245. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/node_health_check.py +0 -0
  246. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/node_maintenance.py +0 -0
  247. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/node_network_configuration_enactment.py +0 -0
  248. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/node_network_configuration_policy.py +0 -0
  249. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/node_network_configuration_policy_latest.py +0 -0
  250. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/node_network_state.py +0 -0
  251. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/notebook.py +0 -0
  252. {openshift_python_wrapper-4.20.6/class_generator/tests/manifests/OAuth → openshift_python_wrapper-4.20.7/ocp_resources}/oauth.py +0 -0
  253. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/ocs_initialization.py +0 -0
  254. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/open_telemetry_collector.py +0 -0
  255. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/operator.py +0 -0
  256. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/operator_condition.py +0 -0
  257. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/operator_group.py +0 -0
  258. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/operator_hub.py +0 -0
  259. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/operator_source.py +0 -0
  260. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/package_manifest.py +0 -0
  261. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/peer_authentication.py +0 -0
  262. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/performance_profile.py +0 -0
  263. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/persistent_volume.py +0 -0
  264. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/persistent_volume_claim.py +0 -0
  265. {openshift_python_wrapper-4.20.6/class_generator/tests/manifests/Pipeline → openshift_python_wrapper-4.20.7/ocp_resources}/pipeline.py +0 -0
  266. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/pipeline_run.py +0 -0
  267. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/plan.py +0 -0
  268. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/pod.py +0 -0
  269. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/pod_disruption_budget.py +0 -0
  270. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/pod_metrics.py +0 -0
  271. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/priority_class.py +0 -0
  272. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/project_config_openshift_io.py +0 -0
  273. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/project_project_openshift_io.py +0 -0
  274. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/project_request.py +0 -0
  275. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/prometheus.py +0 -0
  276. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/prometheus_rule.py +0 -0
  277. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/provider.py +0 -0
  278. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/proxy.py +0 -0
  279. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/py.typed +0 -0
  280. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/reclaim_space_cron_job.py +0 -0
  281. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/reclaim_space_job.py +0 -0
  282. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/replica_set.py +0 -0
  283. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/resource.py +0 -0
  284. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/resource_quota.py +0 -0
  285. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/restore.py +0 -0
  286. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/rhmi.py +0 -0
  287. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/role.py +0 -0
  288. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/role_binding.py +0 -0
  289. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/route.py +0 -0
  290. {openshift_python_wrapper-4.20.6/class_generator/tests/manifests/RouteAdvertisements → openshift_python_wrapper-4.20.7/ocp_resources}/route_advertisements.py +0 -0
  291. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/scaled_object.py +0 -0
  292. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/scheduler.py +0 -0
  293. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/sealed_secret.py +0 -0
  294. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/secret.py +0 -0
  295. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/security_context_constraints.py +0 -0
  296. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/self_node_remediation_templates.py +0 -0
  297. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/self_subject_review.py +0 -0
  298. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/service.py +0 -0
  299. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/service_account.py +0 -0
  300. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/service_mesh_control_plane.py +0 -0
  301. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/service_mesh_member.py +0 -0
  302. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/service_mesh_member_roll.py +0 -0
  303. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/service_monitor.py +0 -0
  304. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/service_serving_knative_dev.py +0 -0
  305. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/serving_runtime.py +0 -0
  306. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/snapshot.py +0 -0
  307. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/sriov_network.py +0 -0
  308. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/sriov_network_node_policy.py +0 -0
  309. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/sriov_network_node_state.py +0 -0
  310. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/ssp.py +0 -0
  311. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/storage_class.py +0 -0
  312. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/storage_cluster.py +0 -0
  313. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/storage_map.py +0 -0
  314. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/storage_profile.py +0 -0
  315. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/subscription.py +0 -0
  316. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/task.py +0 -0
  317. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/task_run.py +0 -0
  318. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/tekton_tasks.py +0 -0
  319. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/template.py +0 -0
  320. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/tempo_stack.py +0 -0
  321. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/trustyai_service.py +0 -0
  322. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/upload_token_request.py +0 -0
  323. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/user.py +0 -0
  324. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/user_defined_network.py +0 -0
  325. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/utils/__init__.py +0 -0
  326. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/utils/archive_utils.py +0 -0
  327. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/utils/constants.py +0 -0
  328. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/utils/resource_constants.py +0 -0
  329. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/utils/schema_validator.py +0 -0
  330. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/utils/utils.py +0 -0
  331. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/validating_webhook_config.py +0 -0
  332. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine.py +0 -0
  333. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_clone.py +0 -0
  334. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_cluster_instancetype.py +0 -0
  335. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_cluster_preference.py +0 -0
  336. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_export.py +0 -0
  337. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_import.py +0 -0
  338. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_instance.py +0 -0
  339. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_instance_migration.py +0 -0
  340. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_instance_preset.py +0 -0
  341. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_instance_replica_set.py +0 -0
  342. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_instancetype.py +0 -0
  343. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_migration_resource_quota.py +0 -0
  344. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_preference.py +0 -0
  345. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_restore.py +0 -0
  346. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_snapshot.py +0 -0
  347. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_storage_migration.py +0 -0
  348. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_machine_storage_migration_plan.py +0 -0
  349. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/virtual_service.py +0 -0
  350. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/vm_import_config.py +0 -0
  351. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/volume_snapshot.py +0 -0
  352. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/ocp_resources/volume_snapshot_class.py +0 -0
  353. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/pypi-dist/.gitignore +0 -0
  354. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/renovate.json +0 -0
  355. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/scripts/__init__.py +0 -0
  356. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/scripts/diff-from-latest-release.sh +0 -0
  357. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/scripts/diff-from-tag.sh +0 -0
  358. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/scripts/generate_changelog.py +0 -0
  359. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/scripts/get-latest-release.sh +0 -0
  360. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/sonar-project.properties +0 -0
  361. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/__init__.py +0 -0
  362. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/conftest.py +0 -0
  363. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/fixtures/validation_schemas.py +0 -0
  364. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/manifests/vm.yaml +0 -0
  365. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/scripts/__init__.py +0 -0
  366. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/scripts/validate_resources.py +0 -0
  367. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_api_group_order.py +0 -0
  368. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_camelcase_to_snake.py +0 -0
  369. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resource.py +0 -0
  370. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resource_validation.py +0 -0
  371. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_aaq.py +0 -0
  372. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_api_server.py +0 -0
  373. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_authorino.py +0 -0
  374. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_cdi.py +0 -0
  375. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_cdi_config.py +0 -0
  376. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_cluster_resource_quota.py +0 -0
  377. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_cluster_user_defined_network.py +0 -0
  378. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_config_map.py +0 -0
  379. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_console_config_openshift_io.py +0 -0
  380. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_console_operator_openshift_io.py +0 -0
  381. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_csi_driver.py +0 -0
  382. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_data_import_cron.py +0 -0
  383. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_data_science_cluster.py +0 -0
  384. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_deployment.py +0 -0
  385. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_direct_volume_migration.py +0 -0
  386. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_direct_volume_migration_progress.py +0 -0
  387. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_dns_config_openshift_io.py +0 -0
  388. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_dns_operator_openshift_io.py +0 -0
  389. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_dsc_initialization.py +0 -0
  390. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_group.py +0 -0
  391. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_guardrails_orchestrator.py +0 -0
  392. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_image_caching_internal_knative_dev.py +0 -0
  393. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_image_config_openshift_io.py +0 -0
  394. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_image_content_source_policy.py +0 -0
  395. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_image_image_openshift_io.py +0 -0
  396. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_inference_graph.py +0 -0
  397. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_kube_descheduler.py +0 -0
  398. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_kubelet_config.py +0 -0
  399. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_kubevirt.py +0 -0
  400. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_llama_stack_distribution.py +0 -0
  401. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_lm_eval_job.py +0 -0
  402. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_machine.py +0 -0
  403. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_maria_db.py +0 -0
  404. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_mariadb_operator.py +0 -0
  405. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_mig_analytic.py +0 -0
  406. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_mig_cluster.py +0 -0
  407. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_mig_migration.py +0 -0
  408. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_mig_plan.py +0 -0
  409. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_model_registry.py +0 -0
  410. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_model_registry_components_platform_opendatahub_io.py +0 -0
  411. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_model_registry_modelregistry_opendatahub_io.py +0 -0
  412. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_mtq.py +0 -0
  413. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_namespace.py +0 -0
  414. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_network_config_openshift_io.py +0 -0
  415. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_network_operator_openshift_io.py +0 -0
  416. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_nm_state.py +0 -0
  417. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_node.py +0 -0
  418. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_node_config_openshift_io.py +0 -0
  419. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_node_network_configuration_policy_latest.py +0 -0
  420. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_notebook.py +0 -0
  421. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_oauth.py +0 -0
  422. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_operator.py +0 -0
  423. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_pod.py +0 -0
  424. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_pod_metrics.py +0 -0
  425. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_project_config_openshift_io.py +0 -0
  426. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_project_project_openshift_io.py +0 -0
  427. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_project_request.py +0 -0
  428. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_prometheus.py +0 -0
  429. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_replica_set.py +0 -0
  430. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_scheduler.py +0 -0
  431. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_security_context_constraints.py +0 -0
  432. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_self_subject_review.py +0 -0
  433. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_service.py +0 -0
  434. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_service_mesh_member.py +0 -0
  435. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_service_serving_knative_dev.py +0 -0
  436. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_serving_runtime.py +0 -0
  437. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_snapshot.py +0 -0
  438. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_ssp.py +0 -0
  439. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_storage_cluster.py +0 -0
  440. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_user.py +0 -0
  441. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_user_defined_network.py +0 -0
  442. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_virtual_machine_cluster_instancetype.py +0 -0
  443. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_virtual_machine_cluster_preference.py +0 -0
  444. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_virtual_machine_export.py +0 -0
  445. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_virtual_machine_instance_migration.py +0 -0
  446. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_virtual_machine_instance_preset.py +0 -0
  447. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_virtual_machine_instance_replica_set.py +0 -0
  448. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_virtual_machine_instancetype.py +0 -0
  449. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_virtual_machine_preference.py +0 -0
  450. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_volume_snapshot.py +0 -0
  451. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_resources/test_volume_snapshot_class.py +0 -0
  452. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_schema_loading.py +0 -0
  453. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_unittests.py +0 -0
  454. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_validate_resources.py +0 -0
  455. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_validate_resources_script.py +0 -0
  456. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/test_validation_error.py +0 -0
  457. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tests/utils.py +0 -0
  458. {openshift_python_wrapper-4.20.6 → openshift_python_wrapper-4.20.7}/tox.toml +0 -0
@@ -0,0 +1 @@
1
+ gitdir: /tmp/github-webhook-openshift-python-wrapper-mvx5zz5v/.git/worktrees/github-webhook-openshift-python-wrapper-mvx5zz5v-worktree-db6fd4da-16c9-49a3-b058-154eee4a22ff
@@ -51,12 +51,12 @@ repos:
51
51
  - id: ruff-format
52
52
 
53
53
  - repo: https://github.com/gitleaks/gitleaks
54
- rev: v8.28.0
54
+ rev: v8.30.1
55
55
  hooks:
56
56
  - id: gitleaks
57
57
 
58
58
  - repo: https://github.com/pre-commit/mirrors-mypy
59
- rev: v1.18.2
59
+ rev: v1.20.2
60
60
  hooks:
61
61
  - id: mypy
62
62
  exclude: ^(tests/|examples/|docs/)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openshift-python-wrapper
3
- Version: 4.20.6
3
+ Version: 4.20.7
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/
@@ -450,7 +450,7 @@ def handle_test_generation(add_tests: bool) -> None:
450
450
  import os
451
451
 
452
452
  test_file = "class_generator/tests/test_class_generator.py"
453
- exit_code = os.system(f"uv run pytest {test_file}")
453
+ exit_code = os.system(f"uv run --group tests pytest {test_file}")
454
454
 
455
455
  # os.system returns the exit status shifted left by 8 bits
456
456
  if exit_code != 0:
@@ -0,0 +1,71 @@
1
+ """File writing utilities for generated code."""
2
+
3
+ from pathlib import Path
4
+
5
+ from pyhelper_utils.shell import run_command
6
+ from simple_logger.logger import get_logger
7
+
8
+ LOGGER = get_logger(name=__name__)
9
+
10
+ # Project root directory (contains pyproject.toml and .pre-commit-config.yaml)
11
+ _PROJECT_ROOT = Path(__file__).resolve().parent.parent.parent
12
+
13
+
14
+ def write_and_format_rendered(filepath: str, output: str) -> None:
15
+ """
16
+ Write rendered content to file and format with prek, falling back to ruff.
17
+
18
+ Args:
19
+ filepath: Path to write the file to
20
+ output: Content to write
21
+ """
22
+ with open(filepath, "w", encoding="utf-8") as fd:
23
+ fd.write(output)
24
+
25
+ pre_commit_config = str(_PROJECT_ROOT / ".pre-commit-config.yaml")
26
+ pyproject_toml = str(_PROJECT_ROOT / "pyproject.toml")
27
+
28
+ # Try prek first (runs all pre-commit hooks including ruff)
29
+ prek_success = False
30
+ try:
31
+ rc, stdout, stderr = run_command(
32
+ command=["uvx", "prek", "-c", pre_commit_config, "run", "--files", filepath],
33
+ verify_stderr=False,
34
+ check=False,
35
+ log_errors=False,
36
+ )
37
+ if not rc:
38
+ if stderr:
39
+ LOGGER.warning(f"Prek hooks failed for {filepath}, falling back to ruff.")
40
+ LOGGER.debug(f"prek stderr: {stderr}")
41
+ else:
42
+ prek_success = True
43
+
44
+ if stdout:
45
+ LOGGER.info(f"{filepath} fixed by prek")
46
+ LOGGER.debug(f"prek stdout: {stdout}")
47
+ except Exception as e:
48
+ LOGGER.warning(f"Failed to run prek for {filepath}, falling back to ruff: {e}")
49
+
50
+ if not prek_success:
51
+ _run_ruff_fallback(filepath=filepath, pyproject_toml=pyproject_toml)
52
+
53
+
54
+ def _run_ruff_fallback(filepath: str, pyproject_toml: str) -> None:
55
+ """Run ruff check --fix and ruff format as fallback when prek fails."""
56
+ for ruff_cmd in (
57
+ ["uvx", "ruff", "check", "--fix", "--config", pyproject_toml, filepath],
58
+ ["uvx", "ruff", "format", "--config", pyproject_toml, filepath],
59
+ ):
60
+ try:
61
+ _, stdout, _ = run_command(
62
+ command=ruff_cmd,
63
+ verify_stderr=False,
64
+ check=False,
65
+ log_errors=False,
66
+ )
67
+ if stdout:
68
+ LOGGER.info(f"{filepath} fixed by ruff")
69
+ LOGGER.debug(f"ruff stdout: {stdout}")
70
+ except Exception as e:
71
+ LOGGER.error(f"Ruff fallback failed for {filepath}: {e}")
@@ -14,8 +14,12 @@
14
14
  {% endfor %}
15
15
 
16
16
  from typing import Any
17
- from ocp_resources.resource import {{ base_class }}
17
+
18
+ {% if all_required_args %}
18
19
  from ocp_resources.exceptions import MissingRequiredArgumentError
20
+ {% endif %}
21
+ from ocp_resources.resource import {{ base_class }}
22
+
19
23
 
20
24
  class {{ kind }}({{ base_class }}):
21
25
  """
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import NamespacedResource
6
7
 
7
8
 
@@ -2,8 +2,9 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
- from ocp_resources.resource import NamespacedResource
5
+
6
6
  from ocp_resources.exceptions import MissingRequiredArgumentError
7
+ from ocp_resources.resource import NamespacedResource
7
8
 
8
9
 
9
10
  class Deployment(NamespacedResource):
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import NamespacedResource
6
7
 
7
8
 
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import Resource
6
7
 
7
8
 
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import Resource
6
7
 
7
8
 
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import NamespacedResource
6
7
 
7
8
 
@@ -2,8 +2,9 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
- from ocp_resources.resource import NamespacedResource
5
+
6
6
  from ocp_resources.exceptions import MissingRequiredArgumentError
7
+ from ocp_resources.resource import NamespacedResource
7
8
 
8
9
 
9
10
  class Pod(NamespacedResource):
@@ -2,8 +2,9 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
- from ocp_resources.resource import Resource
5
+
6
6
  from ocp_resources.exceptions import MissingRequiredArgumentError
7
+ from ocp_resources.resource import Resource
7
8
 
8
9
 
9
10
  class RouteAdvertisements(Resource):
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import NamespacedResource
6
7
 
7
8
 
@@ -2,8 +2,9 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
- from ocp_resources.resource import NamespacedResource
5
+
6
6
  from ocp_resources.exceptions import MissingRequiredArgumentError
7
+ from ocp_resources.resource import NamespacedResource
7
8
 
8
9
 
9
10
  class ServiceMeshMember(NamespacedResource):
@@ -2,8 +2,9 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
- from ocp_resources.resource import NamespacedResource
5
+
6
6
  from ocp_resources.exceptions import MissingRequiredArgumentError
7
+ from ocp_resources.resource import NamespacedResource
7
8
 
8
9
 
9
10
  class ServingRuntime(NamespacedResource):
@@ -1,16 +1,15 @@
1
1
  # Generated using https://github.com/RedHatQE/openshift-python-wrapper/blob/main/scripts/resource/README.md#adding-tests
2
2
 
3
3
  import filecmp
4
+ import traceback
4
5
  from pathlib import Path
5
- import pytest
6
- from typing import List, Tuple, Optional
7
6
 
8
7
  from class_generator.constants import TESTS_MANIFESTS_DIR
9
8
  from class_generator.core.generator import class_generator
10
9
  from class_generator.utils import execute_parallel_tasks
11
10
 
12
11
 
13
- def _test_single_resource(kind: str, tmp_path: Path) -> Optional[Tuple[str, str]]:
12
+ def _test_single_resource(kind: str, tmp_path: Path) -> tuple[str, str] | None:
14
13
  """
15
14
  Test a single resource kind and return failure info if test fails.
16
15
 
@@ -45,9 +44,9 @@ def _test_single_resource(kind: str, tmp_path: Path) -> Optional[Tuple[str, str]
45
44
  if not filecmp.cmp(output_file, expected_file):
46
45
  try:
47
46
  # Read both files to show diff details
48
- with open(output_file, "r") as f:
47
+ with open(output_file) as f:
49
48
  generated_content = f.read()
50
- with open(expected_file, "r") as f:
49
+ with open(expected_file) as f:
51
50
  expected_content = f.read()
52
51
 
53
52
  # Find first difference for debugging
@@ -60,7 +59,7 @@ def _test_single_resource(kind: str, tmp_path: Path) -> Optional[Tuple[str, str]
60
59
  diff_info += f"\nGenerated lines: {len(generated_lines)}, Expected lines: {len(expected_lines)}"
61
60
 
62
61
  # Find first differing line
63
- for i, (gen_line, exp_line) in enumerate(zip(generated_lines, expected_lines)):
62
+ for i, (gen_line, exp_line) in enumerate(zip(generated_lines, expected_lines, strict=True)):
64
63
  if gen_line != exp_line:
65
64
  diff_info += f"\nFirst difference at line {i + 1}:"
66
65
  diff_info += f"\nGenerated: {repr(gen_line[:100])}..."
@@ -81,8 +80,6 @@ def _test_single_resource(kind: str, tmp_path: Path) -> Optional[Tuple[str, str]
81
80
  return None
82
81
 
83
82
  except Exception as e:
84
- import traceback
85
-
86
83
  error_details = f"Exception during generation: {str(e)}\n"
87
84
  error_details += f"Traceback:\n{traceback.format_exc()}"
88
85
  return (kind, error_details)
@@ -97,17 +94,17 @@ def test_parse_explain(tmp_path: Path) -> None:
97
94
  {% endfor %}
98
95
  ]
99
96
 
100
- failures: List[Tuple[str, str]] = []
97
+ failures: list[tuple[str, str]] = []
101
98
 
102
99
  # Process test results and collect failures
103
- def process_test_result(kind: str, result: Optional[Tuple[str, str]]) -> None:
100
+ def process_test_result(kind: str, result: tuple[str, str] | None) -> None:
104
101
  if result is not None:
105
102
  failures.append(result)
106
103
 
107
104
  def handle_test_error(kind: str, exc: Exception) -> None:
108
105
  failures.append((kind, f"Task execution failed: {str(exc)}"))
109
106
 
110
- def create_test_task(kind: str) -> Optional[Tuple[str, str]]:
107
+ def create_test_task(kind: str) -> tuple[str, str] | None:
111
108
  return _test_single_resource(kind, tmp_path / f"test-{kind}")
112
109
 
113
110
  # Run tests in parallel
@@ -136,12 +133,10 @@ def test_parse_explain(tmp_path: Path) -> None:
136
133
 
137
134
  # Create a concise failure message for pytest
138
135
  failed_kinds = [kind for kind, _ in failures]
139
- failure_summary = f"{len(failures)} resource(s) failed: {', '.join(failed_kinds[:5])}"
140
- if len(failed_kinds) > 5:
141
- failure_summary += f" and {len(failed_kinds) - 5} more"
136
+ failure_summary = f"{len(failures)} resource(s) failed: {','.join(failed_kinds)}"
142
137
 
143
138
  # Fail the test with summary - detailed output is already printed above
144
- assert False, failure_summary
139
+ raise AssertionError(failure_summary)
145
140
 
146
141
  # If we get here, all tests passed
147
142
  print(f"\nAll {len(resource_kinds)} resource generation tests passed successfully!")
@@ -99,14 +99,14 @@ def test_parse_explain(tmp_path: Path) -> None:
99
99
  "ImageContentSourcePolicy",
100
100
  "Machine",
101
101
  "NMState",
102
- "OAuth",
103
- "Pipeline",
104
102
  "Pod",
105
103
  "Secret",
106
104
  "ServiceMeshMember",
107
- "ServingRuntime",
108
105
  "Ingress",
106
+ "OAuth",
107
+ "Pipeline",
109
108
  "RouteAdvertisements",
109
+ "ServingRuntime",
110
110
  ]
111
111
 
112
112
  failures: List[Tuple[str, str]] = []
@@ -148,9 +148,7 @@ def test_parse_explain(tmp_path: Path) -> None:
148
148
 
149
149
  # Create a concise failure message for pytest
150
150
  failed_kinds = [kind for kind, _ in failures]
151
- failure_summary = f"{len(failures)} resource(s) failed: {', '.join(failed_kinds[:5])}"
152
- if len(failed_kinds) > 5:
153
- failure_summary += f" and {len(failed_kinds) - 5} more"
151
+ failure_summary = f"{len(failures)} resource(s) failed: {','.join(failed_kinds)}"
154
152
 
155
153
  # Fail the test with summary - detailed output is already printed above
156
154
  assert False, failure_summary
@@ -169,7 +169,9 @@ class TestCLIFunctionality:
169
169
 
170
170
  assert result.exit_code == 0
171
171
  mock_test_gen.assert_called_once()
172
- mock_os_system.assert_called_once_with("uv run pytest class_generator/tests/test_class_generator.py")
172
+ mock_os_system.assert_called_once_with(
173
+ "uv run --group tests pytest class_generator/tests/test_class_generator.py"
174
+ )
173
175
 
174
176
  def test_add_tests_requires_kind(self):
175
177
  """Test that --add-tests cannot be used alone."""
@@ -184,6 +184,13 @@ class TestBuildNamespacingDict:
184
184
  assert result == expected
185
185
 
186
186
 
187
+ def _get_open_mode(call):
188
+ """Extract file open mode from a mock call, defaulting to 'r'."""
189
+ if len(call[0]) > 1:
190
+ return call[0][1]
191
+ return call[1].get("mode", "r")
192
+
193
+
187
194
  class TestCheckAndUpdateClusterVersion:
188
195
  """Test check_and_update_cluster_version function."""
189
196
 
@@ -201,14 +208,14 @@ class TestCheckAndUpdateClusterVersion:
201
208
 
202
209
  # Verify that the file was opened for writing
203
210
  assert mock_open.call_count == 2 # Once for reading, once for writing
204
- write_calls = [call for call in mock_open.call_args_list if call[0][1] == "w"]
211
+ write_calls = [call for call in mock_open.call_args_list if _get_open_mode(call) == "w"]
205
212
  assert len(write_calls) == 1, "File should be opened for writing exactly once"
206
213
 
207
214
  # Verify that the correct cluster version file path is used
208
215
  from pathlib import Path
209
216
 
210
217
  expected_path = Path("class_generator/schema/__cluster_version__.txt")
211
- read_calls = [call for call in mock_open.call_args_list if call[0][1] == "r"]
218
+ read_calls = [call for call in mock_open.call_args_list if _get_open_mode(call) == "r"]
212
219
  assert len(read_calls) == 1, "File should be opened for reading exactly once"
213
220
  # Check that the file path used matches expected cluster version file
214
221
  assert str(expected_path) in str(read_calls[0][0][0]) or expected_path.name in str(read_calls[0][0][0])
@@ -230,7 +237,7 @@ class TestCheckAndUpdateClusterVersion:
230
237
 
231
238
  # Verify that the file was only opened for reading, not writing
232
239
  assert mock_open.call_count == 1 # Only once for reading
233
- read_calls = [call for call in mock_open.call_args_list if call[0][1] == "r"]
240
+ read_calls = [call for call in mock_open.call_args_list if _get_open_mode(call) == "r"]
234
241
  assert len(read_calls) == 1, "File should be opened for reading exactly once"
235
242
 
236
243
  # Verify that write() was never called
@@ -250,14 +257,14 @@ class TestCheckAndUpdateClusterVersion:
250
257
 
251
258
  # Verify that the file was opened for both reading and writing
252
259
  assert mock_open.call_count == 2 # Once for reading, once for writing
253
- write_calls = [call for call in mock_open.call_args_list if call[0][1] == "w"]
260
+ write_calls = [call for call in mock_open.call_args_list if _get_open_mode(call) == "w"]
254
261
  assert len(write_calls) == 1, "File should be opened for writing exactly once"
255
262
 
256
263
  # Verify that the correct cluster version file path is used
257
264
  from pathlib import Path
258
265
 
259
266
  expected_path = Path("class_generator/schema/__cluster_version__.txt")
260
- read_calls = [call for call in mock_open.call_args_list if call[0][1] == "r"]
267
+ read_calls = [call for call in mock_open.call_args_list if _get_open_mode(call) == "r"]
261
268
  assert len(read_calls) == 1, "File should be opened for reading exactly once"
262
269
  # Check that the file path used matches expected cluster version file
263
270
  assert str(expected_path) in str(read_calls[0][0][0]) or expected_path.name in str(read_calls[0][0][0])
@@ -0,0 +1,54 @@
1
+ # Generated using https://github.com/RedHatQE/openshift-python-wrapper/blob/main/scripts/resource/README.md
2
+
3
+
4
+ from typing import Any
5
+
6
+ from ocp_resources.resource import NamespacedResource
7
+
8
+
9
+ class MigController(NamespacedResource):
10
+ """
11
+ MigController is the Schema for the migcontrollers API.
12
+ """
13
+
14
+ api_group: str = NamespacedResource.ApiGroup.MIGRATIONS_KUBEVIRT_IO
15
+
16
+ def __init__(
17
+ self,
18
+ image_pull_policy: str | None = None,
19
+ infra: dict[str, Any] | None = None,
20
+ priority_class: str | None = None,
21
+ **kwargs: Any,
22
+ ) -> None:
23
+ r"""
24
+ Args:
25
+ image_pull_policy (str): PullPolicy describes a policy for if/when to pull a container image
26
+
27
+ infra (dict[str, Any]): Rules on which nodes infrastructure pods will be scheduled
28
+
29
+ priority_class (str): PriorityClass of the control plane
30
+
31
+ """
32
+ super().__init__(**kwargs)
33
+
34
+ self.image_pull_policy = image_pull_policy
35
+ self.infra = infra
36
+ self.priority_class = priority_class
37
+
38
+ def to_dict(self) -> None:
39
+ super().to_dict()
40
+
41
+ if not self.kind_dict and not self.yaml_file:
42
+ self.res["spec"] = {}
43
+ _spec = self.res["spec"]
44
+
45
+ if self.image_pull_policy is not None:
46
+ _spec["imagePullPolicy"] = self.image_pull_policy
47
+
48
+ if self.infra is not None:
49
+ _spec["infra"] = self.infra
50
+
51
+ if self.priority_class is not None:
52
+ _spec["priorityClass"] = self.priority_class
53
+
54
+ # End of generated code
@@ -65,7 +65,7 @@ include = [
65
65
  [project]
66
66
  requires-python = ">=3.10"
67
67
  name = "openshift-python-wrapper"
68
- version = "4.20.6"
68
+ version = "4.20.7"
69
69
  description = "Wrapper around https://github.com/kubernetes-client/python"
70
70
  readme = "README.md"
71
71
  license = "Apache-2.0"
@@ -517,7 +517,7 @@ def run_ruff_on_files(filepaths: list[str]) -> bool:
517
517
 
518
518
  # Run ruff format and check on all files
519
519
  for op in ("format", "check"):
520
- cmd_str = f"uvx ruff {op} {' '.join(filepaths)}"
520
+ cmd_str = f"uvx ruff --config pyproject.toml {op} {' '.join(filepaths)}"
521
521
  rc, _, _ = run_command(
522
522
  command=shlex.split(cmd_str),
523
523
  verify_stderr=False,
@@ -1202,7 +1202,7 @@ wheels = [
1202
1202
 
1203
1203
  [[package]]
1204
1204
  name = "openshift-python-wrapper"
1205
- version = "4.20.6"
1205
+ version = "4.20.7"
1206
1206
  source = { editable = "." }
1207
1207
  dependencies = [
1208
1208
  { name = "cloup" },
@@ -1 +0,0 @@
1
- gitdir: /tmp/github-webhook-openshift-python-wrapper-dqce99hp/.git/worktrees/github-webhook-openshift-python-wrapper-dqce99hp-worktree-36a53fdf-0c01-44a4-9a42-75e5de729bcb
@@ -1,36 +0,0 @@
1
- """File writing utilities for generated code."""
2
-
3
- from pyhelper_utils.shell import run_command
4
- from simple_logger.logger import get_logger
5
-
6
- LOGGER = get_logger(name=__name__)
7
-
8
-
9
- def write_and_format_rendered(filepath: str, output: str) -> None:
10
- """
11
- Write rendered content to file and format it with prek.
12
-
13
- Args:
14
- filepath: Path to write the file to
15
- output: Content to write
16
- """
17
- with open(filepath, "w", encoding="utf-8") as fd:
18
- fd.write(output)
19
-
20
- # Run prek on the file
21
- try:
22
- rc, stdout, stderr = run_command(
23
- command=["uvx", "prek", "run", "--files", filepath],
24
- verify_stderr=False,
25
- check=False,
26
- log_errors=False,
27
- )
28
- if not rc:
29
- if stderr:
30
- LOGGER.warning(f"Prek hooks failed for {filepath}. This is non-fatal and generation will continue.")
31
- LOGGER.debug(f"prek stderr: {stderr}")
32
- if stdout:
33
- LOGGER.info(f"{filepath} fixed by prek")
34
- LOGGER.debug(f"rek stdout: {stdout}")
35
- except Exception as e:
36
- LOGGER.error(f"Failed to run prek hooks for {filepath}: {e}. This is non-fatal and generation will continue.")