openshift-python-wrapper 11.0.82__tar.gz → 11.0.84__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 (679) hide show
  1. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.flake8 +1 -0
  2. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.gitignore +7 -8
  3. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.pre-commit-config.yaml +2 -2
  4. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/PKG-INFO +1 -1
  5. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/README.md +20 -31
  6. openshift_python_wrapper-11.0.84/class_generator/cli.py +560 -0
  7. openshift_python_wrapper-11.0.84/class_generator/constants.py +37 -0
  8. openshift_python_wrapper-11.0.84/class_generator/core/coverage.py +199 -0
  9. openshift_python_wrapper-11.0.84/class_generator/core/discovery.py +245 -0
  10. openshift_python_wrapper-11.0.84/class_generator/core/generator.py +247 -0
  11. openshift_python_wrapper-11.0.84/class_generator/core/schema.py +371 -0
  12. openshift_python_wrapper-11.0.84/class_generator/formatters/file_writer.py +106 -0
  13. openshift_python_wrapper-11.0.84/class_generator/formatters/template_renderer.py +63 -0
  14. openshift_python_wrapper-11.0.84/class_generator/parsers/explain_parser.py +157 -0
  15. openshift_python_wrapper-11.0.84/class_generator/parsers/type_parser.py +150 -0
  16. openshift_python_wrapper-11.0.84/class_generator/parsers/user_code_parser.py +101 -0
  17. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/test_parse_explain.j2 +3 -2
  18. openshift_python_wrapper-11.0.84/class_generator/tests/test_batch_regeneration.py +585 -0
  19. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/test_class_generator.py +3 -3
  20. openshift_python_wrapper-11.0.84/class_generator/tests/test_cli.py +250 -0
  21. openshift_python_wrapper-11.0.84/class_generator/tests/test_generation.py +81 -0
  22. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/test_resource_discovery.py +156 -178
  23. openshift_python_wrapper-11.0.84/class_generator/tests/test_user_code_parser.py +232 -0
  24. openshift_python_wrapper-11.0.84/class_generator/tests/test_utils.py +320 -0
  25. openshift_python_wrapper-11.0.84/class_generator/utils.py +242 -0
  26. openshift_python_wrapper-11.0.84/ocp_resources/pipeline.py +91 -0
  27. openshift_python_wrapper-11.0.84/ocp_resources/pipeline_run.py +89 -0
  28. openshift_python_wrapper-11.0.84/ocp_resources/task.py +107 -0
  29. openshift_python_wrapper-11.0.84/ocp_resources/task_run.py +135 -0
  30. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/utils/resource_constants.py +14 -0
  31. openshift_python_wrapper-11.0.84/pypi-dist/.gitignore +1 -0
  32. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/pyproject.toml +3 -3
  33. openshift_python_wrapper-11.0.84/scripts/__init__.py +0 -0
  34. openshift_python_wrapper-11.0.84/tests/__init__.py +0 -0
  35. openshift_python_wrapper-11.0.84/tests/scripts/__init__.py +0 -0
  36. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/scripts/generate_pytest_test.py +8 -226
  37. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/uv.lock +277 -123
  38. openshift_python_wrapper-11.0.82/.aider.chat.history.md +0 -2169
  39. openshift_python_wrapper-11.0.82/.aider.input.history +0 -51
  40. openshift_python_wrapper-11.0.82/.aider.tags.cache.v3/cache.db +0 -0
  41. openshift_python_wrapper-11.0.82/.local-dev/dev.py +0 -5
  42. openshift_python_wrapper-11.0.82/.tests_coverage/.gitignore +0 -2
  43. openshift_python_wrapper-11.0.82/.tests_coverage/class_index.html +0 -540
  44. openshift_python_wrapper-11.0.82/.tests_coverage/coverage_html_cb_6fb7b396.js +0 -733
  45. openshift_python_wrapper-11.0.82/.tests_coverage/favicon_32_cb_58284776.png +0 -0
  46. openshift_python_wrapper-11.0.82/.tests_coverage/function_index.html +0 -2243
  47. openshift_python_wrapper-11.0.82/.tests_coverage/index.html +0 -308
  48. openshift_python_wrapper-11.0.82/.tests_coverage/keybd_closed_cb_ce680311.png +0 -0
  49. openshift_python_wrapper-11.0.82/.tests_coverage/status.json +0 -1
  50. openshift_python_wrapper-11.0.82/.tests_coverage/style_cb_6b508a39.css +0 -377
  51. openshift_python_wrapper-11.0.82/.tests_coverage/style_cb_81f8c14c.css +0 -337
  52. openshift_python_wrapper-11.0.82/.tests_coverage/style_cb_8e611ae1.css +0 -337
  53. openshift_python_wrapper-11.0.82/.tests_coverage/z_135acb71669f5d91_test_camelcase_to_snake_py.html +0 -137
  54. openshift_python_wrapper-11.0.82/.tests_coverage/z_135acb71669f5d91_test_class_generator_py.html +0 -135
  55. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61___init___py.html +0 -126
  56. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61_configuration_py.html +0 -119
  57. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61_dynamic_client_py.html +0 -246
  58. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61_exceptions_py.html +0 -155
  59. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61_kubernetes_client_py.html +0 -150
  60. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61_resource_field_py.html +0 -217
  61. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61_resource_instance_py.html +0 -566
  62. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61_resource_manager_py.html +0 -174
  63. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61_resource_registry_py.html +0 -484
  64. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61_resource_storage_py.html +0 -297
  65. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61_status_schema_parser_py.html +0 -552
  66. openshift_python_wrapper-11.0.82/.tests_coverage/z_19665a6489547e61_status_templates_py.html +0 -421
  67. openshift_python_wrapper-11.0.82/.tests_coverage/z_1bcaa03a7ef87e06_constants_py.html +0 -129
  68. openshift_python_wrapper-11.0.82/.tests_coverage/z_1bcaa03a7ef87e06_resource_constants_py.html +0 -169
  69. openshift_python_wrapper-11.0.82/.tests_coverage/z_1bcaa03a7ef87e06_utils_py.html +0 -253
  70. openshift_python_wrapper-11.0.82/.tests_coverage/z_3b2beccc2057a243_explain_parser_py.html +0 -232
  71. openshift_python_wrapper-11.0.82/.tests_coverage/z_3b2beccc2057a243_type_parser_py.html +0 -247
  72. openshift_python_wrapper-11.0.82/.tests_coverage/z_3b2beccc2057a243_user_code_parser_py.html +0 -154
  73. openshift_python_wrapper-11.0.82/.tests_coverage/z_427be826a39fd312_class_generator_py.html +0 -184
  74. openshift_python_wrapper-11.0.82/.tests_coverage/z_427be826a39fd312_cli_py.html +0 -305
  75. openshift_python_wrapper-11.0.82/.tests_coverage/z_427be826a39fd312_constants_py.html +0 -134
  76. openshift_python_wrapper-11.0.82/.tests_coverage/z_427be826a39fd312_utils_py.html +0 -336
  77. openshift_python_wrapper-11.0.82/.tests_coverage/z_56958ebbae0b032c_tools_py.html +0 -217
  78. openshift_python_wrapper-11.0.82/.tests_coverage/z_6251850b9f9650b2_test_scripts_py.html +0 -104
  79. openshift_python_wrapper-11.0.82/.tests_coverage/z_82f8b9aabd15a88f_file_writer_py.html +0 -121
  80. openshift_python_wrapper-11.0.82/.tests_coverage/z_82f8b9aabd15a88f_template_renderer_py.html +0 -136
  81. openshift_python_wrapper-11.0.82/.tests_coverage/z_b0ed09eb658be1a0___init___py.html +0 -107
  82. openshift_python_wrapper-11.0.82/.tests_coverage/z_b0ed09eb658be1a0_example_client_py.html +0 -174
  83. openshift_python_wrapper-11.0.82/.tests_coverage/z_b0ed09eb658be1a0_server_py.html +0 -916
  84. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_aaq_py.html +0 -179
  85. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_api_server_py.html +0 -191
  86. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_api_service_py.html +0 -106
  87. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_application_aware_applied_cluster_resource_quota_py.html +0 -109
  88. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_application_aware_cluster_resource_quota_py.html +0 -138
  89. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_application_aware_resource_quota_py.html +0 -147
  90. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_authorino_py.html +0 -243
  91. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_backup_py.html +0 -154
  92. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_benchmark_py.html +0 -190
  93. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_catalog_source_py.html +0 -149
  94. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_cdi_config_py.html +0 -265
  95. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_cdi_py.html +0 -194
  96. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_chaos_engine_py.html +0 -128
  97. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_chaos_result_py.html +0 -108
  98. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_cluster_claim_py.html +0 -125
  99. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_cluster_deployment_py.html +0 -152
  100. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_cluster_operator_py.html +0 -102
  101. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_cluster_pool_py.html +0 -158
  102. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_cluster_role_binding_py.html +0 -140
  103. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_cluster_role_py.html +0 -125
  104. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_cluster_service_version_py.html +0 -128
  105. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_cluster_version_py.html +0 -102
  106. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_config_map_py.html +0 -162
  107. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_console_cli_download_py.html +0 -106
  108. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_console_plugin_py.html +0 -106
  109. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_console_quick_start_py.html +0 -106
  110. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_constants_py.html +0 -131
  111. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_controller_revision_py.html +0 -136
  112. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_cron_job_py.html +0 -164
  113. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_csi_driver_py.html +0 -276
  114. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_csi_storage_capacity_py.html +0 -145
  115. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_custom_resource_definition_py.html +0 -102
  116. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_daemonset_py.html +0 -155
  117. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_data_import_cron_py.html +0 -182
  118. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_data_science_cluster_py.html +0 -135
  119. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_data_source_py.html +0 -158
  120. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_datavolume_py.html +0 -446
  121. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_deployment_py.html +0 -266
  122. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_destination_rule_py.html +0 -108
  123. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_dns_config_openshift_io_py.html +0 -170
  124. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_dns_operator_openshift_io_py.html +0 -219
  125. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_dsc_initialization_py.html +0 -176
  126. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_endpoint_slice_py.html +0 -159
  127. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_endpoints_py.html +0 -156
  128. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_event_py.html +0 -210
  129. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_exceptions_py.html +0 -187
  130. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_fence_agent_remediation_templates_py.html +0 -161
  131. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_forklift_controller_py.html +0 -106
  132. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_gateway_py.html +0 -108
  133. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_group_py.html +0 -136
  134. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_hook_py.html +0 -146
  135. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_host_py.html +0 -157
  136. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_hostpath_provisioner_py.html +0 -147
  137. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_hyperconverged_py.html +0 -136
  138. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_image_caching_internal_knative_dev_py.html +0 -160
  139. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_image_config_openshift_io_py.html +0 -174
  140. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_image_content_source_policy_py.html +0 -154
  141. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_image_digest_mirror_set_py.html +0 -128
  142. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_image_image_openshift_io_py.html +0 -231
  143. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_image_stream_py.html +0 -142
  144. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_imagestreamtag_py.html +0 -106
  145. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_inference_service_py.html +0 -147
  146. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_infrastructure_py.html +0 -115
  147. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_ingress_controller_py.html +0 -318
  148. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_installplan_py.html +0 -102
  149. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_ip_address_pool_py.html +0 -151
  150. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_job_py.html +0 -192
  151. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_kube_descheduler_py.html +0 -208
  152. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_kubevirt_py.html +0 -264
  153. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_l2_advertisement_py.html +0 -151
  154. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_lease_py.html +0 -166
  155. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_limit_range_py.html +0 -127
  156. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_lm_eval_job_py.html +0 -236
  157. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_machine_config_pool_py.html +0 -177
  158. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_machine_config_py.html +0 -190
  159. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_machine_health_check_py.html +0 -171
  160. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_machine_py.html +0 -203
  161. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_machine_set_py.html +0 -282
  162. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_managed_cluster_py.html +0 -107
  163. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_maria_db_py.html +0 -559
  164. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_mariadb_operator_py.html +0 -239
  165. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_metallb_py.html +0 -150
  166. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_migration_policy_py.html +0 -157
  167. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_migration_py.html +0 -154
  168. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_model_registry_py.html +0 -183
  169. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_mtq_py.html +0 -207
  170. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_mtv_py.html +0 -248
  171. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_multi_cluster_hub_py.html +0 -106
  172. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_multi_cluster_observability_py.html +0 -152
  173. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_multi_network_policy_py.html +0 -153
  174. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_mutating_webhook_config_py.html +0 -106
  175. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_namespace_py.html +0 -137
  176. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_network_addons_config_py.html +0 -106
  177. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_network_attachment_definition_py.html +0 -343
  178. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_network_config_openshift_io_py.html +0 -188
  179. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_network_map_py.html +0 -177
  180. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_network_operator_openshift_io_py.html +0 -289
  181. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_network_policy_py.html +0 -106
  182. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_nm_state_py.html +0 -194
  183. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_node_config_openshift_io_py.html +0 -144
  184. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_node_health_check_py.html +0 -177
  185. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_node_maintenance_py.html +0 -137
  186. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_node_network_configuration_enactment_py.html +0 -117
  187. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_node_network_configuration_policy_py.html +0 -546
  188. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_node_network_state_py.html +0 -209
  189. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_node_py.html +0 -211
  190. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_oauth_py.html +0 -152
  191. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_ocs_initialization_py.html +0 -145
  192. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_operator_condition_py.html +0 -102
  193. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_operator_group_py.html +0 -134
  194. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_operator_hub_py.html +0 -102
  195. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_operator_py.html +0 -117
  196. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_operator_source_py.html +0 -145
  197. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_package_manifest_py.html +0 -102
  198. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_peer_authentication_py.html +0 -115
  199. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_performance_profile_py.html +0 -189
  200. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_persistent_volume_claim_py.html +0 -212
  201. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_persistent_volume_py.html +0 -118
  202. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_pipeline_py.html +0 -142
  203. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_pipelineruns_py.html +0 -140
  204. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_plan_py.html +0 -221
  205. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_pod_disruption_budget_py.html +0 -150
  206. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_pod_metrics_py.html +0 -107
  207. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_pod_py.html +0 -652
  208. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_priority_class_py.html +0 -145
  209. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_project_config_openshift_io_py.html +0 -147
  210. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_project_project_openshift_io_py.html +0 -142
  211. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_project_request_py.html +0 -145
  212. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_prometheus_py.html +0 -1308
  213. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_prometheus_rule_py.html +0 -106
  214. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_provider_py.html +0 -138
  215. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_proxy_py.html +0 -157
  216. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_reclaim_space_cron_job_py.html +0 -150
  217. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_reclaim_space_job_py.html +0 -147
  218. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_replica_set_py.html +0 -168
  219. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_resource_py.html +0 -2109
  220. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_resource_quota_py.html +0 -142
  221. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_restore_py.html +0 -147
  222. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_rhmi_py.html +0 -140
  223. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_role_binding_py.html +0 -164
  224. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_role_py.html +0 -153
  225. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_route_py.html +0 -171
  226. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_scheduler_py.html +0 -190
  227. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_sealed_secret_py.html +0 -150
  228. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_secret_py.html +0 -170
  229. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_security_context_constraints_py.html +0 -359
  230. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_self_node_remediation_templates_py.html +0 -133
  231. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_service_account_py.html +0 -155
  232. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_service_mesh_control_plane_py.html +0 -108
  233. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_service_mesh_member_py.html +0 -138
  234. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_service_mesh_member_roll_py.html +0 -111
  235. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_service_monitor_py.html +0 -106
  236. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_service_py.html +0 -483
  237. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_service_serving_knative_dev_py.html +0 -146
  238. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_serving_runtime_py.html +0 -257
  239. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_sriov_network_node_policy_py.html +0 -162
  240. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_sriov_network_node_state_py.html +0 -149
  241. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_sriov_network_py.html +0 -151
  242. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_ssp_py.html +0 -183
  243. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_storage_class_py.html +0 -217
  244. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_storage_map_py.html +0 -180
  245. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_storage_profile_py.html +0 -136
  246. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_subscription_py.html +0 -159
  247. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_task_py.html +0 -173
  248. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_task_run_py.html +0 -161
  249. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_tekton_tasks_py.html +0 -106
  250. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_template_py.html +0 -166
  251. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_trustyai_service_py.html +0 -159
  252. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_upload_token_request_py.html +0 -136
  253. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_user_defined_network_py.html +0 -304
  254. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_utils_py.html +0 -152
  255. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_validating_webhook_config_py.html +0 -106
  256. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_clone_py.html +0 -164
  257. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_cluster_instancetype_py.html +0 -203
  258. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_cluster_preference_py.html +0 -223
  259. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_export_py.html +0 -159
  260. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_import_py.html +0 -372
  261. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_instance_migration_py.html +0 -137
  262. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_instance_preset_py.html +0 -149
  263. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_instance_py.html +0 -425
  264. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_instance_replica_set_py.html +0 -161
  265. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_instancetype_py.html +0 -204
  266. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_migration_resource_quota_py.html +0 -143
  267. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_preference_py.html +0 -223
  268. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_py.html +0 -287
  269. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_restore_py.html +0 -201
  270. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_machine_snapshot_py.html +0 -198
  271. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_virtual_service_py.html +0 -108
  272. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_vm_import_config_py.html +0 -106
  273. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_volume_snapshot_class_py.html +0 -157
  274. openshift_python_wrapper-11.0.82/.tests_coverage/z_f68db28afc5f7ebd_volume_snapshot_py.html +0 -156
  275. openshift_python_wrapper-11.0.82/.tests_coverage/z_f752d4c0acd10ffd_coverage_py.html +0 -294
  276. openshift_python_wrapper-11.0.82/.tests_coverage/z_f752d4c0acd10ffd_discovery_py.html +0 -334
  277. openshift_python_wrapper-11.0.82/.tests_coverage/z_f752d4c0acd10ffd_generator_py.html +0 -306
  278. openshift_python_wrapper-11.0.82/.tests_coverage/z_f752d4c0acd10ffd_schema_py.html +0 -343
  279. openshift_python_wrapper-11.0.82/.vscode/settings.json +0 -3
  280. openshift_python_wrapper-11.0.82/class_generator/class_generator.py +0 -1541
  281. openshift_python_wrapper-11.0.82/ocp_resources/pipeline.py +0 -45
  282. openshift_python_wrapper-11.0.82/ocp_resources/pipelineruns.py +0 -43
  283. openshift_python_wrapper-11.0.82/ocp_resources/task.py +0 -78
  284. openshift_python_wrapper-11.0.82/ocp_resources/task_run.py +0 -64
  285. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.coderabbit.yaml +0 -0
  286. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.dockerignore +0 -0
  287. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.gitattributes +0 -0
  288. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  289. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  290. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.github/pull_request_template.md +0 -0
  291. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.github/weekly-digest.yml +0 -0
  292. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.github/workflows/close-stale-issues.yml +0 -0
  293. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.github/workflows/code-check.yml.old +0 -0
  294. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.gitleaks.toml +0 -0
  295. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.readthedocs.yaml +0 -0
  296. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.release-it.json +0 -0
  297. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/.sonarcloud.properties +0 -0
  298. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/CONTRIBUTING.md +0 -0
  299. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/LICENSE +0 -0
  300. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/Makefile +0 -0
  301. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/OWNERS +0 -0
  302. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/README.md +0 -0
  303. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/VERSION +0 -0
  304. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/__init__.py +0 -0
  305. {openshift_python_wrapper-11.0.82/ocp_resources → openshift_python_wrapper-11.0.84/class_generator/core}/__init__.py +0 -0
  306. {openshift_python_wrapper-11.0.82/ocp_resources/utils → openshift_python_wrapper-11.0.84/class_generator/formatters}/__init__.py +0 -0
  307. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/manifests/class_generator_template.j2 +0 -0
  308. {openshift_python_wrapper-11.0.82/scripts → openshift_python_wrapper-11.0.84/class_generator/parsers}/__init__.py +0 -0
  309. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/py.typed +0 -0
  310. {openshift_python_wrapper-11.0.82/class_generator → openshift_python_wrapper-11.0.84/class_generator/schema}/__cluster_version__.txt +0 -0
  311. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/schema/__resources-mappings.json +0 -0
  312. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/schema/_definitions.json +0 -0
  313. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/APIServer/api_server.py +0 -0
  314. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/ClusterOperator/cluster_operator.py +0 -0
  315. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/ConfigMap/config_map.py +0 -0
  316. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/DNS/dns_config_openshift_io.py +0 -0
  317. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/DNS/dns_operator_openshift_io.py +0 -0
  318. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/Deployment/deployment.py +0 -0
  319. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/Image/image_caching_internal_knative_dev.py +0 -0
  320. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/Image/image_config_openshift_io.py +0 -0
  321. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/Image/image_image_openshift_io.py +0 -0
  322. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/ImageContentSourcePolicy/image_content_source_policy.py +0 -0
  323. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/Machine/machine.py +0 -0
  324. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/NMState/nm_state.py +0 -0
  325. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/OAuth/oauth.py +0 -0
  326. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/Pipeline/pipeline.py +0 -0
  327. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/Pod/pod.py +0 -0
  328. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/Secret/secret.py +0 -0
  329. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/ServiceMeshMember/service_mesh_member.py +0 -0
  330. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/class_generator/tests/manifests/ServingRuntime/serving_runtime.py +0 -0
  331. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/docs/Makefile +0 -0
  332. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/docs/conf.py +0 -0
  333. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/docs/index.rst +0 -0
  334. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/docs/modules.rst +0 -0
  335. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/docs/ocp_resources.rst +0 -0
  336. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/examples/general.py +0 -0
  337. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/examples/node_network_configuration_policy.py +0 -0
  338. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/examples/pods.py +0 -0
  339. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/examples/resource_list.py +0 -0
  340. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/examples/role.py +0 -0
  341. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/examples/special_cases.py +0 -0
  342. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/examples/validation_demo.py +0 -0
  343. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/examples/validation_troubleshooting.py +0 -0
  344. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/examples/virtual_machine.py +0 -0
  345. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/README.md +0 -0
  346. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/__init__.py +0 -0
  347. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/configuration.py +0 -0
  348. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/dynamic_client.py +0 -0
  349. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/exceptions.py +0 -0
  350. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/kubernetes_client.py +0 -0
  351. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/resource_field.py +0 -0
  352. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/resource_instance.py +0 -0
  353. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/resource_manager.py +0 -0
  354. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/resource_registry.py +0 -0
  355. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/resource_storage.py +0 -0
  356. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/status_schema_parser.py +0 -0
  357. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/status_templates.py +0 -0
  358. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/fake_kubernetes_client/types.py +0 -0
  359. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/mcp_server/README.md +0 -0
  360. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/mcp_server/__init__.py +0 -0
  361. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/mcp_server/example_client.py +0 -0
  362. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/mcp_server/server-info.json +0 -0
  363. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/mcp_server/server.py +0 -0
  364. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/mcp_server/tests/__init__.py +0 -0
  365. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/mcp_server/tests/test_server.py +0 -0
  366. {openshift_python_wrapper-11.0.82/tests → openshift_python_wrapper-11.0.84/ocp_resources}/__init__.py +0 -0
  367. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/aaq.py +0 -0
  368. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/api_server.py +0 -0
  369. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/api_service.py +0 -0
  370. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/application_aware_applied_cluster_resource_quota.py +0 -0
  371. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/application_aware_cluster_resource_quota.py +0 -0
  372. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/application_aware_resource_quota.py +0 -0
  373. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/authorino.py +0 -0
  374. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/backup.py +0 -0
  375. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/benchmark.py +0 -0
  376. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/catalog_source.py +0 -0
  377. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cdi.py +0 -0
  378. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cdi_config.py +0 -0
  379. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/chaos_engine.py +0 -0
  380. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/chaos_result.py +0 -0
  381. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cluster_claim.py +0 -0
  382. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cluster_deployment.py +0 -0
  383. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cluster_operator.py +0 -0
  384. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cluster_pool.py +0 -0
  385. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cluster_resource_quota.py +0 -0
  386. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cluster_role.py +0 -0
  387. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cluster_role_binding.py +0 -0
  388. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cluster_service_version.py +0 -0
  389. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cluster_user_defined_network.py +0 -0
  390. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cluster_version.py +0 -0
  391. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/config_map.py +0 -0
  392. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/console_cli_download.py +0 -0
  393. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/console_config_openshift_io.py +0 -0
  394. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/console_operator_openshift_io.py +0 -0
  395. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/console_plugin.py +0 -0
  396. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/console_quick_start.py +0 -0
  397. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/controller_revision.py +0 -0
  398. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/cron_job.py +0 -0
  399. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/csi_driver.py +0 -0
  400. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/csi_storage_capacity.py +0 -0
  401. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/custom_resource_definition.py +0 -0
  402. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/daemonset.py +0 -0
  403. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/data_import_cron.py +0 -0
  404. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/data_science_cluster.py +0 -0
  405. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/data_source.py +0 -0
  406. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/datavolume.py +0 -0
  407. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/deployment.py +0 -0
  408. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/destination_rule.py +0 -0
  409. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/direct_volume_migration.py +0 -0
  410. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/direct_volume_migration_progress.py +0 -0
  411. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/dns_config_openshift_io.py +0 -0
  412. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/dns_operator_openshift_io.py +0 -0
  413. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/dsc_initialization.py +0 -0
  414. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/endpoint_slice.py +0 -0
  415. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/endpoints.py +0 -0
  416. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/event.py +0 -0
  417. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/exceptions.py +0 -0
  418. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/fence_agent_remediation_templates.py +0 -0
  419. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/forklift_controller.py +0 -0
  420. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/gateway.py +0 -0
  421. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/group.py +0 -0
  422. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/guardrails_orchestrator.py +0 -0
  423. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/hook.py +0 -0
  424. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/host.py +0 -0
  425. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/hostpath_provisioner.py +0 -0
  426. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/hyperconverged.py +0 -0
  427. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/image_caching_internal_knative_dev.py +0 -0
  428. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/image_config_openshift_io.py +0 -0
  429. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/image_content_source_policy.py +0 -0
  430. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/image_digest_mirror_set.py +0 -0
  431. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/image_image_openshift_io.py +0 -0
  432. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/image_stream.py +0 -0
  433. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/imagestreamtag.py +0 -0
  434. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/inference_graph.py +0 -0
  435. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/inference_service.py +0 -0
  436. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/infrastructure.py +0 -0
  437. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/ingress_controller.py +0 -0
  438. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/installplan.py +0 -0
  439. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/ip_address_pool.py +0 -0
  440. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/job.py +0 -0
  441. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/kube_descheduler.py +0 -0
  442. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/kubelet_config.py +0 -0
  443. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/kubevirt.py +0 -0
  444. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/l2_advertisement.py +0 -0
  445. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/lease.py +0 -0
  446. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/limit_range.py +0 -0
  447. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/llama_stack_distribution.py +0 -0
  448. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/lm_eval_job.py +0 -0
  449. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/machine.py +0 -0
  450. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/machine_config.py +0 -0
  451. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/machine_config_pool.py +0 -0
  452. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/machine_health_check.py +0 -0
  453. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/machine_set.py +0 -0
  454. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/managed_cluster.py +0 -0
  455. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/maria_db.py +0 -0
  456. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/mariadb_operator.py +0 -0
  457. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/metallb.py +0 -0
  458. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/mig_analytic.py +0 -0
  459. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/mig_cluster.py +0 -0
  460. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/mig_migration.py +0 -0
  461. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/mig_plan.py +0 -0
  462. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/migration.py +0 -0
  463. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/migration_policy.py +0 -0
  464. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/model_registry.py +0 -0
  465. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/model_registry_components_platform_opendatahub_io.py +0 -0
  466. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/model_registry_modelregistry_opendatahub_io.py +0 -0
  467. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/mtq.py +0 -0
  468. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/multi_cluster_hub.py +0 -0
  469. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/multi_cluster_observability.py +0 -0
  470. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/multi_network_policy.py +0 -0
  471. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/mutating_webhook_config.py +0 -0
  472. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/namespace.py +0 -0
  473. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/network_addons_config.py +0 -0
  474. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/network_attachment_definition.py +0 -0
  475. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/network_config_openshift_io.py +0 -0
  476. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/network_map.py +0 -0
  477. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/network_operator_openshift_io.py +0 -0
  478. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/network_policy.py +0 -0
  479. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/nm_state.py +0 -0
  480. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/node.py +0 -0
  481. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/node_config_openshift_io.py +0 -0
  482. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/node_health_check.py +0 -0
  483. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/node_maintenance.py +0 -0
  484. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/node_network_configuration_enactment.py +0 -0
  485. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/node_network_configuration_policy.py +0 -0
  486. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/node_network_configuration_policy_latest.py +0 -0
  487. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/node_network_state.py +0 -0
  488. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/notebook.py +0 -0
  489. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/oauth.py +0 -0
  490. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/ocs_initialization.py +0 -0
  491. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/operator.py +0 -0
  492. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/operator_condition.py +0 -0
  493. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/operator_group.py +0 -0
  494. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/operator_hub.py +0 -0
  495. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/operator_source.py +0 -0
  496. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/package_manifest.py +0 -0
  497. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/peer_authentication.py +0 -0
  498. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/performance_profile.py +0 -0
  499. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/persistent_volume.py +0 -0
  500. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/persistent_volume_claim.py +0 -0
  501. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/plan.py +0 -0
  502. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/pod.py +0 -0
  503. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/pod_disruption_budget.py +0 -0
  504. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/pod_metrics.py +0 -0
  505. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/priority_class.py +0 -0
  506. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/project_config_openshift_io.py +0 -0
  507. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/project_project_openshift_io.py +0 -0
  508. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/project_request.py +0 -0
  509. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/prometheus.py +0 -0
  510. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/prometheus_rule.py +0 -0
  511. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/provider.py +0 -0
  512. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/proxy.py +0 -0
  513. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/py.typed +0 -0
  514. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/reclaim_space_cron_job.py +0 -0
  515. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/reclaim_space_job.py +0 -0
  516. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/replica_set.py +0 -0
  517. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/resource.py +0 -0
  518. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/resource_quota.py +0 -0
  519. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/restore.py +0 -0
  520. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/rhmi.py +0 -0
  521. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/role.py +0 -0
  522. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/role_binding.py +0 -0
  523. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/route.py +0 -0
  524. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/scheduler.py +0 -0
  525. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/sealed_secret.py +0 -0
  526. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/secret.py +0 -0
  527. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/security_context_constraints.py +0 -0
  528. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/self_node_remediation_templates.py +0 -0
  529. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/self_subject_review.py +0 -0
  530. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/service.py +0 -0
  531. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/service_account.py +0 -0
  532. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/service_mesh_control_plane.py +0 -0
  533. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/service_mesh_member.py +0 -0
  534. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/service_mesh_member_roll.py +0 -0
  535. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/service_monitor.py +0 -0
  536. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/service_serving_knative_dev.py +0 -0
  537. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/serving_runtime.py +0 -0
  538. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/snapshot.py +0 -0
  539. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/sriov_network.py +0 -0
  540. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/sriov_network_node_policy.py +0 -0
  541. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/sriov_network_node_state.py +0 -0
  542. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/ssp.py +0 -0
  543. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/storage_class.py +0 -0
  544. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/storage_cluster.py +0 -0
  545. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/storage_map.py +0 -0
  546. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/storage_profile.py +0 -0
  547. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/subscription.py +0 -0
  548. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/tekton_tasks.py +0 -0
  549. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/template.py +0 -0
  550. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/trustyai_service.py +0 -0
  551. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/upload_token_request.py +0 -0
  552. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/user.py +0 -0
  553. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/user_defined_network.py +0 -0
  554. {openshift_python_wrapper-11.0.82/tests/scripts → openshift_python_wrapper-11.0.84/ocp_resources/utils}/__init__.py +0 -0
  555. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/utils/constants.py +0 -0
  556. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/utils/schema_validator.py +0 -0
  557. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/utils/utils.py +0 -0
  558. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/validating_webhook_config.py +0 -0
  559. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine.py +0 -0
  560. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_clone.py +0 -0
  561. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_cluster_instancetype.py +0 -0
  562. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_cluster_preference.py +0 -0
  563. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_export.py +0 -0
  564. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_import.py +0 -0
  565. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_instance.py +0 -0
  566. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_instance_migration.py +0 -0
  567. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_instance_preset.py +0 -0
  568. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_instance_replica_set.py +0 -0
  569. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_instancetype.py +0 -0
  570. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_migration_resource_quota.py +0 -0
  571. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_preference.py +0 -0
  572. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_restore.py +0 -0
  573. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_machine_snapshot.py +0 -0
  574. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/virtual_service.py +0 -0
  575. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/vm_import_config.py +0 -0
  576. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/volume_snapshot.py +0 -0
  577. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/ocp_resources/volume_snapshot_class.py +0 -0
  578. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/renovate.json +0 -0
  579. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/scripts/diff-from-latest-release.sh +0 -0
  580. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/scripts/diff-from-tag.sh +0 -0
  581. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/scripts/generate_changelog.py +0 -0
  582. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/scripts/get-latest-release.sh +0 -0
  583. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/sonar-project.properties +0 -0
  584. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/conftest.py +0 -0
  585. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/fixtures/validation_schemas.py +0 -0
  586. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/manifests/vm.yaml +0 -0
  587. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/scripts/validate_resources.py +0 -0
  588. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_api_group_order.py +0 -0
  589. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_camelcase_to_snake.py +0 -0
  590. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resource.py +0 -0
  591. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resource_validation.py +0 -0
  592. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_aaq.py +0 -0
  593. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_api_server.py +0 -0
  594. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_authorino.py +0 -0
  595. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_cdi.py +0 -0
  596. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_cdi_config.py +0 -0
  597. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_cluster_resource_quota.py +0 -0
  598. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_cluster_user_defined_network.py +0 -0
  599. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_config_map.py +0 -0
  600. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_console_config_openshift_io.py +0 -0
  601. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_console_operator_openshift_io.py +0 -0
  602. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_csi_driver.py +0 -0
  603. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_data_import_cron.py +0 -0
  604. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_data_science_cluster.py +0 -0
  605. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_deployment.py +0 -0
  606. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_direct_volume_migration.py +0 -0
  607. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_direct_volume_migration_progress.py +0 -0
  608. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_dns_config_openshift_io.py +0 -0
  609. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_dns_operator_openshift_io.py +0 -0
  610. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_dsc_initialization.py +0 -0
  611. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_group.py +0 -0
  612. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_guardrails_orchestrator.py +0 -0
  613. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_image_caching_internal_knative_dev.py +0 -0
  614. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_image_config_openshift_io.py +0 -0
  615. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_image_content_source_policy.py +0 -0
  616. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_image_image_openshift_io.py +0 -0
  617. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_inference_graph.py +0 -0
  618. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_kube_descheduler.py +0 -0
  619. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_kubelet_config.py +0 -0
  620. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_kubevirt.py +0 -0
  621. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_llama_stack_distribution.py +0 -0
  622. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_lm_eval_job.py +0 -0
  623. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_machine.py +0 -0
  624. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_maria_db.py +0 -0
  625. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_mariadb_operator.py +0 -0
  626. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_mig_analytic.py +0 -0
  627. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_mig_cluster.py +0 -0
  628. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_mig_migration.py +0 -0
  629. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_mig_plan.py +0 -0
  630. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_model_registry.py +0 -0
  631. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_model_registry_components_platform_opendatahub_io.py +0 -0
  632. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_model_registry_modelregistry_opendatahub_io.py +0 -0
  633. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_mtq.py +0 -0
  634. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_namespace.py +0 -0
  635. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_network_config_openshift_io.py +0 -0
  636. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_network_operator_openshift_io.py +0 -0
  637. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_nm_state.py +0 -0
  638. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_node.py +0 -0
  639. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_node_config_openshift_io.py +0 -0
  640. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_node_network_configuration_policy_latest.py +0 -0
  641. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_notebook.py +0 -0
  642. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_oauth.py +0 -0
  643. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_operator.py +0 -0
  644. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_pod.py +0 -0
  645. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_pod_metrics.py +0 -0
  646. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_project_config_openshift_io.py +0 -0
  647. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_project_project_openshift_io.py +0 -0
  648. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_project_request.py +0 -0
  649. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_prometheus.py +0 -0
  650. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_replica_set.py +0 -0
  651. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_scheduler.py +0 -0
  652. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_security_context_constraints.py +0 -0
  653. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_self_subject_review.py +0 -0
  654. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_service.py +0 -0
  655. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_service_mesh_member.py +0 -0
  656. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_service_serving_knative_dev.py +0 -0
  657. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_serving_runtime.py +0 -0
  658. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_snapshot.py +0 -0
  659. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_ssp.py +0 -0
  660. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_storage_cluster.py +0 -0
  661. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_user.py +0 -0
  662. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_user_defined_network.py +0 -0
  663. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_virtual_machine_cluster_instancetype.py +0 -0
  664. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_virtual_machine_cluster_preference.py +0 -0
  665. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_virtual_machine_export.py +0 -0
  666. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_virtual_machine_instance_migration.py +0 -0
  667. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_virtual_machine_instance_preset.py +0 -0
  668. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_virtual_machine_instance_replica_set.py +0 -0
  669. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_virtual_machine_instancetype.py +0 -0
  670. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_virtual_machine_preference.py +0 -0
  671. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_volume_snapshot.py +0 -0
  672. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_resources/test_volume_snapshot_class.py +0 -0
  673. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_schema_loading.py +0 -0
  674. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_unittests.py +0 -0
  675. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_validate_resources.py +0 -0
  676. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_validate_resources_script.py +0 -0
  677. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/test_validation_error.py +0 -0
  678. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tests/utils.py +0 -0
  679. {openshift_python_wrapper-11.0.82 → openshift_python_wrapper-11.0.84}/tox.toml +0 -0
@@ -72,6 +72,7 @@ fcn_exclude_functions =
72
72
  __class__,
73
73
  cls,
74
74
  validate,
75
+ relative_to,
75
76
 
76
77
  enable-extensions =
77
78
  FCN,
@@ -1,14 +1,6 @@
1
1
  # Temporary files
2
2
  _out
3
3
 
4
- # Generated OpenAPI files
5
- class_generator/__k8s-openapi-*.json
6
-
7
- # Generated schema files (except the two needed for distribution)
8
- class_generator/schema/*.json
9
- !class_generator/schema/__resources-mappings.json
10
- !class_generator/schema/_definitions.json
11
- class_generator/schema/__not-kind.txt
12
4
 
13
5
  # Created by .ignore support plugin (hsz.mobi)
14
6
  ### Python template
@@ -142,3 +134,10 @@ package-lock.json
142
134
  CLAUDE.md
143
135
  .agent-os/
144
136
  .cursorrules
137
+ .claude/
138
+
139
+ # VS Code settings
140
+ .vscode/
141
+
142
+ # Backup directories
143
+ .backups/
@@ -45,7 +45,7 @@ repos:
45
45
  ]
46
46
 
47
47
  - repo: https://github.com/astral-sh/ruff-pre-commit
48
- rev: v0.12.5
48
+ rev: v0.12.7
49
49
  hooks:
50
50
  - id: ruff
51
51
  - id: ruff-format
@@ -56,7 +56,7 @@ repos:
56
56
  - id: gitleaks
57
57
 
58
58
  - repo: https://github.com/pre-commit/mirrors-mypy
59
- rev: v1.17.0
59
+ rev: v1.17.1
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: 11.0.82
3
+ Version: 11.0.84
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/
@@ -50,6 +50,26 @@ class-generator --kind <kind>
50
50
  - `OATH` -> `oath`
51
51
  - `CDIConfig` -> `cdi_config`
52
52
 
53
+ ### Overwriting existing files
54
+
55
+ When regenerating or updating existing resource files, you can use the `--overwrite` flag along with `--backup` to create a backup of existing files before overwriting them:
56
+
57
+ ```bash
58
+ class-generator --kind <kind> --overwrite --backup
59
+ ```
60
+
61
+ This creates a timestamped backup in `.backups/backup-YYYYMMDD-HHMMSS/` preserving the original directory structure of your files.
62
+
63
+ ### Batch regeneration with backup
64
+
65
+ When regenerating all resources, backups are also stored in the unified `.backups/` directory:
66
+
67
+ ```bash
68
+ class-generator --regenerate-all --backup
69
+ ```
70
+
71
+ All backups preserve the original directory structure, making it easy to restore specific files or entire directories if needed.
72
+
53
73
  ### Discovering missing resources
54
74
 
55
75
  The class-generator can automatically discover resources in your cluster that don't have wrapper classes yet. Resource discovery runs in parallel for improved performance, typically reducing discovery time by 3-5x compared to sequential discovery.
@@ -149,35 +169,4 @@ cd openshift-python-wrapper
149
169
 
150
170
  - Login to the cluster use admin user and password.
151
171
 
152
- ```bash
153
- oc login <clster api URL> -u <username> -p <password>
154
172
  ```
155
-
156
- - Execute the command:
157
-
158
- ```bash
159
- class-generator --update-schema
160
- ```
161
-
162
- The schema update process:
163
- - Fetches schemas directly from the OpenAPI v3 endpoint
164
- - Runs in parallel for improved performance
165
- - Stores schemas in `class_generator/schema/__resources-mappings.json` and `class_generator/schema/_definitions.json`
166
-
167
- ## Version Selection
168
-
169
- When multiple API versions exist for the same resource within an API group, the class generator automatically selects the latest stable version according to this precedence:
170
-
171
- `v2` > `v1` > `v1beta2` > `v1beta1` > `v1alpha2` > `v1alpha1`
172
-
173
- For example:
174
- - If both `v1` and `v1beta1` exist, `v1` will be used
175
- - Resources from different API groups are treated as separate resources
176
-
177
- ## Python Keyword Handling
178
-
179
- Fields that conflict with Python reserved keywords are automatically renamed by appending an underscore. The original field name is preserved in the API calls.
180
-
181
- Example:
182
- - CRD field `finally` → Python parameter `finally_`
183
- - The generated `to_dict()` method correctly maps back to `finally` for API operations
@@ -0,0 +1,560 @@
1
+ """Command-line interface for the class generator."""
2
+
3
+ import fnmatch
4
+ import shutil
5
+ import sys
6
+ from concurrent.futures import Future, ThreadPoolExecutor, as_completed
7
+ from datetime import datetime
8
+ from pathlib import Path
9
+ from typing import Any
10
+
11
+ import cloup
12
+ from cloup.constraints import If, IsSet, accept_none, require_one
13
+ from simple_logger.logger import get_logger
14
+
15
+ from class_generator.constants import TESTS_MANIFESTS_DIR
16
+ from class_generator.core.coverage import analyze_coverage, generate_report
17
+ from class_generator.core.discovery import discover_generated_resources
18
+ from class_generator.core.generator import class_generator
19
+ from class_generator.core.schema import update_kind_schema
20
+ from class_generator.tests.test_generation import generate_class_generator_tests
21
+ from ocp_resources.utils.utils import convert_camel_case_to_snake_case
22
+
23
+ LOGGER = get_logger(name=__name__)
24
+
25
+
26
+ def validate_actions(
27
+ kind: str | None,
28
+ update_schema: bool,
29
+ discover_missing: bool,
30
+ coverage_report: bool,
31
+ generate_missing: bool,
32
+ regenerate_all: bool,
33
+ ) -> None:
34
+ """Validate that at least one action is specified."""
35
+ actions = [kind, update_schema, discover_missing, coverage_report, generate_missing, regenerate_all]
36
+ if not any(actions):
37
+ LOGGER.error(
38
+ "At least one action must be specified (--kind, --update-schema, --discover-missing, --coverage-report, --generate-missing, or --regenerate-all)"
39
+ )
40
+ sys.exit(1)
41
+
42
+
43
+ def handle_schema_update(update_schema: bool, generate_missing: bool) -> bool:
44
+ """
45
+ Handle schema update operations.
46
+
47
+ Args:
48
+ update_schema: Whether to update the schema
49
+ generate_missing: Whether to generate missing resources after update
50
+
51
+ Returns:
52
+ True if processing should continue, False if it should exit
53
+ """
54
+ if update_schema:
55
+ LOGGER.info("Updating resource schema...")
56
+ update_kind_schema()
57
+
58
+ # If only updating schema (not generating), exit
59
+ if not generate_missing:
60
+ return False
61
+
62
+ LOGGER.info("Schema updated. Proceeding with resource generation...")
63
+
64
+ return True
65
+
66
+
67
+ def handle_coverage_analysis_and_reporting(
68
+ coverage_report: bool,
69
+ discover_missing: bool,
70
+ generate_missing: bool,
71
+ json_output: bool,
72
+ ) -> dict[str, Any]:
73
+ """
74
+ Handle coverage analysis and reporting.
75
+
76
+ Args:
77
+ coverage_report: Whether to generate a coverage report
78
+ discover_missing: Whether to discover missing resources
79
+ generate_missing: Whether to generate missing resources
80
+ json_output: Whether to output in JSON format
81
+
82
+ Returns:
83
+ Coverage analysis data
84
+ """
85
+ # Analyze coverage (now based on schema mapping, not cluster discovery)
86
+ coverage_analysis = analyze_coverage()
87
+
88
+ # Generate report if requested
89
+ if coverage_report or discover_missing or generate_missing:
90
+ output_format = "json" if json_output else None
91
+ report = generate_report(coverage_data=coverage_analysis, output_format=output_format)
92
+ if report is not None: # Only print if report is not None (json format)
93
+ print(report)
94
+
95
+ return coverage_analysis
96
+
97
+
98
+ def handle_missing_resources_generation(
99
+ generate_missing: bool,
100
+ coverage_analysis: dict[str, Any],
101
+ overwrite: bool,
102
+ dry_run: bool,
103
+ ) -> None:
104
+ """
105
+ Handle generation of missing resources.
106
+
107
+ Args:
108
+ generate_missing: Whether to generate missing resources
109
+ coverage_analysis: Coverage analysis data containing missing resources
110
+ overwrite: Whether to overwrite existing files
111
+ dry_run: Whether this is a dry run
112
+ """
113
+ if generate_missing and coverage_analysis["missing_resources"]:
114
+ LOGGER.info(f"Generating {len(coverage_analysis['missing_resources'])} missing resources...")
115
+ for resource_kind in coverage_analysis["missing_resources"]:
116
+ # Extract kind from dict (missing_resources entries are now always dicts)
117
+ kind_to_generate = resource_kind["kind"]
118
+
119
+ try:
120
+ class_generator(
121
+ kind=kind_to_generate,
122
+ output_file="",
123
+ overwrite=overwrite,
124
+ add_tests=False,
125
+ dry_run=dry_run,
126
+ )
127
+ if not dry_run:
128
+ LOGGER.info(f"Generated {kind_to_generate}")
129
+ except Exception as e:
130
+ LOGGER.error(f"Failed to generate {kind_to_generate}: {e}")
131
+
132
+
133
+ def create_backup_if_needed(target_file: Path, backup_dir: Path | None) -> None:
134
+ """
135
+ Create a backup of the target file if backup_dir is set and file exists.
136
+
137
+ Args:
138
+ target_file: The file to backup
139
+ backup_dir: The directory where backups should be stored
140
+ """
141
+ if backup_dir and target_file.exists():
142
+ # Preserve directory structure in backup
143
+ if target_file.is_absolute():
144
+ try:
145
+ relative_path = target_file.relative_to(Path.cwd())
146
+ except ValueError:
147
+ # File is outside current directory, use just the filename
148
+ relative_path = Path(target_file.name)
149
+ else:
150
+ # Path is already relative, use as-is
151
+ relative_path = target_file
152
+ backup_path = backup_dir / relative_path
153
+ backup_path.parent.mkdir(parents=True, exist_ok=True)
154
+ shutil.copy2(target_file, backup_path)
155
+ LOGGER.info(f"Backed up {target_file}")
156
+
157
+
158
+ def handle_regenerate_all(
159
+ regenerate_all: bool,
160
+ backup: bool,
161
+ dry_run: bool,
162
+ filter: str | None,
163
+ ) -> bool:
164
+ """
165
+ Handle regeneration of all generated resources.
166
+
167
+ Args:
168
+ regenerate_all: Whether to regenerate all resources
169
+ backup: Whether to create backups
170
+ dry_run: Whether this is a dry run
171
+ filter: Optional filter pattern for resource names
172
+
173
+ Returns:
174
+ True if regeneration was performed and main should exit, False to continue
175
+ """
176
+ if not regenerate_all:
177
+ return False
178
+
179
+ LOGGER.info("Starting batch regeneration of all generated resources...")
180
+
181
+ # Create backup if requested
182
+ backup_dir = None
183
+ if backup and not dry_run:
184
+ timestamp = datetime.now().strftime("%Y%m%d-%H%M%S")
185
+ backup_root = Path(".backups")
186
+ backup_root.mkdir(exist_ok=True)
187
+ backup_dir = backup_root / f"backup-{timestamp}"
188
+ backup_dir.mkdir(exist_ok=True)
189
+ LOGGER.info(f"Creating backup in {backup_dir}")
190
+
191
+ # Discover all generated resources
192
+ discovered = discover_generated_resources()
193
+ LOGGER.info(f"Found {len(discovered)} generated resources")
194
+
195
+ # Filter resources if pattern provided
196
+ if filter:
197
+ filtered = []
198
+ for resource in discovered:
199
+ if fnmatch.fnmatch(resource["kind"], filter):
200
+ filtered.append(resource)
201
+ discovered = filtered
202
+ LOGGER.info(f"Filtered to {len(discovered)} resources matching '{filter}'")
203
+
204
+ # Regenerate each resource
205
+ success_count = 0
206
+ error_count = 0
207
+
208
+ # Define function to process a single resource
209
+ def regenerate_single_resource(resource: dict[str, Any]) -> tuple[str, bool, str | None]:
210
+ """
211
+ Regenerate a single resource.
212
+
213
+ Returns:
214
+ Tuple of (resource_kind, success, error_message)
215
+ """
216
+ resource_kind = resource["kind"]
217
+ resource_file = resource["path"]
218
+
219
+ try:
220
+ LOGGER.info(f"Regenerating {resource_kind}...")
221
+
222
+ # Create backup of original file if requested
223
+ create_backup_if_needed(target_file=Path(resource_file), backup_dir=backup_dir)
224
+
225
+ # Regenerate the resource
226
+ result = class_generator(
227
+ kind=resource_kind,
228
+ overwrite=True, # Always overwrite in regenerate mode
229
+ dry_run=dry_run,
230
+ output_file=resource_file,
231
+ add_tests=False,
232
+ called_from_cli=False, # Don't prompt for missing resources during batch regeneration
233
+ )
234
+
235
+ # Check if generation was successful (empty list means failure)
236
+ if result:
237
+ if not dry_run:
238
+ LOGGER.info(f"Successfully regenerated {resource_kind}")
239
+ return resource_kind, True, None
240
+ else:
241
+ LOGGER.warning(f"Skipped {resource_kind}: Not found in schema mapping")
242
+ return resource_kind, False, "Not found in schema mapping"
243
+ except Exception as e:
244
+ LOGGER.error(f"Failed to regenerate {resource_kind}: {e}")
245
+ return resource_kind, False, str(e)
246
+
247
+ # Process resources in parallel
248
+ with ThreadPoolExecutor(max_workers=10) as executor:
249
+ # Submit all tasks
250
+ regeneration_futures = {
251
+ executor.submit(regenerate_single_resource, resource): resource for resource in discovered
252
+ }
253
+
254
+ # Process results as they complete
255
+ for future in as_completed(regeneration_futures):
256
+ resource_kind, success, error = future.result()
257
+ if success:
258
+ success_count += 1
259
+ else:
260
+ error_count += 1
261
+
262
+ # Print summary
263
+ if not dry_run:
264
+ LOGGER.info(f"\nRegeneration complete: {success_count} succeeded, {error_count} failed")
265
+ if backup_dir:
266
+ LOGGER.info(f"Backup files stored in: {backup_dir}")
267
+ else:
268
+ LOGGER.info(f"\nDry run complete: would regenerate {len(discovered)} resources")
269
+
270
+ return True
271
+
272
+
273
+ def handle_normal_kind_generation(
274
+ kind: str,
275
+ overwrite: bool,
276
+ output_file: str,
277
+ dry_run: bool,
278
+ add_tests: bool,
279
+ backup: bool,
280
+ ) -> None:
281
+ """
282
+ Handle normal kind generation with -k/--kind option.
283
+
284
+ Args:
285
+ kind: Comma-separated list of kinds to generate
286
+ overwrite: Whether to overwrite existing files
287
+ output_file: Optional output file path
288
+ dry_run: Whether this is a dry run
289
+ add_tests: Whether to add tests
290
+ backup: Whether to create backups
291
+ """
292
+ # Generate class files for specified kinds
293
+ kind_list: list[str] = kind.split(",")
294
+
295
+ # Create backup directory if backup is requested with overwrite
296
+ backup_dir = None
297
+ if backup and overwrite and not dry_run:
298
+ timestamp = datetime.now().strftime("%Y%m%d-%H%M%S")
299
+ backup_root = Path(".backups")
300
+ backup_root.mkdir(exist_ok=True)
301
+ backup_dir = backup_root / f"backup-{timestamp}"
302
+ backup_dir.mkdir(exist_ok=True)
303
+ LOGGER.info(f"Creating backup in {backup_dir}")
304
+
305
+ if len(kind_list) == 1:
306
+ # Single kind - run directly
307
+ # First get the output file path to check if it exists
308
+ if overwrite and backup_dir:
309
+ # Determine the output file path
310
+ if output_file:
311
+ target_file = Path(output_file)
312
+ else:
313
+ # Default output path based on kind
314
+ formatted_kind = convert_camel_case_to_snake_case(name=kind)
315
+ target_file = Path("ocp_resources") / f"{formatted_kind}.py"
316
+
317
+ # Create backup if file exists
318
+ create_backup_if_needed(target_file=target_file, backup_dir=backup_dir)
319
+
320
+ class_generator(
321
+ kind=kind,
322
+ overwrite=overwrite,
323
+ dry_run=dry_run,
324
+ output_file=output_file,
325
+ add_tests=add_tests,
326
+ )
327
+
328
+ if backup_dir and not dry_run:
329
+ LOGGER.info(f"Backup files stored in: {backup_dir}")
330
+ else:
331
+ # Multiple kinds - run in parallel
332
+ def generate_with_backup(kind_to_generate: str) -> list[str]:
333
+ """Generate a single kind with optional backup."""
334
+ if overwrite and backup_dir:
335
+ # Determine the output file path for this kind
336
+ formatted_kind = convert_camel_case_to_snake_case(name=kind_to_generate)
337
+ target_file = Path("ocp_resources") / f"{formatted_kind}.py"
338
+
339
+ # Create backup if file exists
340
+ create_backup_if_needed(target_file=target_file, backup_dir=backup_dir)
341
+
342
+ return class_generator(
343
+ kind=kind_to_generate,
344
+ overwrite=overwrite,
345
+ dry_run=dry_run,
346
+ output_file=output_file,
347
+ add_tests=add_tests,
348
+ )
349
+
350
+ futures: list[Future] = []
351
+ with ThreadPoolExecutor(max_workers=10) as executor:
352
+ for _kind in kind_list:
353
+ futures.append(executor.submit(generate_with_backup, _kind))
354
+
355
+ # Wait for all tasks to complete
356
+ for _ in as_completed(futures):
357
+ pass
358
+
359
+ if backup_dir and not dry_run:
360
+ LOGGER.info(f"Backup files stored in: {backup_dir}")
361
+
362
+
363
+ def handle_test_generation(add_tests: bool) -> None:
364
+ """
365
+ Handle test generation and execution.
366
+
367
+ Args:
368
+ add_tests: Whether to generate and run tests
369
+ """
370
+ if add_tests:
371
+ generate_class_generator_tests()
372
+
373
+ # Run the generated test file
374
+ LOGGER.info("Running generated tests...")
375
+ import os
376
+
377
+ test_file = "class_generator/tests/test_class_generator.py"
378
+ exit_code = os.system(f"uv run pytest {test_file}")
379
+
380
+ # os.system returns the exit status shifted left by 8 bits
381
+ if exit_code != 0:
382
+ LOGGER.error(f"Tests failed with exit code {exit_code >> 8}")
383
+
384
+
385
+ @cloup.command("Resource class generator", show_constraints=True)
386
+ @cloup.option(
387
+ "-k",
388
+ "--kind",
389
+ type=cloup.STRING,
390
+ help="""
391
+ \b
392
+ The Kind to generate the class for, Needs working cluster with admin privileges.
393
+ multiple kinds can be sent separated by comma (without spaces)
394
+ Example: -k Deployment,Pod,ConfigMap
395
+ """,
396
+ )
397
+ @cloup.option(
398
+ "-o",
399
+ "--output-file",
400
+ help="The full filename path to generate a python resource file. If not sent, resource kind will be used",
401
+ type=cloup.Path(),
402
+ )
403
+ @cloup.option(
404
+ "--overwrite",
405
+ is_flag=True,
406
+ help="Output file overwrite existing file if passed",
407
+ )
408
+ @cloup.option("--dry-run", is_flag=True, help="Run the script without writing to file")
409
+ @cloup.option(
410
+ "--add-tests",
411
+ help=f"Add a test to `test_class_generator.py` and test files to `{TESTS_MANIFESTS_DIR}` dir",
412
+ is_flag=True,
413
+ show_default=True,
414
+ )
415
+ @cloup.option(
416
+ "--update-schema",
417
+ help="Update kind schema files",
418
+ is_flag=True,
419
+ show_default=True,
420
+ )
421
+ @cloup.option(
422
+ "--discover-missing",
423
+ help="Discover resources in the cluster that don't have wrapper classes",
424
+ is_flag=True,
425
+ show_default=True,
426
+ )
427
+ @cloup.option(
428
+ "--coverage-report",
429
+ help="Generate a coverage report of implemented vs discovered resources",
430
+ is_flag=True,
431
+ show_default=True,
432
+ )
433
+ @cloup.option(
434
+ "--json",
435
+ "json_output",
436
+ help="Output reports in JSON format",
437
+ is_flag=True,
438
+ default=False,
439
+ show_default=True,
440
+ )
441
+ @cloup.option(
442
+ "--generate-missing",
443
+ help="Generate classes for all missing resources after discovery",
444
+ is_flag=True,
445
+ show_default=True,
446
+ )
447
+ @cloup.option(
448
+ "--regenerate-all",
449
+ help="Regenerate all existing generated resource classes with latest schemas",
450
+ is_flag=True,
451
+ show_default=True,
452
+ )
453
+ @cloup.option(
454
+ "--backup",
455
+ help="Create timestamped backup before regeneration or overwriting files",
456
+ is_flag=True,
457
+ show_default=True,
458
+ )
459
+ @cloup.option(
460
+ "--filter",
461
+ help="Filter resources to regenerate using glob pattern (e.g., 'Pod*', '*Service')",
462
+ type=cloup.STRING,
463
+ default=None,
464
+ )
465
+ @cloup.constraint(
466
+ If(IsSet("update_schema") & ~IsSet("generate_missing"), then=accept_none),
467
+ [
468
+ "kind",
469
+ "discover_missing",
470
+ "coverage_report",
471
+ "dry_run",
472
+ "overwrite",
473
+ "output_file",
474
+ "add_tests",
475
+ "regenerate_all",
476
+ ],
477
+ )
478
+ @cloup.constraint(
479
+ If(IsSet("backup"), then=require_one),
480
+ ["regenerate_all", "overwrite"],
481
+ )
482
+ @cloup.constraint(
483
+ If(IsSet("filter"), then=require_one),
484
+ ["regenerate_all"],
485
+ )
486
+ def main(
487
+ kind: str | None,
488
+ overwrite: bool,
489
+ output_file: str,
490
+ dry_run: bool,
491
+ add_tests: bool,
492
+ discover_missing: bool,
493
+ coverage_report: bool,
494
+ generate_missing: bool,
495
+ regenerate_all: bool,
496
+ backup: bool,
497
+ filter: str | None,
498
+ json_output: bool,
499
+ update_schema: bool,
500
+ ) -> None:
501
+ """Generate Python module for K8S resource."""
502
+ # Validate input parameters
503
+ validate_actions(
504
+ kind=kind,
505
+ update_schema=update_schema,
506
+ discover_missing=discover_missing,
507
+ coverage_report=coverage_report,
508
+ generate_missing=generate_missing,
509
+ regenerate_all=regenerate_all,
510
+ )
511
+
512
+ # Handle schema update
513
+ if not handle_schema_update(update_schema=update_schema, generate_missing=generate_missing):
514
+ return
515
+
516
+ # Handle coverage analysis and reporting
517
+ coverage_analysis = handle_coverage_analysis_and_reporting(
518
+ coverage_report=coverage_report,
519
+ discover_missing=discover_missing,
520
+ generate_missing=generate_missing,
521
+ json_output=json_output,
522
+ )
523
+
524
+ # Handle missing resources generation
525
+ handle_missing_resources_generation(
526
+ generate_missing=generate_missing,
527
+ coverage_analysis=coverage_analysis,
528
+ overwrite=overwrite,
529
+ dry_run=dry_run,
530
+ )
531
+
532
+ # Handle regenerate-all operation
533
+ if handle_regenerate_all(regenerate_all=regenerate_all, backup=backup, dry_run=dry_run, filter=filter):
534
+ return
535
+
536
+ # Exit if we only did discovery/report/generation
537
+ if discover_missing or coverage_report or generate_missing:
538
+ return
539
+
540
+ # Handle normal generation with -k/--kind option
541
+ if not kind:
542
+ LOGGER.error("No kind specified for generation")
543
+ return
544
+
545
+ # Handle normal kind generation
546
+ handle_normal_kind_generation(
547
+ kind=kind,
548
+ overwrite=overwrite,
549
+ output_file=output_file,
550
+ dry_run=dry_run,
551
+ add_tests=add_tests,
552
+ backup=backup,
553
+ )
554
+
555
+ # Handle test generation
556
+ handle_test_generation(add_tests=add_tests)
557
+
558
+
559
+ if __name__ == "__main__":
560
+ main()